Wie funktioniert "Wer ist Online?" im Admin-Bereic

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
thowa
Mitglied
Beiträge: 55
Registriert: 19.07.2005 15:11

Wie funktioniert "Wer ist Online?" im Admin-Bereic

Beitrag von thowa »

Moin,

ich bastle an einem MOD mit einer Schüler-Liste um (in meinem Fall nach 20 Jahren) Kontaktdaten aller Mitschüler zu komplettieren. Ich habe dazu basierend auf memberlist.php und profile.php eigene files erzeugt.

Wenn ich als Admin den Administrationsbereich betrete, sehe ich dort direkt die Liste "Wer ist Online?"
Dort wird nun oftmals "Profil anzeigen" als betrachtete Seite angezeigt.
Ich denke allerdings, daß das eher von profile.php "vererbt" wurde.

Meine Frage:
Durch welchen Mechanismus wird eigentlich festgestellt, welche Seite ein Benutzer gerade betrachtet?
Wie kann ich da meine Seiten hinzufügen?

Danke, Thorsten
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

Jede Seite, die in dieser Liste angezeigt werden soll, erhält eine spezielle Konstante, die (logischerweise) in der Datei includes/constants.php definiert werden muss. Wenn man seine Erweiterung veröffentlichen will, sollte man sich da die PAGE_ Constants Reservation List anschauen, damit es keine Überschneidungen zwischen MODs geben kann.

Die Konstanten werden hier definiert:

Code: Alles auswählen

// Page numbers for session handling
z.B. so:

Code: Alles auswählen

define('PAGE_BLABLA',-12);
Wenn diese Konstante dann definiert ist, muss man in seiner php-Datei nach dieser Stelle suchen:
$userdata = session_pagestart($user_ip, PAGE_BLABLA);
init_userprefs($userdata);
und an der hier fett markierten Stelle seine PAGE-Konstante eintragen.

Zum Schluss muss man diese PAGE-Konstanten nur noch in den entsprechenden Dateien (viewonline.php und admin/index.php) auswerten:
case PAGE_BLABLA:
$location = $lang['Blabla'];
$location_url = "datei.$phpEx";
break;
auch hier müssen wieder die fett markierten Stellen angepasst werden.
Dieser Code kann eigentlich auf beide Dateien angewendet werden, wobei er in der admin/index.php zweimal vorkommt (einmal für registrierte Benutzer und einmal für Gäste).
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
thowa
Mitglied
Beiträge: 55
Registriert: 19.07.2005 15:11

Beitrag von thowa »

Super!
Danke für die ausfürliche Beschreibung.
Das klappt.

Nur habe ich festgestellt, wenn ich als Benutzer die Seiten wechsel, wird das im Admin-Bereich nicht immer aktualisiert (obwohl im browser refresh benutzt habe)

Hat dazu jemand eine Erklärung?

Danke, Thorsten
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

Die Session-Page wird glaube ich alle 5 Minuten erneuert. :wink:

Edit: Es ist eine Minute. *g*
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
thowa
Mitglied
Beiträge: 55
Registriert: 19.07.2005 15:11

Beitrag von thowa »

achso....

Danke
thowa
Mitglied
Beiträge: 55
Registriert: 19.07.2005 15:11

Beitrag von thowa »

Kann man die Zeit auch ändern?
Warum ist die überhaupt auf 5 Minuten eingestellt? Perfomance?

Tschööö Thorsten
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

thowa hat geschrieben:Kann man die Zeit auch ändern?
Who is online time edit
thowa hat geschrieben:Warum ist die überhaupt auf 5 Minuten eingestellt? Perfomance?
So weit ich weiß ja. :wink:
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
thowa
Mitglied
Beiträge: 55
Registriert: 19.07.2005 15:11

Beitrag von thowa »

Ich habe den MOD (oder heißt es das MOD?) installiert.
Aber jetzt verschwinden die User, die Online sind auch eher aus "Wer ist Online?".
Auch wenn sie noch Online sind, aber vielleicht nur einen langen Thread lesen.

Ist anscheinend nicht ganz das richtige für mich...

Trotzdem danke,
Thorsten
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

Wenn man das jetzt auf eine Minute einstellen würde, dann würden alle Benutzer, die seit einer Minute nichts mehr auf der Seite gemacht haben, nicht mehr in der Online-Liste angezeigt werden. Du hast also recht, wenn du sagst, dass es nicht das ist, was du suchst.

Aber was suchst du bzw. was ist das Problem, wenn das nur jede Minute aktualisiert wird? :wink:

btw. heißt es der MOD.
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Benutzeravatar
kellanved
Mitglied
Beiträge: 570
Registriert: 05.02.2005 15:15
Wohnort: Berlin

Beitrag von kellanved »

S2B hat geschrieben:
btw. heißt es der MOD.
Die MODifikation. Der Moderator. :lol: Allerdings sieht man "der Mod" öfter - frag mich nicht warum.
Bitte keine Supportanfragen via PM
Antworten

Zurück zu „phpBB 2.0: Mods in Entwicklung“