Code:
if($mybb->user['usergroup'] != "x" || $mybb->user['additionalgroups'] != "x") {
error_no_permission();
}
Ich weiss allerdings nicht, ob das funktioniert, wenn der User in mehreren sekundären Gruppen ist - habs nicht getestet.
Oder man überprüft die primäre und sekundären Gruppen zusammen:
PHP-Code:
if (!is_member(X)) {
error_no_permission();
}
das kannte ich noch gar nicht, danke doylecc, wieder was gelernt
Meinen kleinen Fehler oben hat wohl noch keiner bemerkt.
Es müssen natürlich beide Bedingungen erfüllt sein, damit es korrekt funktioniert.
Richtiger wäre also:
Code:
if($mybb->user['usergroup'] != "x" && $mybb->user['additionalgroups'] != "x") {
error_no_permission();
}
@doylecc
Wie ist prinzipiell das "member" aus Deinem Code definiert? Ist das eine "Zusammenfassung" aus usergroup und additionalgroup?
Nächste Frage:
Ein Benutzer kann in mehreren additionalgroups sein. Daraus würde sich z.B. eine sekundäre Gruppenzuordnung von "1,2,4" ergeben. Wie geht eine if-Anweisung damit um? Werden da alle 3 Werte abgefragt?
dein Code war mir gestern komplett durchgerutscht, Schnapsnase
Aber die Lösung von doylecc ist wirklich super; das macht es doch sehr einfach und man muss nicht das additinalgroups-Array zerlegen um zu schauen, ob das entspricht
Danke an den Themenstarter, da lernen sogar wir "alten Hasen" noch wieder dazu
(15.10.2019, 08:33)bv64 schrieb: [ -> ]Aber die Lösung von doylecc ist wirklich super;
Wenn man solch eine bessere "Alternativlösung" denn kennt...
Ich hätte mir vorstellen können, dass Du sowas weißt.
ich bin noch nicht so ewig in der MyBB-Szene und wie mein Benutzerrang sagt "ewig Lernender", ich war 14 Jahre lang mit Woltlab unterwegs, früher auch dort als Free-Supporter
Die Lösung von doylecc hab ich jedenfalls direkt mal in meine Codeschnipsel-Sammlung gepackt
(15.10.2019, 09:39)bv64 schrieb: [ -> ]Die Lösung von doylecc hab ich jedenfalls direkt mal in meine Codeschnipsel-Sammlung gepackt
Na dann kann ich ja auf Dich zurückkommen, wenn ich`s vergessen habe - wird wohl morgen schon der Fall sein.