LastLogin

Aus Contao Community Documentation

Anzeige des letzten Logins und der online/offline Mitglieder über Insert-Tags.

Seit Contao 2.8 wird vom Login Modul selbst bereits angezeigt, wann man selbst zuletzt online war.
Dieses Modul unterstützt nun die interne Methode und bietet weiterhin einen Insert-Tag dafür zur Verfügung.
Weitere Insert-Tags sind im Laufe der Entwicklung dazugekommen.


Erweiterungs-Übersicht
Name des Entwicklers Glen Langer (BugBuster)
Entwickler Webseite http://www.contao.glen-langer.de
Version der Erweiterung 1.9.1 / 3.0.0
Kompatibilität mit Contao Version ab 2.9
Kompatibilität mit TYPOlight Version 2.8.0 - 2.8.4 (siehe Installationshinweise)
Link zum Extension Repository http://www.contao.org/erweiterungsliste/view/lastlogin.html
Den Entwickler unterstützen http://www.amazon.de/wishlist/26HHEJOU03G76
Link zum Tracker https://github.com/BugBuster1701/lastlogin/issues
Link zum VCS https://github.com/BugBuster1701/lastlogin
Abhängig von ff. Erweiterungen memberlist (mandatory), avatar (optional)
Anmerkung Version für Contao 3.0 verfügbar


Forum

Fragen zum LastLogin Modul werden im Forum beantwortet: Forum: Sonstige Erweiterungen
Fehler und Wünsche können im Tracking System gemeldet werden.

Installation

Installation erfolgt über das Extension Repository im Backend der Contao Installation.

Eine manuelle Installation ist möglich, dazu die ZIP Datei vom Extension Repository laden, entpacken und entsprechend übertragen.
Dadurch sollte ein Verzeichnis /system/modules/lastlogin angelegt worden sein.
Danach wie dabei üblich /contao/install.php aufrufen um ein eventuelles Update der Datenbank durchführen.
( /typolight/install.php bei älteren TYPOlight Installationen )

Da das LastLogin Modul abhängig ist vom Modul "Memberlist", muss dieses bei der manuellen Installation mit installiert werden.

Hinweis für ältere TYPOlight Versionen

TYPOlight 2.8

Nutzer von TYPOlight 2.8.x können die aktuelle Version nutzen.

TYPOlight 2.7

Nutzer von TYPOlight 2.7.x nutzen bitte LastLogin Modul Version 1.4.1 (Direktlink)

Installation als Update

Ein Update erfolgt identisch der Installation.

Übersicht

Das LastLogin Modul bringt keine Backend oder Frontend Module mit, es stellt lediglich Insert-Tags zur Verfügung.

Hinweis.png Hinweis: Alle nachfolgend gelisteten Insert-Tags vom Modul mit dem Prefix cache_ sind ab Contao 2.8 Cache resistent.

Bei eingeschaltetem Cache in der Seitenstruktur werden die Werte der Insert-Tags somit nicht mit im Cache gespeichert, sondern bei jeder Lieferung aus dem Cache erneut ersetzt.
Beispiel: "last_login" wird zu "cache_last_login"

Derzeit sind folgende Anzeigen über die Insert-Tags möglich:

Alle Insert-Tags werden durch Parameter gesteuert, was genau und wie etwas angezeigt werden soll. (firstname,lastname,avatar,...)

Letzter Login

Anzeige vom Datum des eigenen letzten Logins. Mit einem zusätzlichen Parameter ist das Datum formatierbar.
Lässt man den Parameter weg, wird nach der System Definition "dateFormat" generiert. Am Beispiel der Default Installation "Music Academy" ist dort definiert: "Y-m-d".
Beispiel, der letzte Login wäre gewesen am 3.4.2009 um 16:27 Uhr:

Letzter Login: {{cache_last_login}}
Letzter Login: {{cache_last_login::d.m.y H:i}}

ergibt:

Letzter Login: 2009-04-03
Letzter Login: 03.04.09 16:27

