Hi Leute,
ich denke dieses Forum ist wohl das passendste:
ich bastel grade wieder am einem EIGENEN(!) Forum einer Seite und möchte gerne bei jedem Unterforum des Boards bzw bei jedem Thread eine Grafik darstellen , ob im jeweiligen Forum neue Beitraege vorhanden sind oder nicht.
Nun meine Frage: Wie ist das im phpbb realisiert?
Meine Idee bisher:
Eine Tabelle in der DB erstellen.
Bei jedem neuen Posting fuer JEDEN user einen Eintrag machen. Sobald der Eintrag betrachtet wird, lösche ich den entsprechenden Datensatz wieder aus der DB.
Das scheint mir aber ungeschickt , weil die Tabelle im laufe der Zeit relativ gross werden würde.
Löschen von "nach X- Tagen nicht gelesen" Datensaetzen ist allerdings auch nicht soo die prickelnde Lösung
Hat jemand von euch eine andere Idee?
Ich hab bei jedem Benutzer ein Datum mitgespeichert wann der letzte Login war.
Allerdings waeren dann nach einem Login alle Postings "gelesen" nur weil das Logindatum neuer ist, obwohl der User die Postings evtl garnicht gelesen hat.
Blöde Sache das.
Danke fuer Denkanstöße
Gruß
DrumCode
Wie funkioniert "gelesen/ungelesen" im phpbb ?
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.
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.
Wie funkioniert "gelesen/ungelesen" im phpbb ?
Zuletzt geändert von DrumCode am 15.03.2005 13:45, insgesamt 1-mal geändert.
- oxpus
- Ehemaliges Teammitglied
- Beiträge: 5394
- Registriert: 03.02.2003 12:33
- Wohnort: Bad Wildungen
- Kontaktdaten:
Variante 1 (das phpBB Original):
phpBB schickt jedem User durch die Anmeldung ein Cookie, das die letzte Login-Zeit speichert.
Danach prüft das Board, ob jüngere Beiträge vorliegen und markiert diese entsprechend.
Vorteil Sehr schnell
Nachteile
Browser zu = alles gelesen
Cookies gelöscht = alles gelesen
Cookies blockiert = kein Autologin und auch immer alles gelesen.
Variante 2:
Es existieren 2 bekannte Mods, die die Nachteile der Variante 1 beheben, allerdings geringfügig die Performance des Boards reduzieren und die Datenbank vergrösseren. Dazu erhält man einige weitere nützliche Funktionen.
Das wären der UPi2DB Mod und der Keep Unread Mod. Beide durch Suche hier oder auf phpbbhacks.com zu finden.
Diese Mods speichern den Zustand jedes Topics für jeden User in der Datenbank, so daß ein Betrag auch erst dann gelesen ist, wenn man ihn wirklich ansieht. Dabei verwenden beide Mods weit optimierte Datenbank-Routinen.
Ich setze den UPi2DB ein und bin hoch zufrieden damit. Auch und gerade was die Performance anbelangt.
phpBB schickt jedem User durch die Anmeldung ein Cookie, das die letzte Login-Zeit speichert.
Danach prüft das Board, ob jüngere Beiträge vorliegen und markiert diese entsprechend.
Vorteil Sehr schnell
Nachteile
Browser zu = alles gelesen
Cookies gelöscht = alles gelesen
Cookies blockiert = kein Autologin und auch immer alles gelesen.
Variante 2:
Es existieren 2 bekannte Mods, die die Nachteile der Variante 1 beheben, allerdings geringfügig die Performance des Boards reduzieren und die Datenbank vergrösseren. Dazu erhält man einige weitere nützliche Funktionen.
Das wären der UPi2DB Mod und der Keep Unread Mod. Beide durch Suche hier oder auf phpbbhacks.com zu finden.
Diese Mods speichern den Zustand jedes Topics für jeden User in der Datenbank, so daß ein Betrag auch erst dann gelesen ist, wenn man ihn wirklich ansieht. Dabei verwenden beide Mods weit optimierte Datenbank-Routinen.
Ich setze den UPi2DB ein und bin hoch zufrieden damit. Auch und gerade was die Performance anbelangt.
Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
DrumCode hat geschrieben:Allerdings waeren dann nach einem Login alle Postings "gelesen" nur weil das Logindatum neuer ist, obwohl der User die Postings evtl garnicht gelesen hat.

aber das lässt sich bestimmt auch direkter umsetzen...
Nur mal so als Beispiel:
Falls net vorhanden, Tabelle {prefix}topic_view anlegen mit den
Feldern: topic_id, user_id, view_time, view_count
view_time = Last viewed time User (update)
view_count = Topic visits User (update)
sql query -> viewtopic.php (oder vergleichbare Datei)
Zeitwert für topic_last_post_id hast du ja schon. Fehlt also nur
noch ne Abrage, ob und für welche Topics die view_time (falls vorhanden)
aehm... kleiner ist als der Zeitwert für topic_last_post_id
Mit dem Ergebnis: folder_new (z.B.) or not (folder)
