MDL-32009 message: Small changes before integration
[moodle.git] / admin / message.php
CommitLineData
75c34c23 1<?php
2f2137fc
RK
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/>.
75c34c23
RK
16
17/**
18 * Message outputs configuration page
19 *
20 * @package message
21 * @copyright 2011 Lancaster University Network Services Limited
22 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
23 */
60bbe768
RK
24require_once(dirname(__FILE__) . '/../config.php');
25require_once($CFG->dirroot . '/message/lib.php');
75c34c23
RK
26require_once($CFG->libdir.'/adminlib.php');
27
28// This is an admin page
29admin_externalpage_setup('managemessageoutputs');
30
31// Require site configuration capability
32require_capability('moodle/site:config', get_context_instance(CONTEXT_SYSTEM));
33
34// Get the submitted params
35$disable = optional_param('disable', 0, PARAM_INT);
36$enable = optional_param('enable', 0, PARAM_INT);
e96b10b1
SH
37$uninstall = optional_param('uninstall', 0, PARAM_INT);
38$confirm = optional_param('confirm', false, PARAM_BOOL);
0210ce10
RK
39
40$headingtitle = get_string('managemessageoutputs', 'message');
75c34c23
RK
41
42if (!empty($disable) && confirm_sesskey()) {
43 if (!$processor = $DB->get_record('message_processors', array('id'=>$disable))) {
44 print_error('outputdoesnotexist', 'message');
45 }
46 $DB->set_field('message_processors', 'enabled', '0', array('id'=>$processor->id)); // Disable output
47}
48
0210ce10 49if (!empty($enable) && confirm_sesskey()) {
75c34c23
RK
50 if (!$processor = $DB->get_record('message_processors', array('id'=>$enable))) {
51 print_error('outputdoesnotexist', 'message');
52 }
53 $DB->set_field('message_processors', 'enabled', '1', array('id'=>$processor->id)); // Enable output
54}
55
0210ce10
RK
56if (!empty($uninstall) && confirm_sesskey()) {
57 echo $OUTPUT->header();
58 echo $OUTPUT->heading($headingtitle);
59
60 if (!$processor = $DB->get_record('message_processors', array('id'=>$uninstall))) {
61 print_error('outputdoesnotexist', 'message');
62 }
63
64 $processorname = get_string('pluginname', 'message_'.$processor->name);
65
66 if (!$confirm) {
67 echo $OUTPUT->confirm(get_string('processordeleteconfirm', 'message', $processorname), 'message.php?uninstall='.$processor->id.'&confirm=1', 'message.php');
68 echo $OUTPUT->footer();
69 exit;
70
71 } else {
72 message_processor_uninstall($processor->name);
73 $a->processor = $processorname;
74 $a->directory = $CFG->dirroot.'/message/output/'.$processor->name;
75 notice(get_string('processordeletefiles', 'message', $a), 'message.php');
76 }
77}
78
79if ($disable || $enable || $uninstall) {
75c34c23
RK
80 $url = new moodle_url('message.php');
81 redirect($url);
82}
83// Page settings
84$PAGE->set_context(get_context_instance(CONTEXT_SYSTEM));
85
86// Grab the renderer
87$renderer = $PAGE->get_renderer('core', 'message');
88
89// Display the manage message outputs interface
90$processors = get_message_processors();
91$messageoutputs = $renderer->manage_messageoutputs($processors);
92
93// Display the page
94echo $OUTPUT->header();
0210ce10 95echo $OUTPUT->heading($headingtitle);
75c34c23
RK
96echo $messageoutputs;
97echo $OUTPUT->footer();