Ungelesene Beiträge

Fragen zur Bedienung von phpBB 3.0.x, Probleme bei der Benutzung und alle weiteren Fragen inkl. Update auf die neuste phpBB 3.0.14 Version
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.
Antworten
dieter99
Mitglied
Beiträge: 430
Registriert: 07.04.2005 20:09

Ungelesene Beiträge

Beitrag von dieter99 »

Hallo,
wie erkennt phpBB, ob ungelesene Beiträge vorhanden sind?

Ich selbst vermute, dass einerseits eine Prüfung

Code: Alles auswählen

if ($user->data['user_lastmark']<$row['topic_last_post_time'])
stattfindet. 'user_lastmark' steht vermutlich für "Alle Foren als gelesen markieren". Doch lassen wir mal diese Option außen vor. Wie prüft phpBB die einzelnen Themen?

Ist es vielleicht sowas in der Richtung?

Code: Alles auswählen

if ($row['topic_last_post_time'] == $row['topic_last_view_time'])
Ich befürchte aber, dass 'topic_last_view_time' nicht userbezogen ist.

Wer kann helfen? Wie kann ich herausfinden, ob der User X die neuen Beiträge zu Thema Y schon gelesen hat?
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: Ungelesene Beiträge

Beitrag von Miriam »

Da hast Du ja schon mal ein paar Codestellen für Lösungsansätze gefunden, die Du überprüfen kannst.

Was haben denn Deine aktiven Tests ergeben? Konntest Du Deine Theorien untermauern / bestätigen oder mußtest Du sie nach intensiven Tests verwerfen, um ggf. neue lösungsorientierte Thesen zu postulieren?
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
dieter99
Mitglied
Beiträge: 430
Registriert: 07.04.2005 20:09

Re: Ungelesene Beiträge

Beitrag von dieter99 »

Wie vermutet ist $row['topic_last_view_time'] nicht userbezogen. Dieser Wert bringt mich daher nicht weiter.

Daher nochmal meine Frage:

Wie kann ich herausfinden, ob der User X die neuen Beiträge zu Thema Y schon gelesen hat? Wo werden diese Userangaben (zu jedem einzelnen Thema) gespeichert?
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: Ungelesene Beiträge

Beitrag von Miriam »

Ich würde Deine Aufmerksamkeit gern auf die Funktion get_unread_topics() (XRef) in der Datei /includes/functions.php lenken wollen.
Dort solltest Du Ansätze finden, die Dich der Beantwortung Deiner Frage näher bringen.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
dieter99
Mitglied
Beiträge: 430
Registriert: 07.04.2005 20:09

Re: Ungelesene Beiträge

Beitrag von dieter99 »

Miriam hat geschrieben:Ich würde Deine Aufmerksamkeit gern auf die Funktion get_unread_topics() (XRef) in der Datei /includes/functions.php lenken wollen.
Dort solltest Du Ansätze finden, die Dich der Beantwortung Deiner Frage näher bringen.
Erst einmal Danke für die Unterstützung.

Ich muss dazu sagen das ich mich in der Datei search.php bewege (da ich die Funktion "neue Beiträge seit dem letzten Besuch" modifizieren will).

Nun, die Funktion "get_unread_topics" habe ich in search.php gefunden:

Code: Alles auswählen

else if ($search_id == 'unreadposts')
		{
			// Only return up to $total_matches_limit+1 ids (the last one will be removed later)
			$id_ary = array_keys(get_unread_topics($user->data['user_id'], $sql_where, $sql_sort, $total_matches_limit + 1));
		}
Die Topic ID aller ungelesenen Themen werden hier in ein Array gespeichert. Wenn ich jedoch von den 10 (ist nur ein BEispiel) ungelesenen Themen 1 Thema lese, dann ist die Topic ID dieses Themas immer noch in diesem Array. Ich brauche aber eine Funktion, die mir nur die restlichen 9 ungelesenen Themen auswertet.

Ich bin aber inzwischen fündig geworden (in der Datei search.php):

Code: Alles auswählen

$unread_topic = (isset($topic_tracking_info[$forum_id][$row['topic_id']]) && $row['topic_last_post_time'] > $topic_tracking_info[$forum_id][$row['topic_id']]) ? true : false;
				
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: Ungelesene Beiträge

Beitrag von Miriam »

Supi,

dann ist das also erledigt?
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
dieter99
Mitglied
Beiträge: 430
Registriert: 07.04.2005 20:09

Re: Ungelesene Beiträge

Beitrag von dieter99 »

Miriam hat geschrieben:Supi,

dann ist das also erledigt?
Jupp 8)
Antworten

Zurück zu „[3.0.x] Administration, Benutzung und Betrieb“