require_login($course); require_capability('moodle/course:enrolreview', $context); $PAGE->set_pagelayout('admin'); $manager = new course_enrolment_manager($PAGE, $course, $filter); $table = new course_enrolment_users_table($manager, $PAGE); $returnurl = new moodle_url('/enrol/users.php', $table->get_combined_url_params()); $actionurl = new moodle_url('/enrol/bulkchange.php', $table->get_combined_url_params() + array('bulkuserop' => $bulkuserop)); $PAGE->set_url($actionurl); navigation_node::override_active_url(new moodle_url('/enrol/users.php', array('id' => $id))); $ops = $table->get_bulk_user_enrolment_operations(); if (!array_key_exists($bulkuserop, $ops)) { throw new moodle_exception('invalidbulkenrolop'); } $operation = $ops[$bulkuserop]; // Prepare the properties of the form $users = $manager->get_users_enrolments($userids); // Get the form for the bulk operation $mform = $operation->get_form($actionurl, array('users' => $users)); // If the mform is false then attempt an immediate process. This may be an immediate action that // doesn't require user input OR confirmation.... who know what but maybe one day if ($mform === false) { if ($operation->process($manager, $users, new stdClass())) { redirect($returnurl); } else { print_error('errorwithbulkoperation', 'enrol'); } } // Check if the bulk operation has been cancelled if ($mform->is_cancelled()) { redirect($returnurl); }