private static function getRightListSub($rights, $setRights, $rid, $modul, $modul_name, $template, $RIGHT) { $str = ''; reset($rights); while (list($key, $val) = each($rights)) { if ($val['mr_parent_id'] == $rid && $val['mr_mod_id'] == $modul) { $tmp = self::getRightListSub($rights, $setRights, $val['mr_id'], $modul, $modul_name, $template, $RIGHT); if (!empty($setRights) && array_key_exists($val['mr_id'], $setRights)) { $checked = 'checked'; $value = $setRights[$val['mr_id']]; } else { $checked = ''; $value = 0; } page::assign("subright", $tmp); page::assign("right", $val['mr_name']); page::assign("right_id", $val['mr_id']); page::assign("checked", $checked); page::assign("value", $value); $pos = strpos($val['mr_name'], ' '); if ($pos) { $lang_id = substr($val['mr_name'], 0, $pos); $domain_id = substr($val['mr_name'], $pos + 1, strlen($val['mr_name']) - $pos); $domain = new domain($domain_id); $lang = new language($lang_id); page::assign("right_name", $domain->getName() . ' (' . $lang->getName() . ')'); } else { $right_name = isset($RIGHT[$modul_name][$val['mr_name']]) ? $RIGHT[$modul_name][$val['mr_name']] : $val['mr_name']; page::assign("right_name", $right_name); } $str .= page::parse($template); } } return $str; }