. /** * Cohort related management functions, this file needs to be included manually. * * @package core * @subpackage cohort * @copyright 2010 Petr Skoda {@link http://skodak.org} * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ require_once('../config.php'); require_once($CFG->dirroot.'/cohort/lib.php'); $id = required_param('id', PARAM_INT); require_login(); $cohort = $DB->get_record('cohort', array('id'=>$id), '*', MUST_EXIST); $context = get_context_instance_by_id($cohort->contextid, MUST_EXIST); require_capability('moodle/cohort:assign', $context); $PAGE->set_context($context); $PAGE->set_url('/cohort/assign.php', array('id'=>$id)); $returnurl = new moodle_url('/cohort/index.php', array('contextid'=>$cohort->contextid)); if (!empty($cohort->component)) { // we can not manually edit cohorts that were created by external systems, sorry redirect($returnurl); } if (optional_param('cancel', false, PARAM_BOOL)) { redirect($returnurl); } if ($context->contextlevel == CONTEXT_COURSECAT) { $category = $DB->get_record('course_categories', array('id'=>$context->instanceid), '*', MUST_EXIST); navigation_node::override_active_url(new moodle_url('/cohort/index.php', array('contextid'=>$cohort->contextid))); $PAGE->set_pagelayout('report'); } else { navigation_node::override_active_url(new moodle_url('/cohort/index.php', array())); $PAGE->set_pagelayout('admin'); } $PAGE->navbar->add(get_string('assign', 'cohort')); $PAGE->set_title(get_string('cohort:assign', 'cohort')); $PAGE->set_heading($COURSE->fullname); echo $OUTPUT->header(); echo $OUTPUT->heading(get_string('assignto', 'cohort', format_string($cohort->name))); echo $OUTPUT->notification(get_string('removeuserwarning', 'core_cohort')); // Get the user_selector we will need. $potentialuserselector = new cohort_candidate_selector('addselect', array('cohortid'=>$cohort->id)); $existinguserselector = new cohort_existing_selector('removeselect', array('cohortid'=>$cohort->id)); // Process incoming user assignments to the cohort if (optional_param('add', false, PARAM_BOOL) && confirm_sesskey()) { $userstoassign = $potentialuserselector->get_selected_users(); if (!empty($userstoassign)) { foreach ($userstoassign as $adduser) { // no duplicates please if (!$DB->record_exists('cohort_members', array('cohortid'=>$cohort->id, 'userid'=>$adduser->id))) { cohort_add_member($cohort->id, $adduser->id); } } $potentialuserselector->invalidate_selected_users(); $existinguserselector->invalidate_selected_users(); } } // Process removing user assignments to the cohort if (optional_param('remove', false, PARAM_BOOL) && confirm_sesskey()) { $userstoremove = $existinguserselector->get_selected_users(); if (!empty($userstoremove)) { foreach ($userstoremove as $removeuser) { cohort_remove_member($cohort->id, $removeuser->id); } $potentialuserselector->invalidate_selected_users(); $existinguserselector->invalidate_selected_users(); } } // Print the form. ?>

display() ?>

display() ?>
footer();