Seite 1 von 1

Snippet: Nur für bestimmte Gruppen

Verfasst: 13.09.2005 23:01
von graphix
Sorry folks, wenn ich den ganzen Thread hier nochmal quote ... Das Snippet ist soweit genial, so lange ich es nur im Header einsetze. Ich möchte aber auf die Art gerne z.B. die Anzeige des Avatars (viewtopic_body.tpl) von der Gruppe abhängig machen. Irgendwie funzt das aber nicht.

Was mache ich falsch??? Hilffeee bitte!!

Author: Saerdnaer
Beschreibung: Mit diesem Snippet kann man Bereiche nur für bestimmte Gruppen anzeigen.
phpBB Version: 2.0.x

Code: Alles auswählen

# 
#-----[ Ö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: Alles auswählen

<!-- BEGIN switch_usergroup_123 --> 
Hier der Code der nur für die Gruppe sichtbar sein soll. 
<!-- END switch_usergroup_123 --> 

Verfasst: 14.09.2005 02:20
von graphix
Niemand eine Idee?

Sorry, wenn ich nerve, aber ich hänge hier total und komme nicht weiter ...