Hallo Rembrandt,
Danke für die schnelle Reaktion.
Mein Hauptproblem ist aber, dass die Moderatoren nur in der Hauptkategorie neue Kategorien anlegen können und nicht noch eine Ebene tiefer.
Leider werden die Rechte einer Hauptkategorie auch nicht an die Unterkategorie vererbt.
Der Admin muss deshalb trotzdem immer wieder jeden Nutzer anfassen und ihm entsprechende Rechte zuordnen.
In einer kleinen Nutzergruppe ist das wohl kein großes Problem, aber mit jedem Nutzer und einer großen Kategoriebreite wird das aufwändig.
Ich habe in nicht so viel Ahnung von PHP, aber ich habe in der categories_moderator.php in den Zeilen 280 bis 316 eine Auskommentierung gefunden, die ich nicht verstehe, weil Teile weiterhin als aktiv angezeigt werden:
function get_cat_order_dropdown($parent_id = 0, $cat_order = 0) {
global $cat_cache, $cat_parent_cache, $lang, $HTTP_POST_VARS;
$category_list = "
<script language=\"JavaScript\" type=\"text/JavaScript\">
<!--
var group = new Array();
";
foreach ($cat_parent_cache as $key => $val) {
$i = 0;
$category_list .= "group[".$key."] = new Array();\n";
$category_list .= "group[".$key."][".$i++."] = new Option(\"".$lang['at_beginning']."\", \"5\");\n";
$category_list .= "group[".$key."][".$i++."] = new Option(\"".$lang['at_end']."\", \"0\");\n";
foreach ($val as $val2) {
$category_list .= "group[".$key."][".$i++."] = new Option(\"".$lang['after']." ".format_text($cat_cache[$val2]['cat_name'], 2)."\", \"".($cat_cache[$val2]['cat_order'] + 5)."\");\n";
}
$category_list .= "\n";
}
$category_list .= "
function update_order_select(x) {
for (i = document.cat_form.cat_order.length - 1; i > 0; i--) {
document.cat_form.cat_order.options = null;
}
if (!group
return;
}
for (i = 0; i < group
document.cat_form.cat_order.options = new Option(group- .text, group
}
document.cat_form.cat_order.options[0].selected = true;
}
//-->
</script>
";
Die Zeilen 288 bis 299 erscheinen in meinem Editor (Notepad++) aktiv.
foreach ($cat_parent_cache as $key => $val) {
$i = 0;
$category_list .= "group[".$key."] = new Array();\n";
$category_list .= "group[".$key."][".$i++."] = new Option(\"".$lang['at_beginning']."\", \"5\");\n";
$category_list .= "group[".$key."][".$i++."] = new Option(\"".$lang['at_end']."\", \"0\");\n";
foreach ($val as $val2) {
$category_list .= "group[".$key."][".$i++."] = new Option(\"".$lang['after']." ".format_text($cat_cache[$val2]['cat_name'], 2)."\", \"".($cat_cache[$val2]['cat_order'] + 5)."\");\n";
}
$category_list .= "\n";
}
$category_list .= "
Ist das richtig?
Dieter