Example #1
0
 * @copyright  Marc CatalĂ  <*****@*****.**>
 * @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);
// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.

/**
 * @package    local-mail
 * @copyright  Marc CatalĂ  <*****@*****.**>
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */

require_once(dirname(dirname(dirname(__FILE__))) . '/config.php');
require_once($CFG->dirroot.'/local/mail/locallib.php');
require_once($CFG->dirroot.'/local/mail/preferences_form.php');

$url = new moodle_url('/local/mail/preferences.php');
$viewurl = new moodle_url('/local/mail/view.php', array('t' => 'inbox'));

local_mail_setup_page($SITE, new moodle_url($url));
$title = get_string('preferences');

$prefs = new stdClass;
$prefs->markasread  = get_user_preferences('local_mail_markasread', 0);

$form = new local_mail_preferences_form($url);
$form->set_data($prefs);

if ($form->is_cancelled()) {
    redirect($viewurl);
} else if ($form->is_submitted() && $form->is_validated() && confirm_sesskey()) {
    $data = $form->get_data();

    if (!isset($data->markasread)) {
        $data->markasread = '0';
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */
require_once '../../config.php';
require_once 'locallib.php';
require_once 'recipients_selector.php';
$messageid = required_param('m', PARAM_INT);
// Fetch message
$message = local_mail_message::fetch($messageid);
if (!$message or !$message->editable($USER->id)) {
    print_error('invalidmessage', 'local_mail');
}
// Set up page
$params = array('m' => $messageid);
$url = new moodle_url('/local/mail/recipients.php', $params);
$activeurl = new moodle_url('/local/mail/compose.php', $params);
local_mail_setup_page($message->course(), $url);
navigation_node::override_active_url($activeurl);
// Check group
$groupid = groups_get_course_group($COURSE, true);
if (!$groupid and $COURSE->groupmode == SEPARATEGROUPS and !has_capability('moodle/site:accessallgroups', $PAGE->context)) {
    echo $OUTPUT->header();
    echo $OUTPUT->heading(get_string('notingroup', 'local_mail'));
    echo $OUTPUT->continue_button($activeurl);
    echo $OUTPUT->footer();
    exit;
}
// Set up selector
$options = array('courseid' => $COURSE->id, 'groupid' => $groupid);
$participants = new mail_recipients_selector('recipients', $options);
$participants->exclude(array_keys($message->recipients()));
$participants->exclude(array($message->sender()->id));