Gibt es eine Lösung für folgende Aufgabe?
Sobald sich jemand in der Administration eingeloggt hat, soll im Frontend ein bestimmtes Element nicht mehr angezeigt bzw. hinzugefügt werden. Die Veränderung der Anzeige wäre ja mit Smarty im Template kein Thema, aber was muss ich genau überprüfen?
Hintergrund: Will den Aufruf von Google-Analytics für Admins deaktivieren.
Grüße aus Nürnberg
LeisureLarry
[GELÖST] Prüfung auf Admin-Login im Frontend?
[GELÖST] Prüfung auf Admin-Login im Frontend?
Last edited by LeisureLarry on Mon Feb 18, 2008 1:50 pm, edited 1 time in total.
Re: Prüfung auf Admin-Login im Frontend?
Habe vorhin selber eine Möglichkeit gefunden:
Interessanter Weise ist in den Variables der Eintrag für den Usernamen immer gesetzt, nur die Angabe der UserId ist vom Anmeldestatus abhängig. Obigen Code habe ich in meinen Template als Userdefiniertes Tag eingebunden, welches wiederum bei Bedarf einen Globalen Inhaltsblock mit dem Namen 'google_analytics' einbindet. Diese Lösung kann natürlich nur funktionieren, wenn nicht der gesamte Seiteninhalt gecacht wird. Zum Caching sollte man in diesem Fall nur ccontent verwenden.
Code: Select all
global $gCms;
$vars = $gCms->variables;
if (empty($vars['user_id'])) {
$globalContentOperations =& $gCms->GetGlobalContentOperations();
$globalContent =& $globalContentOperations->LoadHtmlBlobByName('google_analytics');
print $globalContent->content;
}
Re: [GELÖST] Prüfung auf Admin-Login im Frontend?
Hätte dir eine kürzere Variante vorgeschlagen
Code: Select all
global $gCms;
$userid = get_userid(false);
if(!$userid) ... ;
Re: [GELÖST] Prüfung auf Admin-Login im Frontend?
Danke Dir cyberman. Hab das ganze dann noch etwas gekürzt, da man die Variable nicht wirklich braucht.
Code: Select all
global $gCms;
if (!get_userid(false)) {
}
Re: [GELÖST] Prüfung auf Admin-Login im Frontend?
LeisureLarry wrote: dann noch etwas gekürzt

Erinnert mich irgend wie an den Contest, bei dem der kürzeste XSS-Wurm gesucht wurde ...
http://sla.ckers.org/forum/read.php?2,18790,page=19