diff --git a/message/output/popup/mark_notification_read.php b/message/output/popup/mark_notification_read.php index ad92b376c17..f2dd6096aa5 100644 --- a/message/output/popup/mark_notification_read.php +++ b/message/output/popup/mark_notification_read.php @@ -31,9 +31,14 @@ if (isguestuser()) { } $notificationid = required_param('notificationid', PARAM_INT); -$redirecturl = optional_param('redirecturl', $CFG->wwwroot, PARAM_URL); +$redirecturl = optional_param('redirecturl', '', PARAM_URL); $notification = $DB->get_record('notifications', array('id' => $notificationid)); +// If the redirect URL after filtering is empty, or it was never passed, then redirect to the notification page. +if (empty($redirecturl)) { + $redirecturl = new moodle_url('/message/output/popup/notifications.php', ['notificationid' => $notificationid]); +} + // Check notification belongs to this user. if ($USER->id != $notification->useridto) { redirect($CFG->wwwroot);