Ist ein Mitglied zum ersten Mal angemeldet, ist kein Datum für den letzten Login vorhanden. Stattdessen wird das aktuelle Datum angezeigt.
Ab Version 1.9.0 ist es möglich die Ausgabe in diesem Fall stattdessen mit "0" zu erzwingen. Syntax:

Letzter Login: {{cache_last_login::zero}}

ergibt beim erstem Login: 0, nach jedem weiteren Login erfolgt wieder die Ausgabe mit Datum. Das Datumsformat kann auch wieder definiert werden:

Letzter Login: {{cache_last_login::zero::d.m.Y H:i}}

Über Ausgabe der "0" kann man nun im Template reagieren und z.B. Hinweise beim ersten Login ausgeben:

<?php if ($this->replaceInsertTags( '{{cache_last_login::zero}}' ) == 0 ) : ?>
<p class="notice">Achtung: Da dies dein erster Login ist, bitte gleich dein Passwort ändern!<p>
<?php endif; ?>

Online Mitglieder

Anzeige der Namen von Mitgliedern die online sind. Mit zusätzlichen Parametern ist steuerbar, was vom Mitglied angezeigt werden soll. Das jeweilige Mitglied muss diese Felder allerdings freigegeben haben. (Öffentliche Felder)

Ausgabe durch Komma getrennt

Beispiele:

{{cache_last_login_members_online::username}}
{{cache_last_login_members_online::firstname}}
{{cache_last_login_members_online::lastname}}
{{cache_last_login_members_online::fullname}}
{{cache_last_login_members_online::avatar}}

Wobei die Angabe "username" die Defaultangabe darstellt, d.h. {{cache_last_login_members_online}} gilt ebenfalls.
Die Anzeige erfolgt nur wenn man selbst online ist.

Hinweis.png Hinweis: Die Angabe "avatar" funktioniert nur, wenn das Modul "avatar" installiert ist. Dies passiert nicht automatisch, da es nicht als Abhängigkeit im ER definiert wurde.


Ausgabe als Liste

Durch eine weitere Angabe kann die Ausgabe in Listenform ausgegeben werden.
Dazu wird ein mitgeliefertes Template genutzt.
Beispiele:

{{cache_last_login_members_online::username::list}}
{{cache_last_login_members_online::firstname::list}}
{{cache_last_login_members_online::lastname::list}}
{{cache_last_login_members_online::fullname::list}}
{{cache_last_login_members_online::avatar::list}}

Wobei auch hier die Angabe "username" die Defaultangabe darstellt, d.h. {{cache_last_login_members_online::list}} gilt ebenfalls.
Die Anzeige erfolgt nur wenn man selbst online ist.

Hinweis.png Hinweis: Die Angabe "avatar" funktioniert nur, wenn das Modul "avatar" installiert ist. Dies passiert nicht automatisch, da es nicht als Abhängigkeit im ER definiert wurde.


Online Mitglieder verlinkt

Verlinkte Ausgabe der Online Mitglieder als Verbindung zum Modul Memberlist. Dabei kann angegeben werden, welche Ausgabe erfolgen soll (erster Parameter) und der Alias Name der Seite indem das Modul Memberlist integriert wurde (zweiter Parameter).
Anwendung wie bei cache_last_login_members_online, folgende Angaben sind möglich:

{{cache_last_login_members_online_link::username::memberlist}}
{{cache_last_login_members_online_link::firstname::memberlist}}
{{cache_last_login_members_online_link::lastname::memberlist}}
{{cache_last_login_members_online_link::fullname::memberlist}}
{{cache_last_login_members_online_link::avatar::memberlist}}

Wobei die Angabe "username" und "memberlist" die Defaultangaben darstellen, d.h. {{cache_last_login_members_online_link}} gilt ebenfalls.
Die Anzeige erfolgt nur wenn man selbst online ist.
Beispiel: Ausgabe soll Vorname sein, Aliasname ist "mitgliederliste":

