-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathcreate.php
72 lines (61 loc) · 2.34 KB
/
create.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* @package local-mail
* @copyright Albert Gasset <[email protected]>
* @copyright Marc Català <[email protected]>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
require_once('../../config.php');
require_once('locallib.php');
require_once('create_form.php');
$courseid = optional_param('c', $SITE->id, PARAM_INT);
$recipient = optional_param('r', false, PARAM_INT);
$recipients = optional_param('rs', '', PARAM_SEQUENCE);
$role = optional_param('local_mail_role', 0, PARAM_INT);
// Setup page.
if (!$course = $DB->get_record('course', array('id' => $courseid))) {
print_error('invalidcourse', 'error');
}
$url = new moodle_url('/local/mail/create.php');
local_mail_setup_page($course, $url);
$context = context_course::instance($course->id);
// Create message.
if ($course->id != $SITE->id and has_capability('local/mail:usemail', $context)) {
require_sesskey();
$message = local_mail_message::create($USER->id, $course->id);
if ($recipients) {
local_mail_add_recipients($message, explode(',', $recipients), $role);
} else if (local_mail_valid_recipient($recipient)) {
$message->add_recipient('to', $recipient);
}
$params = array('m' => $message->id());
$url = new moodle_url('/local/mail/compose.php', $params);
redirect($url);
}
// Setup form.
$courses = local_mail_get_my_courses();
$customdata = array('courses' => $courses);
$mform = new local_mail_create_form($url, $customdata);
$mform->get_data();
// Display page.
echo $OUTPUT->header();
if ($courses) {
$mform->display();
} else {
echo $OUTPUT->notification(get_string('cannotcompose', 'local_mail'));
}
echo $OUTPUT->footer();