From c2f2919cf8745d21c6fe140c069e1dc4dca84039 Mon Sep 17 00:00:00 2001 From: Tim Schroeder Date: Wed, 16 Oct 2019 17:28:04 +0200 Subject: [PATCH] MDL-57755 message: fix notificaiton read status when messaging disabled --- lib/classes/message/manager.php | 29 +++++++++++------------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/lib/classes/message/manager.php b/lib/classes/message/manager.php index 66744b1f5f5..0a26e592830 100644 --- a/lib/classes/message/manager.php +++ b/lib/classes/message/manager.php @@ -331,15 +331,14 @@ class manager { // Trigger event for sending a message or notification - we need to do this before marking as read! self::trigger_message_events($eventdata, $savemessage); - if ($eventdata->notification or empty($CFG->messaging)) { - // If they have deselected all processors and its a notification mark it read. The user doesn't want to be bothered. - // The same goes if the messaging is completely disabled. - if ($eventdata->notification) { - $savemessage->timeread = null; - \core_message\api::mark_notification_as_read($savemessage); - } else { - \core_message\api::mark_message_as_read($eventdata->userto->id, $savemessage); - } + if ($eventdata->notification) { + // If they have deselected all processors and it's a notification mark it read. The user doesn't want to be + // bothered. + $savemessage->timeread = null; + \core_message\api::mark_notification_as_read($savemessage); + } else if (empty($CFG->messaging)) { + // If it's a message and messaging is disabled mark it read. + \core_message\api::mark_message_as_read($eventdata->userto->id, $savemessage); } return $savemessage->id; @@ -383,15 +382,9 @@ class manager { // Trigger event for sending a message or notification - we need to do this before marking as read! self::trigger_message_events($eventdata, $savemessage); - if (empty($CFG->messaging)) { - // If they have deselected all processors and its a notification mark it read. The user doesn't want to be bothered. - // The same goes if the messaging is completely disabled. - if ($eventdata->notification) { - $savemessage->timeread = null; - \core_message\api::mark_notification_as_read($savemessage); - } else { - \core_message\api::mark_message_as_read($eventdata->userto->id, $savemessage); - } + if (!$eventdata->notification && empty($CFG->messaging)) { + // If it's a message and messaging is disabled mark it read. + \core_message\api::mark_message_as_read($eventdata->userto->id, $savemessage); } return $savemessage->id;