{{cache_last_login_members_online_link::firstname::mitgliederliste}}

erzeugt wenn 2 User online sind (mit ID 4 und 5):

<div class="mod_last_login">
  <ul class="members_online_link">
    <li><a href="mitgliederliste.html?show=4" title="Profile view">Donna</a></li>
    <li><a href="mitgliederliste.html?show=5" title="Profile view">John</a></li>
  </ul>
</div>

Bei "avatar" wie folgt:

<div class="mod_last_login">
  <ul class="members_online_link_avatar">
    <li><a href="memberlist.html?show=4" title="Profile view Donna Evans">
        <img width="32" height="31" class="avatar" alt="avatar" src="tl_files/avatars/member_4.jpg"></a></li>
    <li><a href="memberlist.html?show=5" title="Profile view John Smith">
        <img width="32" height="31" class="avatar" alt="avatar" src="tl_files/avatars/member_5.jpg"></a></li>
  </ul>
</div>

Anzahl registrierter Mitglieder

Anzeige Anzahl der registrierten Mitglieder.
Beispiel:

Es sind {{cache_last_login_number_registered_members}} Mitglieder registriert.

Anzahl Online Mitglieder

Anzeige Anzahl der online Mitglieder.
Beispiel:

Es sind {{cache_last_login_number_online_members}} Mitglieder online.

Anzahl Offline Mitglieder

Anzeige Anzahl der offline Mitglieder, die aber heute bereits online waren.
Beispiel:

Es sind {{cache_last_login_number_offline_members}} Mitglieder offline, vor kurzem online.


Offline Mitglieder

Anzeige der Namen von Mitgliedern die offline sind, und vor kurzem noch online waren.

Ausgabe durch Komma getrennt

{{cache_last_login_members_offline::username}}
{{cache_last_login_members_offline::firstname}}
{{cache_last_login_members_offline::lastname}}
{{cache_last_login_members_offline::fullname}}
{{cache_last_login_members_offline::avatar}}

Wobei die Angabe "username" die Defaultangabe darstellt, d.h. {{cache_last_login_members_offline}} gilt ebenfalls.
Die Anzeige erfolgt nur wenn man selbst online ist.

Hinweis.png Hinweis: Die Angabe "avatar" funktioniert nur, wenn das Modul "avatar" installiert ist. Dies passiert nicht automatisch, da es nicht als Abhängigkeit im ER definiert wurde.

Ausgabe als Liste

{{cache_last_login_members_offline::list}}
{{cache_last_login_members_offline::username::list}}
{{cache_last_login_members_offline::firstname::list}}
{{cache_last_login_members_offline::lastname::list}}
{{cache_last_login_members_offline::fullname::list}}
{{cache_last_login_members_offline::avatar::list}}

Wobei die Angabe "username" die Defaultangabe darstellt, d.h. {{cache_last_login_members_offline::list}} gilt ebenfalls.
Die Anzeige erfolgt nur wenn man selbst online ist.

Hinweis.png Hinweis: Die Angabe "avatar" funktioniert nur, wenn das Modul "avatar" installiert ist. Dies passiert nicht automatisch, da es nicht als Abhängigkeit im ER definiert wurde.


Offline Mitglieder verlinkt

Verlinkte Ausgabe der Offline Mitglieder (vor kurzem noch online) als Verbindung zum Modul Memberlist. Dabei kann angegeben werden, welche Ausgabe erfolgen soll (erster Parameter) und der Alias Name der Seite indem das Modul Memberlist integriert wurde (zweiter Parameter).
Anwendung wie bei cache_last_login_members_offline, folgende Angaben sind möglich:

{{cache_last_login_members_offline_link::username::memberlist}}
{{cache_last_login_members_offline_link::firstname::memberlist}}
{{cache_last_login_members_offline_link::lastname::memberlist}}
{{cache_last_login_members_offline_link::fullname::memberlist}}
{{cache_last_login_members_offline_link::avatar::memberlist}}

