id); // to extend enrolments current user needs to be able to do role assignments require_capability('moodle/role:assign', $context); if ((count($users) > 0) and ($form = data_submitted()) and confirm_sesskey()) { if (count($form->userid) != count($form->extendperiod)) { error('Parameters malformation', $CFG->wwwroot.'/user/index.php?id='.$id); } foreach ($form->userid as $k => $v) { // find all roles this student have in this course if ($students = get_records_sql("SELECT ra.id, ra.roleid, ra.timestart, ra.timeend FROM {$CFG->prefix}role_assignments ra WHERE userid = $v AND contextid = $context->id")) { // enrol these users again, with time extension // not that this is not necessarily a student role foreach ($students as $student) { // only extend if the user can make role assignments on this role if (user_can_assign($context, $student->roleid)) { role_assign($student->roleid, $v, 0, $context->id, $student->timestart, $student->timeend + $form->extendperiod[$k], 0); } } } } redirect("$CFG->wwwroot/user/index.php?id=$id", get_string('changessaved')); } /// Print headers if ($course->id != SITEID) { print_header("$course->shortname: ".get_string('extendenrol'), $course->fullname, "id\">$course->shortname -> ". get_string('extendenrol'), "", "", true, " ", navmenu($course)); } else { print_header("$course->shortname: ".get_string('extendenrol'), $course->fullname, get_string('extendenrol'), "", "", true, " ", navmenu($course)); } for ($i=1; $i<=365; $i++) { $seconds = $i * 86400; $periodmenu[$seconds] = get_string('numdays', '', $i); } print_heading(get_string('extendenrol')); echo "
\n"; print_footer($course); ?>