phpBB - Dein letzter Besuch war am
phpBB - Dein letzter Besuch war am
Moin Moin,
ich habe das phpBB integriert und die Anmeldung über das Forum deaktiviert, heute ist mir aufgefallen, das Datum unter "Dein letzter Besuch war am:" wird nicht aktualisiert und folglich sind bei jedem Login die gleichen Beiträge als "nicht gelesen" sichtbar.
Gruß
Christian
ich habe das phpBB integriert und die Anmeldung über das Forum deaktiviert, heute ist mir aufgefallen, das Datum unter "Dein letzter Besuch war am:" wird nicht aktualisiert und folglich sind bei jedem Login die gleichen Beiträge als "nicht gelesen" sichtbar.
Gruß
Christian
Moin Moin,
ich bin da schon etwas weiter gekommen, das ganze wird durch ein Feld in der Datenbank User des Forums gesteuert, genau diese Feld wird durch die Anmeldung über Admidio nicht aktualisiert.
Ich habe schon eine mögliche Lösung gefunden und teste zurzeit. Stellt sich nur die Frage, ob ich diese Änderung dann einfach hier veröffentliche oder ob das nicht so recht ist?
Es sei noch angemerkt, dass ich kein Programmierer bin, ich arbeite zwar in der IT-Branche und programmiere auch hier und da mal.
Gruß
Christian
ich bin da schon etwas weiter gekommen, das ganze wird durch ein Feld in der Datenbank User des Forums gesteuert, genau diese Feld wird durch die Anmeldung über Admidio nicht aktualisiert.
Ich habe schon eine mögliche Lösung gefunden und teste zurzeit. Stellt sich nur die Frage, ob ich diese Änderung dann einfach hier veröffentliche oder ob das nicht so recht ist?
Es sei noch angemerkt, dass ich kein Programmierer bin, ich arbeite zwar in der IT-Branche und programmiere auch hier und da mal.
Gruß
Christian
Jep, da muss ein Update auf die User Tabelle gemacht werden.
So in etwa.
Das muss in der Login_check.php mit rein, bei erfolgreicher Anmeldung.
Habe es auf dem Zettel, aber schaffe es erst es morgen einzubauen, leider.
Code: Alles auswählen
UPDATE ". $g_forum_praefix. "_users
SET user_lastvisit = time()
WHERE user_name = $user->Login_name
Das muss in der Login_check.php mit rein, bei erfolgreicher Anmeldung.
Habe es auf dem Zettel, aber schaffe es erst es morgen einzubauen, leider.
Moin Moin,
so in etwa habe ich es bei mir jetzt temporär eingebaut und es funktioniert.
Bei der Lösung muss jedoch berücksichtigt werden, ob der anmeldete User das Forum auch aufgerufen hat, mit der Anmeldung erscheint ja lediglich der Link im Menü und der User muss das Forum aufrufen, die Variable "user_lastvisit" sollte also nur gesetzt werden, wenn der User das Forum auch aufgerufen hat.
Ich habe das jetzt über ein Cookie gelöst, das gesetzt wird, wenn das Forum aufgerufen wird.
Gruß
Christian
so in etwa habe ich es bei mir jetzt temporär eingebaut und es funktioniert.
Bei der Lösung muss jedoch berücksichtigt werden, ob der anmeldete User das Forum auch aufgerufen hat, mit der Anmeldung erscheint ja lediglich der Link im Menü und der User muss das Forum aufrufen, die Variable "user_lastvisit" sollte also nur gesetzt werden, wenn der User das Forum auch aufgerufen hat.
Ich habe das jetzt über ein Cookie gelöst, das gesetzt wird, wenn das Forum aufgerufen wird.
Gruß
Christian
Hallo,
mit phpBB Cookie klappt es bei mir nicht.
Der Code:
macht bei mir leider auch keinen Unterschied.
Muss man das irgentwo bestimmt einsetzen?
mit phpBB Cookie klappt es bei mir nicht.
Der Code:
Code: Alles auswählen
UPDATE ". $g_forum_praefix. "_users
SET user_lastvisit = time()
WHERE user_name = $user->Login_name
Muss man das irgentwo bestimmt einsetzen?
Hallo, danke, perfekt!
Habe noch eine Frage:
Wenn sich jemand bei Admidio registriert, hat dieser User ohne Freischaltung direkt einen Account im Forum.
Wenn ich aber nicht zulassen, dass der User freigeschaltet wird und diesen lösche, bleibt der Foren Account immer noch bestehen.
Ist das normal?
Ich habe es im Stand-Allone Betrieb laufen.
Habe noch eine Frage:
Wenn sich jemand bei Admidio registriert, hat dieser User ohne Freischaltung direkt einen Account im Forum.
Wenn ich aber nicht zulassen, dass der User freigeschaltet wird und diesen lösche, bleibt der Foren Account immer noch bestehen.
Ist das normal?
Ich habe es im Stand-Allone Betrieb laufen.
Moin Moin,
Die Zeit muss doch eigentlich gesetzt werden, wenn der User sich wieder abmeldet.
Ich habe folgendes geändert:
phpBB2\index.php
setcookie("forum_activ", "yes", 0, "/");
adm_program\system\logout.php, ab Zeile 55
// LAST_VISIT_DATE in User-Datenbank (Forum) setzen
if (isset($_COOKIE['forum_activ']))
{
setcookie ("forum_activ", "", time() - 3600);
if ($g_forum_userid > 0)
{
$current_time = time();
$sql = "UPDATE ". $g_forum_praefix. "_users
SET user_lastvisit = ". $current_time ."
WHERE user_id LIKE $g_forum_userid ";
$result = mysql_query($sql, $g_forum_con);
db_error($result);
}
}
Dann wird die Zeit bei der Abmeldung gesetzt, jedoch nur, wenn der User das Forum auch aufgerufen hatte.
Gruß
Christian
Das habe ich nun gleich mal getestet und meiner Meinung nach ist es falsch eingebaut, die Zeit wird bereits beim Login gesetzt, d. h. der angemeldete User sieht keine Beiträge seit seinem letzten Login.fly2me hat geschrieben:Sollte in der nächsten Version nun gefixed sein!
Die Zeit muss doch eigentlich gesetzt werden, wenn der User sich wieder abmeldet.
Ich habe folgendes geändert:
phpBB2\index.php
setcookie("forum_activ", "yes", 0, "/");
adm_program\system\logout.php, ab Zeile 55
// LAST_VISIT_DATE in User-Datenbank (Forum) setzen
if (isset($_COOKIE['forum_activ']))
{
setcookie ("forum_activ", "", time() - 3600);
if ($g_forum_userid > 0)
{
$current_time = time();
$sql = "UPDATE ". $g_forum_praefix. "_users
SET user_lastvisit = ". $current_time ."
WHERE user_id LIKE $g_forum_userid ";
$result = mysql_query($sql, $g_forum_con);
db_error($result);
}
}
Dann wird die Zeit bei der Abmeldung gesetzt, jedoch nur, wenn der User das Forum auch aufgerufen hatte.
Gruß
Christian
Jep, habe es schon bemerkt, leider erst nach dem Release. Die neue Version habe ich gestern Abend fertig bekommen und dort läuft es Problemlos und auch richtig. Einen Cookie braucht man dort nicht setzten, es reicht vollkommen aus, den last_visit beim logout zu updaten. Die differenz zwischen aktueller Zeit und last_visit ergibt die nicht gelesenen Beiträge.
Auch das mit dem Cookie werde ich anders lösen. Wir haben hier das abkommen, dass die PHP Dateien des Forums bei der Standard Installtation nicht verändert werden sollten. Ich werde zur Laufzeit prüfen, ob der User mal im Forum war eine eine Variable last_visit (vorbelegt mit dem Wert der last_visit aus der User Datei) einführen, die den Zeitpunkt erfasst, wenn der User im Forum war. Und diese Zeit beim logout in der User Tabelle updated. War der User innerhalb der Session nicht im Forum, bleibt es also bei der alten Zeit.
Nebenbei habe ich das auch mit dem paralellen löschen der User bei einer Webanmeldung eingebaut.
Ich werde versuchen die neue Version heute noch hochzuladen und hoffe, dass Fasse eine schnelle 1.4.3b fix rausbringen kann.
LG Thomas
Auch das mit dem Cookie werde ich anders lösen. Wir haben hier das abkommen, dass die PHP Dateien des Forums bei der Standard Installtation nicht verändert werden sollten. Ich werde zur Laufzeit prüfen, ob der User mal im Forum war eine eine Variable last_visit (vorbelegt mit dem Wert der last_visit aus der User Datei) einführen, die den Zeitpunkt erfasst, wenn der User im Forum war. Und diese Zeit beim logout in der User Tabelle updated. War der User innerhalb der Session nicht im Forum, bleibt es also bei der alten Zeit.
Nebenbei habe ich das auch mit dem paralellen löschen der User bei einer Webanmeldung eingebaut.
Ich werde versuchen die neue Version heute noch hochzuladen und hoffe, dass Fasse eine schnelle 1.4.3b fix rausbringen kann.
LG Thomas