Wobei die Angabe "username" und "memberlist" die Defaultangaben darstellen, d.h. {{cache_last_login_members_offline_link}} gilt ebenfalls.
Die Anzeige erfolgt nur wenn man selbst online ist.
Beispiel: Ausgabe soll Vorname sein, Aliasname ist "mitgliederliste":

{{cache_last_login_members_offline_link::firstname::mitgliederliste}}

erzeugt wenn 2 User sind (mit ID 4 und 5):

<div class="mod_last_login_offline">
  <ul class="members_offline_link">
    <li><a href="mitgliederliste.html?show=4" title="Profile view">Donna</a></li>
    <li><a href="mitgliederliste.html?show=5" title="Profile view">John</a></li>
  </ul>
</div>

Bei "avatar" wie folgt:

<div class="mod_last_login_offline">
  <ul class="members_offline_link_avatar">
    <li><a href="memberlist.html?show=4" title="Profile view Donna Evans"><img width="32" height="31" class="avatar" alt="avatar" src="tl_files/avatars/member_4.jpg"></a></li>
    <li><a href="memberlist.html?show=5" title="Profile view John Smith"><img width="32" height="31" class="avatar" alt="avatar" src="tl_files/avatars/member_5.jpg"></a></li>
  </ul>
</div>

Tutorials

Anwendung als HTML Modul

Folgender Quellcode könnte verwendet werden um die Insert-Tags als HTML Modul zu platzieren:

<!-- indexer::stop -->
<div class="mod_login">
Letzter Login: {{cache_last_login::d.m.Y}}
</div>
<!-- indexer::continue -->

Dazu noch angeben im HTML Modul, "Modul schützen" und bei "Erlaubte Mitgliedergruppen" alle auswählen, damit es auch nur im eingeloggtem Zustand angezeigt wird.

Mehrsprachigkeit

Mit dem Insert-Tag "{{iflng}}" könnte man das ganze auch mehrsprachig machen:

{{iflng::en}}Last login:{{iflng}}{{iflng::de}}Letzer Login:{{iflng}} {{cache_last_login}}

Wann gilt "Online" / "Offline" ?

Bei "cache_last_login_members_online"/"cache_last_login_number_online_members" müssen die Benutzer innerhalb der letzen 5 Minuten eine Aktion (Seitenaufruf) in Contao getan haben. (geht über Session Tabelle)

Bei "cache_last_login_members_offline"/"cache_last_login_number_offline_members" ist es recht komplex, das wurde damals so diskutiert und festgelegt:

  • Nutzer die innerhalb der Session Zeit seit 5 Minuten nichts mehr getan haben (also Session Inhaber)
  • Nutzer Heute oder Gestern online und heute offline durch abmelden
  • Nutzer Heute online aber keine Session mehr, und nicht abgemeldet (aber Session gelöscht)

Bedeutet, man bekommt hier nicht alle sondern nur die vor kurzem online waren aber bereits offline sind oder als solche gelten.

Anzahl der Listen Ausgabe begrenzen

Bei der Listen Ausgabe ist es durch einen weiteren Parameter möglich, die Anzahl zu begrenzen. Beispiele für die einzelnen Arten (mit 5 Zeilen):

{{cache_last_login_members_online::username::list::5}}
{{cache_last_login_members_online::avatar::list::5}}
{{cache_last_login_members_online_link::lastname::memberlist::5}}
{{cache_last_login_members_online_link::avatar::memberlist::5}}
{{cache_last_login_members_offline::lastname::list::5}}
{{cache_last_login_members_offline::avatar::list::5}}
{{cache_last_login_members_offline_link::fullname::memberlist::5}}
{{cache_last_login_members_offline_link::avatar::memberlist::5}}

--BugBuster 23:56, 26. Jan. 2013 (CET)

Ansichten
Meine Werkzeuge

Contao Community Documentation

Programmierer brauchen viel Bit, auch wenn es Beck's ist.

Christian Schiffler
In anderen Sprachen
Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge