aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/functions.php
diff options
context:
space:
mode:
authorNathan Guse <nathaniel.guse@gmail.com>2012-09-14 16:15:15 -0500
committerNathan Guse <nathaniel.guse@gmail.com>2012-09-14 16:15:15 -0500
commitf083c6d7765b63ad0179bc82a3d9f0abbf08637c (patch)
tree72ef7386999423c889f9be6fa94acd364ae5b384 /phpBB/includes/functions.php
parent0d7f49892ae23a18a69b0cee0171e2dc1a8cb4a1 (diff)
downloadforums-f083c6d7765b63ad0179bc82a3d9f0abbf08637c.tar
forums-f083c6d7765b63ad0179bc82a3d9f0abbf08637c.tar.gz
forums-f083c6d7765b63ad0179bc82a3d9f0abbf08637c.tar.bz2
forums-f083c6d7765b63ad0179bc82a3d9f0abbf08637c.tar.xz
forums-f083c6d7765b63ad0179bc82a3d9f0abbf08637c.zip
[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
Diffstat (limited to 'phpBB/includes/functions.php')
-rw-r--r--phpBB/includes/functions.php15
1 files changed, 15 insertions, 0 deletions
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;