aso.. ich hatte gestern das mit den "Benutzergruppen" überlesen.
Bei Benutzergruppen müsstest du es etwas anders machen. Dazu könntest du die
Gruppenverwaltung zum Schutz .. benutzen.
Die Änderungen an profile_add_body.tpl/profile_view_body.tpl sind wie gehabt..
Code: Alles auswählen
<!-- BEGIN switch_certain_users -->
...
<!-- END switch_certain_users -->
..anstatt den beschriebenen Änderungen an usercp_viewprofile.php und usercp_register.php includest du vor
$template->pparse('body'); die
name.php (Datei kann umbenannt werden, muss dann aber auch im include-Befehl angepasst werden) aus dem oben genannten MOD..
..nun kopierst du noch eine etwas angepasste
name.php in den phpBB-Ordner. Angepasst deshalb, da du die Datei ja in eine andere einbindest. Speichere folgendes als
name.php ab..
Code: Alles auswählen
<?php
// 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 )
{
$template->assign_block_vars('switch_certain_users', array());
}
}
?>
..bei
//gruppe kannst du die GruppenID angeben (mit dem "g" davor). (s. info.txt des genannten MODs, wenn du mehrere Gruppen angeben willst)