Merge branch 'master_MDL-69848' of https://github.com/golenkovm/moodle
[moodle.git] / message / output / popup / mark_notification_read.php
CommitLineData
105974cd
MH
1<?php
2// This file is part of Moodle - http://moodle.org/
3//
4// Moodle is free software: you can redistribute it and/or modify
5// it under the terms of the GNU General Public License as published by
6// the Free Software Foundation, either version 3 of the License, or
7// (at your option) any later version.
8//
9// Moodle is distributed in the hope that it will be useful,
10// but WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12// GNU General Public License for more details.
13//
14// You should have received a copy of the GNU General Public License
15// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
16
17/**
18 * Mark a notification read and redirect to the relevant content.
19 *
20 * @package message_popup
21 * @copyright 2018 Michael Hawkins
22 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
23 */
24
25require_once(__DIR__ . '/../../../config.php');
26
27require_login(null, false);
28
29if (isguestuser()) {
30 redirect($CFG->wwwroot);
31}
32
33$notificationid = required_param('notificationid', PARAM_INT);
8725ac5f 34
105974cd
MH
35$notification = $DB->get_record('notifications', array('id' => $notificationid));
36
c5fcbd10 37// If the redirect URL after filtering is empty, or it was never passed, then redirect to the notification page.
8725ac5f
PH
38if (!empty($notification->contexturl)) {
39 $redirecturl = new moodle_url($notification->contexturl);
40} else {
c5fcbd10
MN
41 $redirecturl = new moodle_url('/message/output/popup/notifications.php', ['notificationid' => $notificationid]);
42}
43
105974cd
MH
44// Check notification belongs to this user.
45if ($USER->id != $notification->useridto) {
46 redirect($CFG->wwwroot);
47}
48
49\core_message\api::mark_notification_as_read($notification);
8725ac5f 50redirect($redirecturl);