Ungelesen markieren - Problem
Verfasst: 14.03.2009 08:02
Hallo und guten morgen, ich habe diese MOD http://www.phpbb.com/community/viewtopi ... &t=1055665 leicht abgeändert.
Original:
Finde:
Füge danach ein:
Bei diesem Code wird die Zeit (Posttime) aber neu gesetzt, das heißt, wenn der Beitrag um 15.04 Uhr geschrieben wurde, er aber um 20.08 Uhr geändert wird, dann ist die Posttime nicht mehr 15.04 Uhr sondern 20.08 Uhr.
Das habe ich geändert, indem ich in Zeile 5 den Wert gegen ausgetauscht habe.
Das funktioniert soweit auch, die Zeit wird neu in die Datenbank eingetragen aber bleibt die gleiche, weil der Wert aus der $data['post_time'] genommen wird.
Folgendes Problem tritt nun aber auf:
Wenn ein User einen Beitrag bearbeitet, dann ist er für andere als ungelesen markiert.
Wenn man dann den Beitrag liest und wieder in die Forenübersicht zurück kehrt, ist der Beitrag immer noch ungelesen markiert.
Die Markierung des Beitrages als ungelesen kann man nur auf gelesen markieren, indem man in der Forenübersicht auf "Alle Themen als gelesen markieren" klickt.
Jetzt die Frage an die Profis, woher kommt das und wie kann ich das ändern?
Das Problem taucht bei der ungeänderten MOD übrigens nicht auf!
Freue mich auf Hilfe. LG Tim
Original:
Finde:
Code: Alles auswählen
// First of all make sure the subject and topic title are having the correct length.
Code: Alles auswählen
// Start : Mark edited posts as unread MOD
if($post_mode == 'edit_last_post' || $post_mode == 'edit_topic')
{
$sql_update_posts = 'UPDATE ' . POSTS_TABLE . '
SET post_time = ' . $current_time . '
WHERE post_id = ' . $data['post_id'] . '
AND topic_id = ' . $data['topic_id'];
$db->sql_query($sql_update_posts);
$sql_update_topics = 'UPDATE ' . TOPICS_TABLE . '
SET topic_last_post_time = ' . $current_time . '
WHERE topic_id = ' . $data['topic_id'];
$db->sql_query($sql_update_topics);
update_post_information('forum', $data['forum_id']);
markread('post', $data['forum_id'], $data['topic_id'], $data['post_time']);
}
// End : Mark edited posts as unread MOD
Bei diesem Code wird die Zeit (Posttime) aber neu gesetzt, das heißt, wenn der Beitrag um 15.04 Uhr geschrieben wurde, er aber um 20.08 Uhr geändert wird, dann ist die Posttime nicht mehr 15.04 Uhr sondern 20.08 Uhr.
Das habe ich geändert, indem ich in Zeile 5 den Wert
Code: Alles auswählen
$current_time
Code: Alles auswählen
$data['post_time']
Das funktioniert soweit auch, die Zeit wird neu in die Datenbank eingetragen aber bleibt die gleiche, weil der Wert aus der $data['post_time'] genommen wird.
Folgendes Problem tritt nun aber auf:
Wenn ein User einen Beitrag bearbeitet, dann ist er für andere als ungelesen markiert.
Wenn man dann den Beitrag liest und wieder in die Forenübersicht zurück kehrt, ist der Beitrag immer noch ungelesen markiert.
Die Markierung des Beitrages als ungelesen kann man nur auf gelesen markieren, indem man in der Forenübersicht auf "Alle Themen als gelesen markieren" klickt.
Jetzt die Frage an die Profis, woher kommt das und wie kann ich das ändern?

Das Problem taucht bei der ungeänderten MOD übrigens nicht auf!
Freue mich auf Hilfe. LG Tim