Om nah hoo pez nyeetz, Matthias!
Und bei neuen Threads diese dann einmal zuklicken (wenn gelesen),
Das kannst du doch bestimmt deinem Script beibringen. Dafür gibt es ja die serverseitige gelesen-Markierung, die du auswerten kannst.
So einfach ist es leider nicht ...! :-(
Die serverseitige Gelesen-Markierung ist kein signifikantes Kriterium.
Zur Erläuterung:
Aktuell ist aufgrund der entsprechend notwendigen Benutzer-Einstellung erst einmal jeder Thread aufgeklappt, d.h. es bedarf keiner Aktion.
Um einen Thread zuzuklappen bedarf es aber einer expliziten Willensbekundung/ Aktion seitens des Users, indem er einen Thread zuklickt.
Und das wird gespeichert, um bei einem Reload der Seite den entsprechenden Thread wieder zuzuklappen.
Ob ein Thread ungelesene Postings enthält oder nicht, spielt dabei keine Rolle!
Wenn die entsprechende Option aktiviert ist, wird der Thread (temporär), ungeachtet seines Auf-/ Zu-Status aufgeklappt.
Das Problem:
Wenn ein Thread jetzt per Default zugeklappt sein soll, dann gibt es aktuell zumindest kein Unterscheidungsmerkmal zwischen Threads, die der User absichtlich nicht zugeklappt, bzw. explizit aufgeklappt hat, und denen, die aufgrund der Default-Einstellung zugeklappt sein sollen!
Klingt vermutlich etwas verwirrend, aber ich hoffe, die Problematik ist zumindest ansatzweise nachzuvollziehen? ;-)
Gehen wir die möglichen Fälle mal durch:
Es gibt einen neuen Thread (ungelesen).
Dieser soll jetzt aufgrund der Default-Einstellung zugeklappt sein (was für sich alleine kein Problem darstellt).
Jetzt klickt der User auf "alle Threads aufklappen", oder klickt explizit diesen Thread auf, dann reicht mein derzeitiges Kriterium (alle Threads, die nicht explizit zugeklappt wurden, sind geöffnet) nicht mehr aus.
Vielmehr muss ich dann zusätzlich noch die Thread-IDs von den Threads speichern, die aufgeklappt wurden. Und dieses Array dann jedes Mal ebenfalls gegen die jeweils noch im Forum-Baum vorhandenen Thread-IDs abgleichen. Zusätzlich noch prüfen, ob ein Thread, der aufgrund des Defaults zugeklappt werden soll, nicht bereits durch den User explizit aufgeklappt wurde.
Das ist natürlich alles machbar!
Ich mache mir lediglich etwas Sorgen um die Performance ...!
Aber ich bastel das mal ins Skript rein, und wenn es sich als "zu langsam" herausstellen sollte, dann können wir ja immer noch auf die derzeitige Version zurückwechseln. ;-)
Gruß
Gunther