. /** * Manual enrolment plugin - support for user self unenrolment. * * @package enrol * @subpackage manual * @copyright 2010 Petr Skoda {@link http://skodak.org} * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ require('../../config.php'); $enrolid = required_param('enrolid', PARAM_INT); $confirm = optional_param('confirm', 0, PARAM_BOOL); $instance = $DB->get_record('enrol', array('id'=>$enrolid, 'enrol'=>'manual'), '*', MUST_EXIST); $course = $DB->get_record('course', array('id'=>$instance->courseid), '*', MUST_EXIST); $context = get_context_instance(CONTEXT_COURSE, $course->id, MUST_EXIST); require_login(); if (!is_enrolled($context)) { redirect(new moodle_url('/')); } require_login($course); $plugin = enrol_get_plugin('manual'); // security defined inside following function if (!$plugin->get_unenrolself_link($instance)) { redirect(new moodle_url('/course/view.php', array('id'=>$course->id))); } $PAGE->set_url('/enrol/manual/unenrolself.php', array('enrolid'=>$instance->id)); $PAGE->set_title($plugin->get_instance_name($instance)); if ($confirm and confirm_sesskey()) { $plugin->unenrol_user($instance, $USER->id); add_to_log($course->id, 'course', 'unenrol', '../enrol/users.php?id='.$course->id, $course->id); //there should be userid somewhere! redirect(new moodle_url('/index.php')); } echo $OUTPUT->header(); $yesurl = new moodle_url($PAGE->url, array('confirm'=>1, 'sesskey'=>sesskey())); $nourl = new moodle_url('/course/view.php', array('id'=>$course->id)); $message = get_string('unenrolselfconfirm', 'enrol_manual', format_string($course->fullname)); echo $OUTPUT->confirm($message, $yesurl, $nourl); echo $OUTPUT->footer();