phpBB - Dein letzter Besuch war am

Hast du einen Fehler in der aktuellen Version gefunden ? Diesen kannst du uns hier mitteilen und uns bei der Fehlersuche helfen.
cp21714
Beiträge: 20
Registriert: 26. Sep 2006, 10:46

phpBB - Dein letzter Besuch war am

Beitrag von cp21714 »

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
yo
Beiträge: 59
Registriert: 22. Mai 2006, 22:54

Beitrag von yo »

Ha, sehr gut! Habe das gleiche Verhalten, nur hatte ich bisher noch kein Anzeichen für die Fehlerursache gefunden...
Denn hoffe ich mal, dass nun auch irgendjemand der Fehlerursache auf die Schliche kommt! :)
cp21714
Beiträge: 20
Registriert: 26. Sep 2006, 10:46

Beitrag von cp21714 »

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
yo
Beiträge: 59
Registriert: 22. Mai 2006, 22:54

Beitrag von yo »

Stimm Dich doch einfach mal mit Thomas ab. Der kann es dann ja auch noch mal checken und dann in die nächste Admidio-Version übernehmen.

...ich freu mich schon drauf! :)
Benutzeravatar
fasse
Administrator
Beiträge: 6167
Registriert: 12. Nov 2005, 16:06

Beitrag von fasse »

Hi Christian,

schließ dich da wirklich mal mit Thomas (fly2me) kurz und schick ihm mal deine Änderungen. Wenn es noch dieses WE klappt wäre es gut, dann könnten wir es noch in die 1.4.3 reinbringen.

Gruß
Fasse
fly2me
Former team member
Beiträge: 300
Registriert: 27. Nov 2006, 10:38
Wohnort: Zürich

Beitrag von fly2me »

Jep, da muss ein Update auf die User Tabelle gemacht werden.

Code: Alles auswählen

UPDATE ". $g_forum_praefix. "_users
                      SET  user_lastvisit = time() 
                      WHERE user_name = $user->Login_name
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.
cp21714
Beiträge: 20
Registriert: 26. Sep 2006, 10:46

Beitrag von cp21714 »

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
farchris
Beiträge: 37
Registriert: 8. Sep 2006, 17:45

Beitrag von farchris »

Hallo,
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
macht bei mir leider auch keinen Unterschied.

Muss man das irgentwo bestimmt einsetzen?
fly2me
Former team member
Beiträge: 300
Registriert: 27. Nov 2006, 10:38
Wohnort: Zürich

Beitrag von fly2me »

Übereilt es bitte nicht, ich kümmere mich heute darum.
fly2me
Former team member
Beiträge: 300
Registriert: 27. Nov 2006, 10:38
Wohnort: Zürich

Beitrag von fly2me »

Sollte in der nächsten Version nun gefixed sein!

Gruß Thomas
farchris
Beiträge: 37
Registriert: 8. Sep 2006, 17:45

Beitrag von farchris »

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.
cp21714
Beiträge: 20
Registriert: 26. Sep 2006, 10:46

Beitrag von cp21714 »

Moin Moin,

fly2me hat geschrieben:Sollte in der nächsten Version nun gefixed sein!
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.

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
fly2me
Former team member
Beiträge: 300
Registriert: 27. Nov 2006, 10:38
Wohnort: Zürich

Beitrag von fly2me »

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
farchris
Beiträge: 37
Registriert: 8. Sep 2006, 17:45

Beitrag von farchris »

fly2me hat geschrieben: Nebenbei habe ich das auch mit dem paralellen löschen der User bei einer Webanmeldung eingebaut.
Hallo,
kannst du mir vielleicht die Änderung schicken, da ich nicht schon wieder den kompletten Ordner ersetzen möchte - sonst muss ich wieder alles ändern :(

Danke!
fly2me
Former team member
Beiträge: 300
Registriert: 27. Nov 2006, 10:38
Wohnort: Zürich

Beitrag von fly2me »

Habe es heute hochgespielt und hoffe, dass es Fasse schafft, die Änderungen als Update nachzuziehen. Die Änderungen umfassen mehrere Dateien, daher ist es unangebracht diese schnell zu senden.
Vieleicht schafft er es ja heute noch, da er auch einiges um die Ohren hat.

LG Thomas
Antworten