Die Zugriffssteuerung aus der add_field mod ermöglicht ja das Ein-/Ausblenden von Informationen.
Dazu wird folgender Mod in die *.php vor den pparse Befehl geschrieben:
Code: Alles auswählen
// Zugriff Steuerung nur für MODs sichtbar!
if( $userdata['user_level'] == (ADMIN OR MOD) )
{
$template->assign_block_vars('switch_certain_users', array() );
}
// End Zugriff
$template->pparse('body');
in der *.tpl kann man dann mit den Switches
<!-- BEGIN switch_certain_users --> und
<!-- END switch_certain_users --> einen Bereich nur für Moderatoren/Admins (wie hier im Beispiel) sichtbar machen. Anders gesagt für ander User wird dieser Bereich unsichtbar!
Wenn ich dieses Snipped nun auf die Gruppen-Auswahl anwenden möchte, laufe ich auf Grund und bin ratlos...
Ich will nur den Admins und Moderatoren, die Gruppen-Informationen, von denen Sie kein Mitglied sind, zugänglich machen. Jedes normale Mitglied darf nur die Gruppen-Infos der eigenen Gruppe einsehen.
Dazu habe ich in der groupcp.php am Ende folgendes (Zugriffssteuerung) hinzugefügt:
Code: Alles auswählen
...
// Zugriff Steuerung nur für MODs sichtbar!
if( $userdata['user_level'] == (ADMIN OR MOD) )
{
$template->assign_block_vars('switch_certain_users', array() );
}
// End Zugriff
$template->pparse('user');
}
else
{
message_die(GENERAL_MESSAGE, $lang['No_groups_exist']);
}
}
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
Dementsprechend habe ich die groupcp_user_body.tpl geändert um die Auswahlbox mit den Gruppen ohne eigene Mitgliedschaft entsprechend auszublenden:
Code: Alles auswählen
...
<table width="100%" cellpadding="4" cellspacing="1" border="0" class="forumline">
<!-- BEGIN switch_groups_joined -->
<tr>
<th colspan="2" align="center" class="thHead" height="25">{L_GROUP_MEMBERSHIP_DETAILS}</th>
</tr>
<!-- BEGIN switch_groups_member -->
<tr>
<td class="row1"><span class="gen">{L_YOU_BELONG_GROUPS}</span></td>
<td class="row2" align="right">
<table width="90%" cellspacing="0" cellpadding="0" border="0">
<tr><form method="get" action="{S_USERGROUP_ACTION}">
<td width="40%"><span class="gensmall">{GROUP_MEMBER_SELECT}</span></td>
<td align="center" width="30%">
<input type="submit" value="{L_VIEW_INFORMATION}" class="liteoption" />{S_HIDDEN_FIELDS}
</td>
</form></tr>
</table>
</td>
</tr>
<!-- END switch_groups_member -->
<!-- END switch_groups_joined -->
<!-- BEGIN switch_groups_remaining -->
<!-- BEGIN switch_certain_users -->
<tr>
<th colspan="2" align="center" class="thHead" height="25">{L_JOIN_A_GROUP}</th>
</tr>
<tr>
<td class="row1"><span class="gen">{L_SELECT_A_GROUP}</span></td>
<td class="row2" align="right">
<table width="90%" cellspacing="0" cellpadding="0" border="0">
<tr><form method="get" action="{S_USERGROUP_ACTION}">
<td width="40%"><span class="gensmall">{GROUP_LIST_SELECT}</span></td>
<td align="center" width="30%">
<input type="submit" value="{L_VIEW_INFORMATION}" class="liteoption" />{S_HIDDEN_FIELDS}
</td>
</form></tr>
</table>
</td>
</tr>
<!-- END switch_certain_users -->
<!-- END switch_groups_remaining -->
</table>
...
Ergebnis ist allerdings, dass selbst Administratoren und Moderatoren die Auswahlbox ohne eigene Mitgliedschaften nicht sehen können?!
Wer kann mir sagen wo der Haken ist???