MyBB.de Forum
Anzeige gruppenabhängig - nur wie? - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Theme-Diskussionen (https://www.mybb.de/forum/forum-84.html)
+--- Thema: Anzeige gruppenabhängig - nur wie? (/thread-3609.html)



Anzeige gruppenabhängig - nur wie? - ETESTS - 22.10.2006

Hallo,

bin es vom wBB gewohnt, dass man über diverse if-then-else-Abfragen die Anzeige von Grafiken steuern kann. Wie schaut das beim MyBB aus? Möchte je anch Gruppe (Gast, Registriert, Admin) unterm Header eine etwas andere Navi anzeigen, wie stell ich das am besten an. Wink

Greetz & THX
ETESTS


RE: Anzeige gruppenabhängig - nur wie? - Garlant - 22.10.2006

Hallo ETESTS,
Das kannst du in der global.php mit ein "bisschen" php Code machen. Dabei hängt das bisschen je nachdem vom Umfang ab.
Hier eine Rohschablone wie du so etwas machen könntest:

PHP-Code:
if ($mybb->user['uid'] != '0')
{
    
// User ist kein Gast, aber wir wissen noch keine Usergruppe
    
$str "$mybb->user['additionalgroups']";
    
$array explode(','$str);
    foreach (
$array as $addtionalgroup)
    {
        if (
$mybb->user['usergroup'] == '4' || $addtionalgroup == '4')
        {
            
# User ist ein Admin
            
eval("\$adminnavi =\"".$tempalte->get("headernavigation_admin")."\";");
        }
        else
        {
            
# User ist ein normaler User
            
$adminnavi '';
            eval(
"\$usernavi =\"".$tempalte->get("headernavigation_user")."\";");
        }
    }
}
else
{
    
// User ist ein Gast und schon in einer Usergruppe
    
$adminnavi '';
    
$usernavi '';
    eval(
"\$guestnavi =\"".$tempalte->get("headernavigation_guest")."\";");

Jetzt kannst du dir Beispielsweiße Tempaltes erstellen. Die Maske ist beliebig erweiterbar, auch wenn es jetzt vielleicht etwas nach Wirrwarr aussieht. Getestet ist das ganze allerdings nicht.


RE: Anzeige gruppenabhängig - nur wie? - ETESTS - 23.10.2006

Wie gut, dass ich nur noch 2 zusätzliche Gruppen zu den Standardgruppen habe. *g*

Danke - werde es mal versuchen. Smile

Im wBB wars so:
PHP-Code:
<if($wbbuserdata['userid'])><then><if(!$wbbuserdata['a_acp_or_mcp'])><then><img src="{$style['imagefolder']}/top_left_user.gif" border="0" alt="" title="" /></then></if><a href="usercp.php?sid=$session[hash]"><img src="{$style['imagefolder']}/top_usercp.gif" border="0" alt="{$lang->items['LANG_GLOBAL_USERCP']}title="{$lang->items['LANG_GLOBAL_USERCP']}/></a><if($wbbuserdata['receivepm']==1)><then><a href="pms.php?sid=$session[hash]"><img src="{$style['imagefolder']}/top_pms.gif" border="0" alt="{$lang->items['LANG_GLOBAL_PMS']}title="{$lang->items['LANG_GLOBAL_PMS']}/></a></then></if></then><else><img src="{$style['imagefolder']}/top_left.gif" border="0" alt="" title="" /><a href="register.php?sid=$session[hash]"><img src="{$style['imagefolder']}/top_register.gif" border="0" alt="{$lang->items['LANG_GLOBAL_REGISTER']}title="{$lang->items['LANG_GLOBAL_REGISTER']}/></a></else></if><a href="../page/"><img src="{$style['imagefolder']}/top_website.gif" border="0" alt="Zur Website" title="Zur Website" /></a><a href="calendar.php?sid=$session[hash]"><img src="{$style['imagefolder']}/top_calendar.gif" border="0" alt="{$lang->items['LANG_GLOBAL_CALENDAR']}title="{$lang->items['LANG_GLOBAL_CALENDAR']}/></a><a href="memberslist.php?sid=$session[hash]"><img src="{$style['imagefolder']}/top_members.gif" border="0" alt="{$lang->items['LANG_GLOBAL_MEMBERSLIST']}title="{$lang->items['LANG_GLOBAL_MEMBERSLIST']}/></a><a href="team.php?sid=$session[hash]"><img src="{$style['imagefolder']}/top_team.gif" border="0" alt="{$lang->items['LANG_GLOBAL_TEAM']}title="{$lang->items['LANG_GLOBAL_TEAM']}/></a><a href="search.php?sid=$session[hash]"><img src="{$style['imagefolder']}/top_search.gif" border="0" alt="{$lang->items['LANG_GLOBAL_SEARCH']}title="{$lang->items['LANG_GLOBAL_SEARCH']}/></a><a href="misc.php?action=faq&amp;sid=$session[hash]"><img src="{$style['imagefolder']}/top_faq.gif" border="0" alt="{$lang->items['LANG_GLOBAL_FAQ']}title="{$lang->items['LANG_GLOBAL_FAQ']}/></a><if($wbbuserdata['a_can_use_acp']==&& $wbbuserdata['a_acp_or_mcp']==1)><then><a href="acp/index.php" target="_blank"><img src="{$style['imagefolder']}/top_acp.gif" border="0" alt="{$lang->items['LANG_GLOBAL_ACP']}title="{$lang->items['LANG_GLOBAL_ACP']}/></a></then></if><if($wbbuserdata['a_can_use_acp']==&& $wbbuserdata['a_acp_or_mcp']==0)><then><a href="acp/index.php" target="_blank"><img src="{$style['imagefolder']}/top_modcp.gif" border="0" alt="{$lang->items['LANG_GLOBAL_MODCP']}title="{$lang->items['LANG_GLOBAL_MODCP']}/></a></then></if><a href="index.php?sid=$session[hash]"><img src="{$style['imagefolder']}/top_start.gif" border="0" alt="{$lang->items['LANG_GLOBAL_TOINDEX']}title="{$lang->items['LANG_GLOBAL_TOINDEX']}/></a><if(!$wbbuserdata['userid'])><then><img src="{$style['imagefolder']}/top_right.gif" border="0" alt="" title="" /></then></if><if($wbbuserdata['userid'])><then><if(!$wbbuserdata['a_acp_or_mcp'])><then><img src="{$style['imagefolder']}/top_right_user.gif" border="0" alt="" title="" /></then></if></then></if> 



RE: Anzeige gruppenabhängig - nur wie? - ETESTS - 14.01.2007

Hab deinen Code so umgesetzt:
PHP-Code:
eval("\$htmldoctype = \"".$templates->get("htmldoctype"10)."\";");
//Abfrage für die TopNavi
if ($mybb->user['uid'] != '0')
{
    
// User ist kein Gast, aber wir wissen noch keine Usergruppe
    
$str "$mybb->user['additionalgroups']";
    
$array explode(','$str);
    foreach (
$array as $addtionalgroup)
    {
        if (
$mybb->user['usergroup'] == '4' || $addtionalgroup == '4')
        {
            
// User ist ein Admin
            
eval("\$topnavi_admin =\"".$tempalte->get("topnavi_admin")."\";");
        }
        else
        {
            
// User ist ein normaler User
            
$adminnavi '';
            eval(
"\$topnavi_normal =\"".$tempalte->get("topnavi_normal")."\";");
        }
    }
}
else
{
    
// User ist ein Gast und schon in einer Usergruppe
    
$adminnavi '';
    
$usernavi '';
    eval(
"\$topnavi_guest =\"".$tempalte->get("topnavi_guest")."\";");
}
//Ende der Navi-Abfrage
eval("\$header = \"".$templates->get("header")."\";"); 

Jedoch kommt dann beim Aufruf des Forums:
Code:
Fatal error: Call to a member function on a non-object in /home/rxdreusr/www.meine-domain.de/forum/global.php on line 348

In dieser Zeile steht:
Code:
eval("\$topnavi_admin =\"".$tempalte->get("topnavi_admin")."\";");

Hab bloß keinen Schimmer, wo mein Fehler liegt. Bin für die Erleuchtung dankbar. Smile

Grüße


RE: Anzeige gruppenabhängig - nur wie? - Bricktop - 14.01.2007

Es muss in allen drei eval-Zeilen "template" statt "tempalte" heißen.


RE: Anzeige gruppenabhängig - nur wie? - ETESTS - 14.01.2007

Bricktop schrieb:Es muss in allen drei eval-Zeilen "template" statt "tempalte" heißen.

*peinlich, peinlich*
*duck udn weg*

Danke dir. Wink
ETESTS

PS: Garlant trägt schuld. Wink
PPS: Nochmal Korrektur, es muss "templates" heißen.