MDL-52938 mod_forum: check global setting to track forum posts
[moodle.git] / user / forum.php
CommitLineData
479fa47d
DW
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 * Allows you to edit a users forum preferences
19 *
20 * @copyright 1999 Martin Dougiamas http://dougiamas.com
21 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
22 * @package core_user
23 */
24
25require_once('../config.php');
26require_once($CFG->libdir.'/gdlib.php');
27require_once($CFG->dirroot.'/user/forum_form.php');
28require_once($CFG->dirroot.'/user/editlib.php');
29require_once($CFG->dirroot.'/user/lib.php');
30
31$userid = optional_param('id', $USER->id, PARAM_INT); // User id.
32$courseid = optional_param('course', SITEID, PARAM_INT); // Course id (defaults to Site).
33
34$PAGE->set_url('/user/forum.php', array('id' => $userid, 'course' => $courseid));
35
36list($user, $course) = useredit_setup_preference_page($userid, $courseid);
37
38// Create form.
39$forumform = new user_edit_forum_form(null, array('userid' => $user->id));
40
41$forumform->set_data($user);
42
36bbb0b7
AA
43$redirect = new moodle_url("/user/preferences.php", array('userid' => $user->id));
44if ($forumform->is_cancelled()) {
45 redirect($redirect);
46} else if ($data = $forumform->get_data()) {
479fa47d
DW
47
48 $user->maildigest = $data->maildigest;
49 $user->autosubscribe = $data->autosubscribe;
e91a07f7
MG
50 if (!empty($CFG->forum_trackreadposts)) {
51 $user->trackforums = $data->trackforums;
52 }
479fa47d
DW
53
54 user_update_user($user, false, false);
a622bc1a 55
479fa47d
DW
56 // Trigger event.
57 \core\event\user_updated::create_from_userid($user->id)->trigger();
58
a622bc1a
FM
59 if ($USER->id == $user->id) {
60 $USER->maildigest = $data->maildigest;
61 $USER->autosubscribe = $data->autosubscribe;
e91a07f7
MG
62 if (!empty($CFG->forum_trackreadposts)) {
63 $USER->trackforums = $data->trackforums;
64 }
a622bc1a
FM
65 }
66
36bbb0b7 67 redirect($redirect);
479fa47d
DW
68}
69
70// Display page header.
71$streditmyforum = get_string('forumpreferences');
72$userfullname = fullname($user, true);
73
45367bdf
AG
74$PAGE->navbar->includesettingsbase = true;
75
479fa47d
DW
76$PAGE->set_title("$course->shortname: $streditmyforum");
77$PAGE->set_heading($userfullname);
78
79echo $OUTPUT->header();
80echo $OUTPUT->heading($streditmyforum);
81
82// Finally display THE form.
83$forumform->display();
84
85// And proper footer.
86echo $OUTPUT->footer();
87