Ich hab das Problem gelöst, Datei
include\\includes\\function\\check_rights.php
Zeile 18:
if ( $v == 0 OR $v == $_SESSION[\'authright\'] OR isset ($_SESSION[\'authgrp\'][$v]) ) {
der mittlere Teil $v == $_SESSION[\'authright\'] ist das Problem, authright enthält normalerweise einen Wert von 0 - -5 (Gast - Admin) und durch das == wird es nur angezeigt wenn der User genau diesen Status hat (Gast oder wenn eingeloggt: User -1, Trial -2, Member -3, Leader -4 oder Admin -5). Als Leader will ich aber auch das können was ein Member kann, weil ich im Rang ja höher stehe
Daher muß mit $v >= authright gearbeitet werden, geht aber schief wenn $v für ne Gruppe steht, also größer als 0 ist. Daher empfehle ich die Zeile 18 gegen diese auszutauschen:
if ( $v == 0 OR ( $v <= 0 AND $v >= $_SESSION[\'authright\'] ) OR isset ($_SESSION[\'authgrp\'][$v]) ) {
Damit funktioniert es wie gewünscht, ich habe es mit mehreren Testszenarien auch getestet, funzt
Edit: Also das bezieht sich jetzt blos darauf daß z.B. ein Leader nicht das Forum lesen kann was auf Member gesetzt ist. Das Problem daß unregistrierte User auch Amdinforen lesen können ist mir nicht begegnet, kein Plan woran das liegen könnte.
Zuletzt geändert von alex am 17.02.2005 - 09:34