Archiv verlassen und diese Seite im Standarddesign anzeigen : forumpermissions aufschlüsseln
Weiss schon jemand, wie sich die forumpermissions aufdröseln ?
welche Zahl des 6stelligen "Zahlencodes" steht für was ?
und welche Zahl bedeutet was?
$bbuserinfo[forumpermissions] => Array
(
[1] => 131071
[2] => 131071
)
schau mal in includes/init.php da stehen am ende die ganzen bitwerte für die einzelnen permissions (und andere sache)
mh, das hilft mir leider nicht so sehr :(:(
Ich dachte die Zahlenreihe wird explodet und dann hat jede Zahl eine Bedeutung ?
Der 6 stellige Zahlencode steht für einen binären Wert. Mit einem Taschenrechner kannst das umrechnen. So steht 131071 z.B. für 11111111111111111. Hierbei repräsentiert jede Stelle genau eine Permission. 1 = an, 0 = aus, oder was auch immer.
ahjo, danke ! :)
vb3 nutzt decbin()
aber was fängt vb3 dann mit dieser Zahl an ?
zumal ich keine Zeile mit bindec() gefunden hab ?
Ok, ein kleines Beispiel:
Angenommen du möchtest 4 Permissions definieren.
Das funzt dann wie folgt:
define ('PERMa', 1); // entspricht 0001
define ('PERMb', 2); // entspricht 0010
define ('PERMc', 4); // entspricht 0100
define ('PERMd', 8); // entspricht 1000
Jetzt folgt ein kleiner Exkurs in Binärverknüpfung. Siehe hiezu auch: http://de.php.net/manual/de/print/language.operators.bitwise.php
Der Operator & gibt für jedes Bit genau dann 1 zurück, wenn an der jeweils gleichen Stelle 1 steht.
1101 & 0100 ergibt dann z.B. 0100. Und 0100 ist true.
Angenommen jemand besitzt die Permissions a, b und d. In diesem Fall wäre seine Binärzahl: 1011, was soviel wie 1 + 2 + 8 = 11 entspricht. Somit wäre seine Variable $myperm = 11.
Wenn du jetzt abprüfen willst, ob Permission c für den User gesetzt ist, dann erfolgt folgende Abfrage:
if ($myperm & PERMc)
{
...
Im vorliegenden Fall wird 1011 mit 0100 verknüpft, was 0000 ergibt, da an keiner Stelle die Bits übereinstimmen. Und 0000 ist false, somit keine Berechtigung.
DANKE !!!!!!!!!!! :)
das war ja nun mal aufschlussreich !
schade dass es hier noch kein Karma gibt ;)
vBulletin® v3.7.2, Copyright ©2000-2008, Jelsoft Enterprises Ltd.