mir fiel gerade aus, das nachträglich angelegte User mit manueller Category-Zuweisung
a) eine andere Category-Sortierung als der Admin bekommen und
b) trotz Recht publishCategory[] keine Categorien on/offline etc. schalten dürfen.
Mglw. ist das ein Feature, aber falls das jemand anders haben will:
Für a):
ca. Zeile 270 in structure.inc.php:
Die if/else-Abfrage auskommentieren und nur letzteren DBQuery schicken:
- Code: Alles auswählen
$KAT->setQuery('SELECT * FROM '.$REX['TABLE_PREFIX'].'article WHERE re_id='. $category_id .' AND startpage=1 AND clang='. $clang .' ORDER BY catprior');
Für b):
ca. Zeile 332 in structure.inc.php:
- Code: Alles auswählen
if ($KATPERM)
ändern nach:
- Code: Alles auswählen
if ($KATPERM || $REX['USER']->hasPerm('csw['. $i_category_id .']'))
Da $KATPERM offensichtlich immer FALSE ist, wenn man kein Admin ist
(csw[0] ist nicht gesetzt).
und in der Zeile darunter statt:
- Code: Alles auswählen
if ($REX['USER']->isAdmin() || $KATPERM && $REX['USER']->hasPerm('publishCategory[]'))
ebenfalls so abändern
- Code: Alles auswählen
if ($REX['USER']->isAdmin() || ($KATPERM || $REX['USER']->hasPerm('csw['. $i_category_id .']')) && $REX['USER']->hasPerm('publishCategory[]'))
Und für die Status-Änderung zusätzlich ca. bei Zeile 80:
- Code: Alles auswählen
} elseif ( $function == 'status' && $edit_id != '' && ($REX['USER']->isAdmin() || $KATPERM)
&& $REX['USER']->hasPerm('publishArticle[]') ) {
das hasPerm() mitreinfummeln:
- Code: Alles auswählen
} elseif ( $function == 'status' && $edit_id != ''
&& ($REX['USER']->isAdmin() || ($KATPERM || $REX['USER']->hasPerm('csw['. $edit_id .']')) )
&& $REX['USER']->hasPerm('publishArticle[]') ) {
Alles natürlich ohne Gewähr - k.A. obs dadurch an anderer Stelle scheppert.
Viele Grüße
Marshall

