From 4bd0eaf732ad0c1d35f6cc741429df96dc4294a5 Mon Sep 17 00:00:00 2001 From: Shamim Rezaie Date: Wed, 15 Jul 2020 20:54:19 +1000 Subject: [PATCH] MDL-66707 mod_forum: do not blindly mark discussion replies as read --- mod/forum/discuss.php | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/mod/forum/discuss.php b/mod/forum/discuss.php index e8844776747..e33b7554f7b 100644 --- a/mod/forum/discuss.php +++ b/mod/forum/discuss.php @@ -328,9 +328,6 @@ $rendererfactory = mod_forum\local\container::get_renderer_factory(); $discussionrenderer = $rendererfactory->get_discussion_renderer($forum, $discussion, $displaymode); $orderpostsby = $displaymode == FORUM_MODE_FLATNEWEST ? 'created DESC' : 'created ASC'; $replies = $postvault->get_replies_to_post($USER, $post, $capabilitymanager->can_view_any_private_reply($USER), $orderpostsby); -$postids = array_map(function($post) { - return $post->get_id(); -}, array_merge([$post], array_values($replies))); if ($move == -1 and confirm_sesskey()) { $forumname = format_string($forum->get_name(), true); @@ -341,5 +338,12 @@ echo $discussionrenderer->render($USER, $post, $replies); echo $OUTPUT->footer(); if ($istracked && !$CFG->forum_usermarksread) { - forum_tp_mark_posts_read($USER, $postids); + if ($displaymode == FORUM_MODE_THREADED) { + forum_tp_add_read_record($USER->id, $post->get_id()); + } else { + $postids = array_map(function($post) { + return $post->get_id(); + }, array_merge([$post], array_values($replies))); + forum_tp_mark_posts_read($USER, $postids); + } }