Stimmt, dafür war die function auch nicht gedacht.
Hier die neue Funktion:
Code: Alles auswählen
function get_group_auth($access_group = 5, $user_id = false)
{
global $db, $user;
if ($user_id == false)
{
// Wurde keine $user_id übergeben, benutze den User, der diese Funktion aufgerufen hat.
$user_id = $user->data['user_id'];
}
$access_group = (int)$access_group;
$user_id = (int)$user_id;
$sql = 'SELECT g.group_id
FROM ' . GROUPS_TABLE . ' g, ' . USER_GROUP_TABLE . ' ug
WHERE g.group_id = ug.group_id
AND ug.user_id = ' . $db->sql_escape($user_id) . '
AND ug.user_pending <> ' . TRUE . '
AND g.group_id = ' . $db->sql_escape($access_group);
$result = $db->sql_query($sql);
$check_group_auth = $db->sql_affectedrows($result);
$db->sql_freeresult($result);
if ( $check_group_auth <> 0 )
{
return TRUE;
}
return FALSE;
}
Nun kann man auf 2 verschiedene Wege die Funktion aufrufen:
1. Variante:
Prüfen ob der User, der die Seite aufgerufen hat, in der Gruppe ist:
Code: Alles auswählen
// Die folgende Zahl ist die ID der Gruppe die Ihr prüfen möchtet
$check_group = 10;
// Ist der User, der diese PHP Datei aufgerufen hat, in der Gruppe mit der o.g. ID ??
$is_in_group = get_group_auth($check_group);
2. Variante:
Prüfen ob ein bestimmter User in einer bestimmten Gruppe ist:
Code: Alles auswählen
// Die folgende Zahl ist die ID der Gruppe die Ihr prüfen möchtet
$check_group = 10;
// Die folgende $check_user_id ist die zu überprüfende $user_id
$check_user_id = 2;
// Ist der angegebene User in der Gruppe mit der o.g. ID ??
$is_in_group = get_group_auth($check_group, $check_user_id);
Bei der 2. Variante ist zubeachten, das Ihr die zu überprüfende User_Id auch richtig füllt.
Je nach Script ist ja eine andere Variable mit der zu überprüfenden User_ID gefüllt...
Beispiel:
Die Variable
$is_in_group beinhaltet nach Aufruf der Funktion entweder TRUE oder FALSE und kann dann weiter verwertet werden.