MyBB.de Forum

Normale Version: Zugehörigkeit zu Benutzer-Gruppe (nicht die Hauptgruppe) ermitteln
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Bekannt ist ja, dass man mit $mybb->userinfo['usergroup'] die Hauptgruppe des Benutzers z.B. Registrierter, Moderator, Administrator herausfinden kann.
Wenn jetzt aber ein Benutzer mehreren Gruppen angehört, dann sollte es eine Funktion z.B. wie IsInGroup(uid) IsInArrayGroupID(uid) oder sowas ähnliches (gab es auch im alten vB schon) geben. Ich habe folglich danach gesucht auch hier im Forum, aber nichts dazu gefunden. Vielleicht kennt jemand von euch so eine Funktion?
Ich glaube eine fertige Funktion dafür gibt es nicht. Mit $mybb->user['additionalgroups'] bekommst du eine Liste der zusätzlichen Gruppen, mit Komma getrennt. Zusammen mit explode() und in_array() solltest du hinkommen.
Nein, eine solche Funktion gibt es nicht. Allerdings ist sie sehr einfach zu realisieren:
PHP-Code:
function is_in_group($gid)
{
    global 
$mybb;
    
    
$usergroups $mybb->user['usergroup'];
    if(
$mybb->user['additionalgroups'])
    {
        
$usergroups .= ",".$mybb->user['additionalgroups'];
    }
    
$usergroups explode(','$usergroups);
    
    if(
in_array($gid$usergroups))
    {
        return 
true;
    }
    
    return 
false;

Hmm, meine Funktion hätte wohl eher so ausgesehen ^^
PHP-Code:
function is_in_array($gid)
{
    global 
$mybb;
    if (
$mybb->user['usergroup'] == $gid)
        return 
true;
    else
        return 
in_array($gidexplode(','$mybb->user['additionalgroups']));

Vielen Dank an Mak, Michael und Zwoetzen, genau das hatte ich gesucht Big Grin