phpBB.de - Die deutsche phpBB-Community
Stand: 30.12.2008 04:56
aktuelle Version auf phpBB.de
 
Apache At Work Communities Community Building Informationen und Hinweise Installation/Konfiguration/Update MySQL PHP phpBB-Optimierungen phpBB3 Rechtliches Server & Technik Snippets Templates und Mods
 



Knowledge Base Offline -> At Work -> Snippets -> Nur für bestimmte Gruppen anzeigen

Nur für bestimmte Gruppen anzeigen
Autor: saerdnaer
Stand: 30.12.2008 04:56
Neuste Version unter: http://www.phpbb.de/doku/kb/best_gruppen

Nur für bestimmte Gruppen anzeigen

Manche Bereiche soll nicht jeder sehen dürfen. Das folgende Snippet ermöglicht, beliebige Ausgaben nur für bestimmte Gruppen anzuzeigen.
phpBB Version: 2.0.x

Code:
#
#-----[ Öffne ]------------------------------------------
#
includes/functions.php
#
#-----[ Finde ]------------------------------------------
#
?>
#
#-----[ Füge davor ein ]-------------------------------------------
#
function member_of($group_id, &$userdata)
{
        global $db;
        if ( !$userdata['session_logged_in'] )
        {
                return false;
        }
        if ( isset($userdata['user_member_of_' . $group_id]) )
        {
                return $userdata['user_member_of_' . $group_id];
        }
        $sql = "SELECT count(*) AS num FROM " . USER_GROUP_TABLE . "
                WHERE user_id = '" . $userdata['user_id'] . "' AND user_pending = 0 AND group_id IN ( " . $group_id . " )";
          if ( !($result = $db->sql_query($sql)) )
        {
                message_die(GENERAL_ERROR, 'Could not get group auth', '', __LINE__, __FILE__, $sql);
        }
        $row = $db->sql_fetchrow($result);
        if ( $row['num'] > 0 )
        {
                return $userdata['user_member_of_' . $group_id] = true;
        }
        return $userdata['user_member_of_' . $group_id] = false;
}
#
#-----[ Öffne ]------------------------------------------
#
includes/page_header.php
#
#-----[ Finde ]------------------------------------------
#
        if ( !empty($userdata['user_popup_pm']) )
        {
                $template->assign_block_vars('switch_enable_pm_popup', array());
        }
#
#-----[ Füge danach ein ]-------------------------------------------
#
        if ( member_of('123', $userdata) )
        {
                $template->assign_block_vars('switch_usergroup_123', array());
        }

wobei 123 jeweils die Gruppen ID ist. Mehrere Gruppen können mit einem Komma getrennt eingegeben werden.
Anschließend den entsprechenden Teil in der Template Datei mit folgendem Schalter umschließen:
Code:
<!-- BEGIN switch_usergroup_123 -->
Hier der Code der nur für die Gruppe sichtbar sein soll.
<!-- END switch_usergroup_123 -->



Knowledge Base Offline -> At Work -> Snippets -> Nur für bestimmte Gruppen anzeigen