Seite 1 von 1

"Onlinestatus" aktualisieren durch Websitebesuch

Verfasst: 08.12.2004 18:00
von LordZed
Hi Leute!
Ich habe auf meiner Page eine Liste der Mitglieder einer Gruppe meines Forums und da steht auch, ob die online sind, oder nicht!

Nun ist es so, das sich das ja durch die last_online_time oder wie die Zeile in der User-Tabelle heißt errechnet. Diese wird beim aufrufen/aktualisieren/surfen im Forum ja aktualisiert.

Problem ist nun, wenn ich Members habe, die das Forum meiden, aber auf der Page unterwegs sind. Wie krieg ich es hin, dass der Eintrag auch bei einem aufrufen der Site aktualisiert wird.

Ich würd ja zur not nen eigens Script schreiben, aber dafür muss ich den user ja als diesen einen bestimmten Member identifierzieren, der aktualisiert werden soll. Wie krieg ich raus, ob der das ist bzw. wer er ist???

Bitte um schnelle antwort!

Verfasst: 08.12.2004 18:14
von derd
Mit einem Riesen aufwand ist das vieleicht Möglich. Aber dazu müsste man die Rechner Indetifizieren um ob das mit dem Datenschutz zu vereinbaren ist na ja . Ich denke mal das ist nicht Legal. Und du müsstest jeden User um Zustimmung Fragen ob er das will.

Normal ist sowas Quatsch wenn die Leute nicht in das Forum wollen dann lass sie doch.

Verfasst: 08.12.2004 18:20
von LordZed
Es geht mir nicht darum, ob die user ins forum wollen oder nicht!
Ich glaube du hast da was falsch verstanden!

Ich will, dass die last_online_time von den Usern, die im Forum angemeldet sind und einer bestimmten gruppe angehören nicht nur aktualisiert wird, wenn die im Forum unterwegs sind, sondern auch, wenn die auf der website unterwegs sind.
Wenn die "automatisches einloggen" nicht aktiviert haben, dann habe ich eben pech, aber haben die das aktiviert, dann haben die ja nen cookie gespeichert, wo infos drin stehen, mit denen ich die als den entsprechenden user identifizieren kann und dann die last_online_time aktualisieren kann.

Was hat das mit illegal zu tun?
Ich glaub nix, oder?
Ist Cookies der eigenen Webiste, nur eben einer unterkategorie der website, auslesen verboten? Nein oder?

Und um was für ne zustimmung muss ich den user da fragen? Ob ich seine Cookies von meiner Website auslesen darf *rofl*

Naja! Jedenfalls wäre es mir lieb, wenn mir jemand sagen kann, ob es nicht eine funktion von phpBB gibt, die diesen Eintrag automatisch aktualisiert und wenn ja, wo ich sie finden kann bzw. wie sie heiß´t und funktioniert.

uAwg

Verfasst: 08.12.2004 18:30
von derd
Ahso meinst du das. Ich hatte es Falsch verstanden.

Verfasst: 08.12.2004 18:32
von LordZed
dann ist ja ok! :)
Idee zur Lösung meines "Problems"?

Ich würd ja selber ne funktion schreiben, die den eintrag aktualisiert, dafür muss ich den user nur außerhalb des forums ersteinmal identifizieren!

//edit
wollte gerade nach den cookies auf meiner platte suchen, aber Firefox scheint die nicht unter "Dokumente & Einstellungen/Username/Cookies" abzulegen!
Kann mir einer sagen, wo firefox seine cookies speichert?

//edit2
Hab die Cookies gefunden, aber außer der SessionID Cookie ist das irgendwie nur ne anreihung von zahlen, buchstaben und %-Zeichen! :P

Also? Wie kann ich den User identifizieren (falls der ein user im forum ist und "automatisch einloggen" aktiviert hat!)

Verfasst: 09.12.2004 13:02
von QCO
Das ist gar nicht so schwierig, wie du denkst...
Du müsstest bloß auf den Seiten deiner normalen Page die phpbb-Sessionverwaltun initalisieren (musst sie dann ja auch nicht weiter nutzen...).

Vorlage für in phpBB eingebundene Seiten

Code: Alles auswählen

define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);


//Session auslesen und Benutzer-Informationen laden
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
Wenn du das irgendwo auf deinen übrigen Seiten unterbringst, werden die Sessions der User aktualisiert, auch wenn sie nicht direkt im Forum sind.
Aber: damit die Leute als bestimmte User erkannt werden, müssen sie schon ein Cookie haben; ansonst werden sie nur als Gäste angezeigt.

Verfasst: 09.12.2004 15:35
von MrMind
QCO hat geschrieben:Das ist gar nicht so schwierig, wie du denkst...
Du müsstest bloß auf den Seiten deiner normalen Page die phpbb-Sessionverwaltun initalisieren (musst sie dann ja auch nicht weiter nutzen...).

Vorlage für in phpBB eingebundene Seiten

Code: Alles auswählen

define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);


//Session auslesen und Benutzer-Informationen laden
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
Wenn du das irgendwo auf deinen übrigen Seiten unterbringst, werden die Sessions der User aktualisiert, auch wenn sie nicht direkt im Forum sind.
Aber: damit die Leute als bestimmte User erkannt werden, müssen sie schon ein Cookie haben; ansonst werden sie nur als Gäste angezeigt.
Dem kann ich nur voll und ganz zustimmen. $phpbb_root_path noch anpassen wie $phpbb_root_path = './phpBB2/' oder so.

Und PAGE_INDEX würde ich dann noch in HP_INDEX umändern und einen neuen Wert in die includes/constants.php machen die wie folgt aussehen könnte:

Code: Alles auswählen

define('HP_INDEX',-101);
oder so.

Dann kannste auch auf deinem Forum ausgeben, ob der User auf dem Forum oder in der HP aktiv ist.

Mfg
MrMind

Verfasst: 09.12.2004 20:06
von LordZed
Es ist ja so, dass der die Cookies löscht, wenn die 24 stunden nicht verwendet wurden oder sowas. Kann man ja im Forum einstellen.
Löscht der die Cookies, wenn die diese Zeit nicht verwendet, oder wenn die diese Zeit nicht aktualisiert worden sind? Weil würde er die bei 24h nicht aktualisieren löschen, muss der User ja dennoch immer wieder ins Forum, oder nicht?

//edit
Danke ich denke das wird mir bei meinem Problem weiterhelfen!

Verfasst: 09.12.2004 22:11
von LordZed
Wenn ich die konstante PAGE_WEBSITE setze, dann muss ich da ja auch ne zahl angeben. Habe mal -101 genommen, aber was bewirkt diese Zahl?

Denn wenn nen kumpel von mir auf der Website ist und ich gucke, wer wo gerade unterwegs ist, dann steht da "forum-index" was aber nicht stimmt!

Ich habe auch den entsprechenden eintrag in der viewonline.php gemacht

//edit
Habs schon! Man muss das mit dem "case" auch nochmal in der index.php des Adminbereichs machen, wenn man's im Adminbereich richtig stehen haben will.
Wo finde ich denn das viewonline außerhalb des Adminbereichs!
Irgendwie find ich das nicht!