Es soll für jeden Besucher der Frontendseite sichtbar sein welche Frontenduser zur Zeit angemeldet sind.
Habe auch schon Ansätze gestartet, doch haben wir keine Möglichkeit irgend welche Anmeldestadien in der Datenbank bezüglich auf die Frontenduser - speziell ein User - zu finden.
Denke es muss wohl über sie Session-Geschichte passieren. Liege ich da richtig ???
das geht mit den Bordmitteln von Contenido nicht ohne weiteres. Das Berste wäre, du erstelltst eine Tabelle mit folgenden Feldern:
- frontenduserid: int(10) aus Tabelle con_frontendusers
- sessionid: varchar(32) Sessionid des Users
- lasthit: Datum letzter Seitenaufruf
Beim Anmelden des Users, kannst dann einen Eintrag in die Tabelle schreiben, sofern kein Eintrag mit der frontenduserid schon vorhanden ist. Bei jedem Zugriff auf die Seite, kannst du das Feld "lasthit" mit dem aktuellen Timestamp aktualisieren.
Der Eintrag sollte dann auch beim Abmelden wieder gelöscht werden. Auch sollten z. B. alle Einträge entfernt werden, die älter als 20 Minutren sind, für den Fall, wenn User das Browserfenster schließen, ohne sich abzumelden. Dann sollten nur Angemeldete und auf der Seite aktive User in der Tabelle sein.
Das Ganze kannst du in das Login Modul einbauen.
Das Beispiel ist etwas minimalistisch, und bestimmt erweiterbar, sollte eher als Ansatz dienen.
Doch will ich eine Möglichkeitfinden wenn die User das Fenster schliessen das die Session bzw. die DB Einträge auch dann gelöscht werden. Könnte das ganze in ein Frame setzen. Ist aber nicht Contenido Trivial
Schaun wir mal. Vieleicht fällt Dir ja noch was ein.
Da wirst Du leider keine Lösung finden, die alles abdeckt.
Du könntest via JavaScript Events das Schliessen der Seite abfangen. Das setzt aber voraus, das die Nutzer auch JS aktiv haben. Dann soll es ja Browser / OS geben, die auch mal abstürzen (in Redmond ist das wohl recht verbreitet). Das kannst Du definitiv nicht abfangen. Die sauberste Lösung ist und bleibt ein Logout. Dann hast Du einen definierten Ausstiegspunkt. Die anderen Sessions verfallen dann entsprechend. Bei Deinem Vorhaben wäre es auch sinnvoll, die Session sehr knapp zu bemessen. So hast Du eben maximal n Minuten 'Verschnitt', wobei n die max. Länge der Session ist.
Zumindest zur Anmeldung usw. gibt es ein Modul oder Modulansatz - mal suchen.
Ansonsten ist es so: Handelt es sich um eine Frontend User-Session, ist online, wer in der Session-Tabelle enthalten ist und das Änderungsdatum der Session nicht älter als 15 Minuten ist.
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
HerrB hat geschrieben:Ansonsten ist es so: Handelt es sich um eine Frontend User-Session, ist online, wer in der Session-Tabelle enthalten ist und das Änderungsdatum der Session nicht älter als 15 Minuten ist.
Soweit geh ich konform (hatte ich ja auch geschrieben), allerdings knallt das, sobald Du den file-Session-Container nutzt [/quote]