MyBB.de Forum

Normale Version: Gruppen ID
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

wo kann ich sehen, welche Gruppe welche ID hat?
Benötige die ID's für Zugangsrechte mit
PHP-Code:
'usergroup'] != "4" 
Schau per phpMyAdmin in die Datenbanktabelle usergroups oder in den Cache usergroups im Cache-Manager im Admin-CP.
danke.

und wie kann ich hier mehrer gruppen ausschließen?
ich haben 4 gruppen von denen nur 2 zugriff haben sollen:
PHP-Code:
if($mybb->user['uid'] == 0)
{
    
nopermission();

Ich hoffe, ich schreibe jetzt das Richtige:

PHP-Code:
if($mybb->usergroup['gid'] == X1 OR $mybb->usergroup['gid'] == X2)
{
    
nopermission();


Damit kannst Du die Gruppen "X1" und "X2" ausschließen. Du musst nur die korrekten Nummern eintragen.
Der Code würde zu einer Fehlermeldung führen, da es die Funktion nopermission nicht mehr gibt. So sollte es funktionieren:
PHP-Code:
if($mybb->user['usergroup'] == "x" || $mybb->user['usergroup'] == "y")
{
    
error_no_permission();

Aber Achtung!

So haben nur die Zugang, die diese Gruppe als primäre Gruppe haben. Haben die User eine der Gruppen als Sekundäre und die andere nicht als primäre, bekommen sie keinen Zugang.

Folgenden Code hab ich irgendwie mal bekommen und selber noch zusammen gestückelt. Kannst ihn für dich ja zurecht biegen.

Wenn es dir gefällt, einfach mal hier dafür abstimmen:
http://ideas.mybboard.net/idea/function-...f-the-user

PHP-Code:
/**
* checks if the user is in one of the allowed usergroups
* @param $PARAM_allowed the allowed usergroups; seperated with ","(COMMA) f.e. 4,10,2
* @return boolean true if user is in one of the groups
*/
function check_user($PARAM_allowed '')
//Standardparameter werden angegeben, um jeden Fehlaufruf abzufangen
{
    
//Definieren, das das Objekt $mybb global schon besteht
    
global $mybb;

    
// Setzte $access auf false
    
$access false;

    
// Erstellen eines arrays aus allen übergebenen Usergruppen
    
$allowed_array explode(','$PARAM_allowed);

    
// Holen der sekundären Benutzergruppen des Users
    
$additional_str $mybb->user['additionalgroups'];

    
// Erstellen eines arrays aus allen sekundären Benutzergruppen des Users
    
$additional_array explode(','$additional_str);

    
// Prüfen ob der User angemeldet ist
    
if ($mybb->user['uid'] != '0')
    {
        
// Prüfen ob die sekündären Benutzergruppen in einem array sind
        
if (is_array($additional_array))
        {
            
// Führe das folgende für jede sekündären Benutzergruppe aus
            
foreach ($additional_array as $addtionalgroup)
            {
                
// Prüfen ob die erlaubten Benutzergruppen in einem array sind
                
if (is_array($allowed_array))
                {
                    
// Führe das folgende für jede erlaubten Benutzergruppe aus
                    
foreach ($allowed_array as $allow)
                    {
                        
// Ist die zusätzliche Benutzergruppe eine erlaubte Benutzergruppe
                        // ODER
                        // Ist die primäre Benutzergruppe eine erlaubte Benutzergruppe
                        
if (($addtionalgroup == $allow) || ($mybb->user['usergroup'] == $allow))
                        {
                            
// Setzte $access auf true
                            
$access true;
                        }
                    }
                }
            }
        }
    }
    
// Gibt die Erlaubnis zurück
    
return $access;


Aufrufen, bzw prüfen kannst du dass dann so:
x und y ersetzt du natürlich durch die IDs der erlaubten Benutzergruppen
PHP-Code:
if(!check_user(x,y))
{
    
error_no_permission();