From f083c6d7765b63ad0179bc82a3d9f0abbf08637c Mon Sep 17 00:00:00 2001 From: Nathan Guse Date: Fri, 14 Sep 2012 16:15:15 -0500 Subject: [PATCH] [ticket/11103] Mark all post/quote notifications read when marking topics Mark forum read marks all topics read, so do so properly for notifications PHPBB3-11103 --- phpBB/includes/functions.php | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php index 3d3dd1f5bc..b996fef292 100644 --- a/phpBB/includes/functions.php +++ b/phpBB/includes/functions.php @@ -1339,6 +1339,21 @@ function markread($mode, $forum_id = false, $topic_id = false, $post_time = 0, $ $notifications = $phpbb_container->get('notifications'); $notifications->mark_notifications_read_by_parent('topic', $forum_id, $user->data['user_id'], $post_time); + // Mark all post/quote notifications read for this user in this forum + $topic_ids = array(); + $sql = 'SELECT topic_id + FROM ' . TOPICS_TABLE . ' + WHERE ' . $db->sql_in_set('forum_id', $forum_id); + $result = $db->sql_query($sql); + while ($row = $db->sql_fetchrow($result)) + { + $topic_ids[] = $row['topic_id']; + } + $db->sql_freeresult($result); + + $notifications->mark_notifications_read_by_parent('post', $topic_ids, $user->data['user_id'], $post_time); + $notifications->mark_notifications_read_by_parent('quote', $topic_ids, $user->data['user_id'], $post_time); + // Add 0 to forums array to mark global announcements correctly // $forum_id[] = 0;