WCF 2.1: Letzte Aufenthaltsorte bestimmter Benutzergruppen nur eingeschränkt anzeigen lassen

  • WCF 2.1

Achtung: Diese Seite ist nur noch Teil eines Archivs und wird in Zukunft entfernt.

Angesichts dieser Anfrage im WoltLab Community Forum habe ich mal wieder eine kleine Templatespielerei ersonnen.

Unsere Aufgabe ist es, die Anzeige der letzten Aktivität von Mitgliedern bestimmter Benutzergruppen in der WIO-Liste, im Benutzerprofil und in der Profilvorschau nur dann einzublenden, wenn der Betrachter eine bestimmte Bedingung erfüllt.

Für meine beispielhaften Änderungen bin ich davon ausgegangen, dass die letzten Aufenthaltsorte von Administratoren nur Benutzern angezeigt werden sollen, die ihrerseits über das Recht verfügen, das ACP betreten zu dürfen.

Beginnen wir mit der WIO-Liste. Im Template userOnlineList ersetzen wir:

Smarty-Template: 137

  1. {@$locationData}


durch:

Smarty-Template: 137

  1. {if !4|in_array:$user->getGroupIDs() || $__wcf->session->getPermission('admin.general.canUseAcp')}{@$locationData}{/if}



Im nächsten Schritt wird im Template user dieser Abschnitt:

Smarty-Template: 174

  1. {if $user->canViewOnlineStatus() && $user->getLastActivityTime()}


wie folgt geändert:

Smarty-Template: 174

  1. {if $user->canViewOnlineStatus() && $user->getLastActivityTime() && (!4|in_array:$user->getGroupIDs() || $__wcf->session->getPermission('admin.general.canUseAcp'))}



Zum Schluss nun noch flugs in userProfilePreview:

Smarty-Template: 31

  1. {if $user->canViewOnlineStatus() && $user->getLastActivityTime()}


ändern in:

Smarty-Template: 31

  1. {if $user->canViewOnlineStatus() && $user->getLastActivityTime() && (!4|in_array:$user->getGroupIDs() || $__wcf->session->getPermission('admin.general.canUseAcp'))}


und schon sind wir fertig.

Falls ich noch einen Ort übersehen haben sollte, an dem die Information angezeigt wird, bitte ich um einen kurzen Hinweis. Auch dafür sollte sich eine Lösung finden lassen.

Die Angabe der Gruppenzugehörigkeit kann natürlich auf weitere Gruppen erweitert werden. Ebenfalls kann jedes beliebige Gruppenrecht als Kriterium für die Anzeige genutzt werden.

Und nun viel Spaß beim Ausprobieren.




Gruß norse
Über den Autor
Keine Angabe

411 mal gelesen

Kommentare 5