Seite 1 von 2
Abfrage der Gruppenzugehörigkeit
Verfasst: 12.04.2005 20:37
von race
Sorry das ich so dumm Frage aber dieser Mod
http://www.phpbb.de/moddb/group_access
ist doch dass nur Mitglieder einer Gruppe bestimmte foren sehen dürfen z.B. VIP Bereich oder so !???
Wenn ja hab ich leider keinen Plan was ich hier machen muss !
Code: Alles auswählen
$phpbb_root_path = './'; muss entsprechend angepasst werden
Vor include($phpbb_root_path . 'includes/page_tail.'.$phpEx); kommt der Inhalt der Website
$allowed_u[] = 'g3'; //gruppe ist ein Array mit den Gruppen. Für mehrere Gruppen einfach
$allowed_u[] = 'g3'; //gruppe
$allowed_u[] = 'g4'; //gruppe
usw.
Könnte mir da jemand helfen ??
Dabei war auch noch eine name.php Datei !!
Verfasst: 12.04.2005 21:59
von Dave
Hi
in der name.php hast du ein beispiel für den aufbau der Seite. Dort ist auch die ganze Abfrage für den access usw.
dort steht dann welche gruppe zugang haben darf.
z.B.
Dort hätten die Gruppen mit id 1 2 oder 3 zugang.
Wie du die Gruppen nummer raus bekommst weißt du?
Verfasst: 12.04.2005 22:30
von race
nee kann damit leider gar nichts anfangen !!
hab ja schon viele mods eingebaut aber mit dem komm ich net klar !!
So sieht die name.php aus !!
Code: Alles auswählen
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
// User die zugriff haben: es sind gruppen_ids, gruppennamen und user_ids erlaubt wobei bei den gruppen namen und ids ein g am anfang angehängt werden muss.
$allowed_u = array();
$allowed_u[] = 'g3'; //gruppe
$access_allowed = false;
if( in_array($userdata['user_id'],$allowed_u))
{
$access_allowed = true;
}
else
{
$sql = "SELECT g.group_id, g.group_name
FROM " . USER_GROUP_TABLE . " ug, " . GROUPS_TABLE . " g
WHERE ug.user_id = '" . $userdata['user_id'] . "'
AND g.group_id = ug.group_id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not get user group.', '', __LINE__, __FILE__, $sql);
}
$access_allowed = false;
while( list($group_id, $group_name) = $db->sql_fetchrow($result) )
{
if( in_array('g' . $group_id[group_id],$allowed_u ))
{
$access_allowed = true;
break;
}
if( in_array('g' . $group_name[group_name],$allowed_u))
{
$access_allowed = true;
break;
}
}
if( !$access_allowed )
{
message_die(GENERAL_MESSAGE, 'Sie haben keinen Zugriff auf diese Seite.');
}
}
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
Verfasst: 12.04.2005 23:47
von Dave
Um die Gruppen Nummer rauszufinden
Benutzergruppen -> Gruppe auswählen ->
http://www.phpbb.de/groupcp.php?g=6278 das rote wäre dann die id der gruppe

die mußt du dann in $allowed_u[] = ''; eintragen. Denk daran die einzelnen Gruppen ids durch kommata zu trennen.
MfG
Dave
Verfasst: 13.04.2005 11:19
von race
Ja aber wo muss ich das eintragen ??
Denn es sind ja nur 2 Bereiche bei denen ich will dass nur bestimmte gruppen reindürfen !!
Verfasst: 13.04.2005 12:23
von Dave
Du meinst doch jetzt nicht Foren oder?
KB:59
Verfasst: 13.04.2005 13:11
von race
genau das war was ich gesucht habe *g*
Verfasst: 15.12.2005 14:48
von Christian Sterner
Ich hab ein ähnliches Problem und möchte deshalb diesen Thread hier nochmal aufgreifen.
Wenn ich die Berechtigungen über die Userids vergebe, funktioniert es einwandfrei. Aber mit den GruppenIds klappt es nicht. ich hab die entsprechenden GruppenIDs eingetragen (also g5, g6 etc pp) dennoch bekommt die Gruppe keinen Zugriff. Ich hab mir auch schonmal das Ergebnis der SQL Abfrage ausgeben lassen. Die war leider leer.
Was mach ich da noch falsch?
Viele Grüße
Christian Sterner
Verfasst: 31.12.2005 03:56
von Klickli
habe das gleiche Problem, wie mein Vorredner
wäre nett, wenn jemand helfen könnte
nutze die aktuelle Version 2.0.19
Verfasst: 14.01.2006 23:33
von Sir of Silence
ich schliße mich hier mal an ...
versteh ich den hack richtig??
das was in der name.php steht in die php datei die nur für die freigegebenen Gruppen gedacht ist????
Gruß Silence