Mailinglisten-Archive |
Hallo Lutz,
>> $Modul = Pruefe_Modul('fibu');
>> /* ^ Liefert bei true 'fibu', sonst 0 */
>
> $Modul enthaelt hier aber noch den richtigen Wert?
$Modul = Pruefe_Modul('fibu'); // gibt 'fibu' zurück
$Funktion = $Pruefe_Funktion('zudd_erfassen', $Modul); // sollte
'zudd_erfassen' zurück geben
Rein vom Ablauf her sind die Funktionen richtig. $Modul erhält den
richtigen Wert('fibu') zurück und schaut dann in Pruefe_Funktion() eben
nur nach den Berechtigungen von $_SESSION['cl_Rechte']['fibu'].
> Hast Du Dir den Inhalt von $Rechte nach dieser Operation an dieser
> Stelle
> ausgeben lassen (z.B. print_r($Rechte))? Ist hier noch alles ok?
Hier mal zwei print_r($Rechte), das erste von User 'Vertrieb',das
zweite für 'Fibu':
Array([vertrieb] => Array([0] => reklamation [1] => schritt 1))
Array([fibu] => Array([0] => zudd [1] => zudd_erfasssen))
> D.h. es geht eigentlich nicht darum, dass $Funk leer bleibt, sondern
> $Value bzw. dass $Value an dieser Stelle einen falschen Wert
> enthaelt.
Jawohl! Habe das nächste mal um ein paar Zeilen erweitert:
>> if (!empty($Rechte[$Modul])) {
print_r($Rechte[$Modul]));
>> foreach($Rechte[$Modul] as $Value) {
echo $Value.' : '.strtolower($Funktion);
>> if ($Value == strtolower($Funktion) || $Value == "all")
>> $Funk = $Funktion;
>> }
>> }
Und raus kommt das:
Array ( [0] => zudd [1] => zudd_erfasssen )
zudd : zudd_erfassen
zudd_erfasssen : zudd_erfassen
$_SESSION['Rechte']['all'] ist nciht vorhanden, da dieses nur für mich
und/oder ROOT ist.
Und nun? Ist guter Rat teuer?
--
Mit freundlichen Grüßen / Kind regards
Steffen Kother
php::bar PHP Wiki - Listenarchive