Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
16.04.2014, 22:55
(Dieser Beitrag wurde zuletzt bearbeitet: 16.04.2014, 22:59 von Jockl.)
In dem Beitrag wird aber im Grunde genau beschrieben, wie eine Abfrage nach mehreren Usergruppen erstellt wird....
Zitat:Nun benötigen wir noch eine Bedingung (if-Abfrage), die überprüft, ob der Betrachter der Seite einer berechtigten Usergruppe angehört.
Nehmen wir an, wie oben beschrieben, dass sowohl Gäste als auch gebannte User diesen Link nicht sehen sollen.
Diese Usergruppen sind unter der ID 1 und 7 zu finden.
Für diese Usergruppe werden wir der Einfachheit halber ein Array erstellen. Das hat den Vorteil, dass ihr nötigenfalls schnell weitere Gruppen hinzufügen oder entfernen könnt). Danach fragen wir das Array ab und je nach Ergebnis wird der Top-Link im header geladen oder auch nicht.
Vor die bereits oben angesprochene Zeile
Code: eval("\$header = \"".$templates->get("header")."\";");
fügen wir folgenden Code-Abschnitt ein:
PHP-Code: $checkMyUsergroup = array(1,7); if(!in_array($mybb->usergroup['gid'], $checkMyUsergroup)){ ............ }
Nachtrag:
eine Abfrage, die so aussieht
PHP-Code: if ($mybb->user['usergroup'] = "was auch immer")
müsste korrekterweise so aussehen
PHP-Code: if ($mybb->user['usergroup'] == "was auch immer")
Beiträge: 140
Themen: 22
Registriert seit: 11.12.2013
Okay, ich teste das ganze morgen, wenn es geht sage ich schon mal danke!
Beiträge: 140
Themen: 22
Registriert seit: 11.12.2013
(16.04.2014, 22:55)Jockl schrieb: Nachtrag:
eine Abfrage, die so aussieht
PHP-Code: if ($mybb->user['usergroup'] = "was auch immer")
müsste korrekterweise so aussehen
PHP-Code: if ($mybb->user['usergroup'] == "was auch immer")
Da lag der erste Fehler, aber er sperrt immer nur die erst angegebene Gruppe.
bei PHP-Code: if ($mybb->user['usergroup'] == "1, 5")
Sperrt er nur Gruppe 1
Bei bei PHP-Code: if ($mybb->user['usergroup'] == "5, 1")
sperrt er nur die Gruppe 5.
Ich versuch jetzt mal das oben genannte.
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
17.04.2014, 10:43
(Dieser Beitrag wurde zuletzt bearbeitet: 17.04.2014, 10:43 von Jockl.)
Das funktioniert ja auch so nicht!
Du musst das so machen, wie schon oben geschrieben:
(16.04.2014, 22:55)Jockl schrieb: PHP-Code: $checkMyUsergroup = array(1,7); if(!in_array($mybb->usergroup['gid'], $checkMyUsergroup)){ ............ }
Beiträge: 140
Themen: 22
Registriert seit: 11.12.2013
17.04.2014, 11:12
(Dieser Beitrag wurde zuletzt bearbeitet: 17.04.2014, 11:14 von Itunes.)
Ich bin jetzt offiziel überfordert.
Wenn ich in der global.php
vor PHP-Code: eval("\$header = \"".$templates->get("header")."\";");
PHP-Code: $checkMyUsergroup = array(1,5,7); if(!in_array($mybb->usergroup['gid'], $checkMyUsergroup)){ <li><a href="{$mybb->settings['bburl']}/serverhosting.php">Server-Hosting</a></li>
tue sieht es im ganzen so aus:
PHP-Code: }
// Set up some of the default templates eval("\$headerinclude = \"".$templates->get("headerinclude")."\";"); eval("\$gobutton = \"".$templates->get("gobutton")."\";"); eval("\$htmldoctype = \"".$templates->get("htmldoctype", 1, 0)."\";"); } $checkMyUsergroup = array(1,5,7); if(!in_array($mybb->usergroup['gid'], $checkMyUsergroup)){ <li><a href="{$mybb->settings['bburl']}/serverhosting.php">Server-Hosting</a></li> eval("\$header = \"".$templates->get("header")."\";");
Das Template schaut so aus:
Code: .
.
.
.
<li><a href="ts3server://85.214.231.102?port=5544">TeamSpeak</a></li>
<li><a href="{$mybb->settings['bburl']}/misc.php?action=help">{$lang->toplinks_help}</a></li>
{$meineSeite}
</ul>
Bekomme ich nen Error:
Parse error: syntax error, unexpected '}' in /var/customers/webs/ragent/global.php on line 530 Call Stack: 0.0009 831256 1. {main}() /var/customers/webs/ragent/index.php:0
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
17.04.2014, 11:23
(Dieser Beitrag wurde zuletzt bearbeitet: 17.04.2014, 11:25 von Jockl.)
Danke für den Hinweis, denn mir ist aufgefallen, dass der oben genannte Blog-Eintrag leider einen Fehler aufweist.
Habe ihn aber nun korrigiert.
Kurz gesagt, so würde es funktionieren
PHP-Code: $checkMyUsergroup = array(1,5,7); if(!in_array($mybb->usergroup['gid'], $checkMyUsergroup)){ $meineSeite = "<li><a href=\"{$mybb->settings['bburl']}/serverhosting.php\">Server-Hosting</a></li>"; } eval("\$header = \"".$templates->get("header")."\";");
In das Template header setzt Du nun {$meineSeite} an der entsprechende Stelle der Toplinks ein.
Achtung: solltest Du auch mit sek. Usergruppen arbeiten, dann müsste die Abfrage noch ein wenig angepasst werden. Die Abfrage oben, bezieht sich nämlich nur auf die primären Usergruppen.
Beiträge: 140
Themen: 22
Registriert seit: 11.12.2013
17.04.2014, 11:44
(Dieser Beitrag wurde zuletzt bearbeitet: 17.04.2014, 11:46 von Itunes.)
(17.04.2014, 11:23)Jockl schrieb: Danke für den Hinweis, denn mir ist aufgefallen, dass der oben genannte Blog-Eintrag leider einen Fehler aufweist.
Habe ihn aber nun korrigiert.
Kurz gesagt, so würde es funktionieren
PHP-Code: $checkMyUsergroup = array(1,5,7); if(!in_array($mybb->usergroup['gid'], $checkMyUsergroup)){ [code][code]$meineSeite[/code][/code] = "<li><a href=\"{$mybb->settings['bburl']}/serverhosting.php\">Server-Hosting</a></li>"; } eval("\$header = \"".$templates->get("header")."\";");
In das Template header setzt Du nun {$meineSeite} an der entsprechende Stelle der Toplinks ein.
Achtung: solltest Du auch mit sek. Usergruppen arbeiten, dann müsste die Abfrage noch ein wenig angepasst werden. Die Abfrage oben, bezieht sich nämlich nur auf die primären Usergruppen.
Das bringt mich schon mal weiter
Habe jetzt hier das eingetragen.
Nun {$serverhosting}
In's header Template gesetzt.
Doch erscheint der Punkt jetzt nicht o.O
So siehts in der global.php aus:
PHP-Code: $checkMyUsergroup = array(1,5,7); if(!in_array($mybb->usergroup['gid'], $checkMyUsergroup)){ $serverhosting = "<li><a href=\"{$mybb->settings['bburl']}/serverhosting.php\">Server-Hosting</a></li>"; } eval("\$header = \"".$templates->get("header")."\";");
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
Benutzt evtl. ein anderes Thema als Default? Wenn ja, hast Du auch das richtige Template geändert?
Beiträge: 140
Themen: 22
Registriert seit: 11.12.2013
Ich benutze Apart-1 und da habe ich das Template geändert, andere änderungen funktionieren auch
hier mal das Template:
Code: <ul class="menu top_links">
<li><a href="{$mybb->settings['bburl']}/index.php">Forum</a></li>
<li><a href="{$mybb->settings['bburl']}/portal.php">Portal</a></li>
<li><a href="[color=#0000ff;]hello.php[/color]" id="[color=#ff0000;]example_menu[/color]">Server-Hosting</a></li>
<div id="[color=#ff0000;]example_menu[/color]_popup" class="popup_menu" style="display: none;">
<div class="popup_item_container"><a href="{$mybb->settings['bburl']}/serverinfo.php" class="popup_item">Server INFO</a></div>
<div class="popup_item_container"><a href="{$mybb->settings['bburl']}/serverhosting.php" class="popup_item">Server Bestellen</a></div>
<div class="popup_item_container"><a href="{$mybb->settings['bburl']}/serverstatus.php" class="popup_item">Server Status</a></div>
</div>
<script type="text/javascript">
// <!--
if(use_xmlhttprequest == "1")
{
new PopupMenu("[color=#ff0000;]example_menu[/color]");
}
// -->
</script>
<li><a href="[color=#0000ff;]hello.php[/color]" id="[color=#ff0000;]egal[/color]">Mitglieder</a></li>
<div id="[color=#ff0000;]egal[/color]_popup" class="popup_menu" style="display: none;">
<div class="popup_item_container"><a href="{$mybb->settings['bburl']}/memberlist.php" class="popup_item">Mitgliederliste</a></div>
<div class="popup_item_container"><a href="{$mybb->settings['bburl']}/showteam.php" class="popup_item">Foren-Team</a></div>
<div class="popup_item_container"><a href="{$mybb->settings['bburl']}/online.php" class="popup_item">Wer ist online?</a></div>
<div class="popup_item_container"><a href="{$mybb->settings['bburl']}/online.php?action=today" class="popup_item">Wer war heute alles online?</a></div>
</div>
<script type="text/javascript">
// <!--
if(use_xmlhttprequest == "1")
{
new PopupMenu("[color=#ff0000;]egal[/color]");
}
// -->
</script>
<li><a href="ts3server://85.214.231.102?port=5544">TeamSpeak</a></li>
<li><a href="{$mybb->settings['bburl']}/misc.php?action=help">{$lang->toplinks_help}</a></li>
{$serverhosting} // Wird nicht angezeigt!
</ul>
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
Die Struktur des Templates sieht ja irgendwie verheerend aus. Hast Du mal einen Link zu Deiner Seite?
|