Beiträge: 55
Themen: 20
Registriert seit: 16.01.2008
Hallo,
wo kann ich sehen, welche Gruppe welche ID hat?
Benötige die ID's für Zugangsrechte mit
Beiträge: 18.383
Themen: 257
Registriert seit: 09.02.2005
Schau per phpMyAdmin in die Datenbanktabelle usergroups oder in den Cache usergroups im Cache-Manager im Admin-CP.
Gruß,
Michael
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Beiträge: 55
Themen: 20
Registriert seit: 16.01.2008
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();
}
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
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.
Beiträge: 18.383
Themen: 257
Registriert seit: 09.02.2005
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();
}
Gruß,
Michael
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Beiträge: 1.450
Themen: 155
Registriert seit: 18.03.2006
06.03.2008, 09:02
(Dieser Beitrag wurde zuletzt bearbeitet: 06.03.2008, 09:07 von Jan.)
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();
}