Hi,
ich bin gerade ein wenig erschüttert, dass es keine Möglichkeit gibt, sich alle ungelesenen Beiträge anzeigen zu lassen. Schön und gut, dass der gelesen-Status in der Datenbank abgelegt wird, aber wenn man dann danach nicht suchen kann, ist der Witz für mich weg. (In meinem alten Forum hatte ich den UPI2DB-Mod drin.)
Jetzt dient das ganze nur noch der farblichen Markierung der Foren und Threads. Oder habe ich was übersehen?
Bei einem schnellen Blick in ddie search.php bestätigte sich meine Beobachtung leider: Die SQL-Abfrage sucht tatsächlich nur nach den neuen Posts seit dem letzten Besuch und nicht nach ungelesenen Posts. Also muss wohl oder übel ein Mod her.
Gibt es so einen Mod schon? Sitzt schon jemand da dran? Ich werde mich in den nächsten Tagen wohl mal da dran setzen.
Eigentlich wollte ich mein neues Forum nicht modden, um die Updates sauber mitmachen zu können. Nun habe ich in der config.php gesehen, dass es offensichtlich so etwas wie eine Extension-Schnittstelle gibt. Gibt es da Informationen drüber? Ich habe bisher nichts dazu gefunden. Ließe sich vielleicht sogar dieser Mod als Extension realisieren? Das wär sehr fein.
Ungelesene Beiträge anzeigen (statt seit dem letzten Besuch)
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Ungelesene Beiträge anzeigen (statt seit dem letzten Besuch)
Ciao, Dr. Love...
- kazwo
- Mitglied
- Beiträge: 934
- Registriert: 29.07.2005 14:10
- Wohnort: Mutterstadt des deutschen Fußballs
http://www.deinedomain.de/phpBB3Ordner/ ... d=newposts
bzw. http://img185.imageshack.us/img185/1982/17353405lx6.jpg
bzw. http://img185.imageshack.us/img185/1982/17353405lx6.jpg
Blau-Gelb ist nicht Ikea und auch nicht die FDP. Blau-Gelb, das ist die Mannschaft, die ich so gern spielen seh.
-
- Mitglied
- Beiträge: 1620
- Registriert: 03.01.2004 23:12
- Wohnort: Aken (Elbe)
Nein, nein..
Er meint vom User ungelesene Beiträge.
Hier bei phpBB.de und auch so beim phpBB2 steht "Beiträge seit dem letzten Besuch anzeigen".
Dies ist aber beim Olympus nicht mehr der Fall.
Hier wird alles nur noch über die Grafiken gemacht.
Leider fällt mir dazu aber auch nix ein.
Er meint vom User ungelesene Beiträge.
Hier bei phpBB.de und auch so beim phpBB2 steht "Beiträge seit dem letzten Besuch anzeigen".
Dies ist aber beim Olympus nicht mehr der Fall.
Hier wird alles nur noch über die Grafiken gemacht.
Leider fällt mir dazu aber auch nix ein.
Mit freundlichen Grüßen / Best regards / Met vriendelijke groeten
Michael Zacher
Michael Zacher
- Mahony
- Ehemaliges Teammitglied
- Beiträge: 12178
- Registriert: 17.11.2005 22:33
- Wohnort: Ostfildern Kemnat
- Kontaktdaten:
Hallo
Die Suche nach "Neue Beiträge" im phpBB3 entspricht der Suche nach "Beiträge seit dem letzten Besuch anzeigen" im phpBB2
Grüße: Mahony
Die Suche nach "Neue Beiträge" im phpBB3 entspricht der Suche nach "Beiträge seit dem letzten Besuch anzeigen" im phpBB2
Grüße: Mahony
Taekwondo in Berlin
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
Genau so ist das. Etwas enttäuschend, da die Informationen über gelesene Beiträge ja schon in der Datenbank abgelegt werden, es aber keine Möglichkeit gibt, danach zu suchen.Mahony hat geschrieben:Hallo
Die Suche nach "Neue Beiträge" im phpBB3 entspricht der Suche nach "Beiträge seit dem letzten Besuch anzeigen" im phpBB2
Mit folgender Abfrage kann man immerhin eine Liste dieser Einträge anzeigen (bzw. mittels count(post_id) zählen):
Code: Alles auswählen
SELECT distinct post_id FROM (
SELECT post_id, forum_id, topic_id, post_subject, post_time
FROM phpbb3_posts
WHERE post_time > (UNIX_TIMESTAMP() - 2592000)
) AS p
LEFT JOIN `phpbb3_forums_track` ft
ON p.forum_id = ft.forum_id
LEFT JOIN `phpbb3_topics_track` tt
ON p.topic_id = tt.topic_id
WHERE (ft.user_id = ##USER_ID## AND p.post_time > ft.mark_time)
OR (tt.user_id = ##USER_ID## AND p.post_time > tt.mark_time)
Beachten:
- Funktioniert nicht mit MySQL 3.23, da hier die nötigen Subselects nicht unterstützt werden.
- Das distinct sorgt dafür, dass jeder Post nur einmal zählt (nötig wegen des zweifachen JOINs)
- Die 2592000 steht für die letzten 30 Tage (in Sekunden).Wenn man zu lange suchen lässt, dauert die Abfrage unerträglich lange. Bei mir in 27000 Posts der letzten sechs Jahre etwa 6-7 Sekunden, so nur noch 0,1-0,2 Sekunden. Immer noch etwas lang für meinen Geschmack.
- Die Subquery kann man sich auch sparen, aber das wär eine bemerkenswerte Ressourcenverschwendung, da die JOINS sonst wirklich viel Arbeit hätten (bei mit etwa 10-fache Verarbeitungszeit nötig).
Irgendwelche Kommentare?
Ciao, Dr. Love...