/** * Enrol a coursegroup/section into a Moodle course. * Accepts either the coursegroup id OR coursecode, coursegroup * and term for the coursegroup/section to enrol. */ function cegep_local_enrol_coursegroup() { global $CFG, $COURSE, $DB, $enroldb, $sisdb; $args = func_get_args(); if (count($args) == 1) { $coursegroup_id = $args[0]; } elseif (count($args) == 3) { $coursegroup_id = cegep_local_get_coursegroup_id($args[0], $args[1], $args[2]); $coursegroup = $args[1]; } else { return FALSE; } // Fetch records of students enrolled into this course from SIS $select_students = "SELECT * FROM `{$CFG->sisdb_name}`.`student_enrolment` WHERE `coursegroup_id` = {$coursegroup_id};"; $students_rs = $sisdb->Execute($select_students); // Fail if can't find coursegroup id or student list if (!$coursegroup_id || !$students_rs) { return FALSE; } $context = get_context_instance(CONTEXT_COURSE, $COURSE->id); $student_role = $DB->get_record('role', array($CFG->enrol_localrolefield => $CFG->block_cegep_studentrole)); // Go through each student and insert Moodle external enrolment database record $students_enrolled = array(); while ($students_rs && !$students_rs->EOF) { $student = $students_rs->fields; if (!cegep_local_enrol_user($COURSE->idnumber, $student['username'], $CFG->block_cegep_studentrole, $coursegroup_id)) { return FALSE; } else { array_push($students_enrolled, $student['username']); } $students_rs->MoveNext(); } return $students_enrolled; }
function cegep_enrolprogram() { global $CFG, $COURSE, $OUTPUT, $enroldb, $sisdb; $currenttab = 'enrolprogram'; require 'block_cegep_tabs.php'; // Set up enrolment form require 'block_cegep_enrolprogram_form.php'; $enrolprogramform = new cegep_enrolprogram_form('block_cegep_enrolment.php?a=enrolprogram&id=' . $COURSE->id . ''); // Go back to course page if cancelled if ($enrolprogramform->is_cancelled()) { redirect($CFG->wwwroot . '/course/view.php?id=' . $COURSE->id); } elseif ($data = $enrolprogramform->get_data()) { $program_idyear = $data->program_id . '_' . $data->program_year; // Fetch records of students enrolled into this program/year from SISDB $select_students = "SELECT * FROM `{$CFG->sisdb_name}`.`student` WHERE `program_id` = '" . $data->program_id . "' AND program_year = '" . $data->program_year . "';"; $students_rs = $sisdb->Execute($select_students); if (!$students_rs) { print_error('errorimportingstudentlist', 'block_cegep'); } // Go through each student and insert Moodle external enrolment database record $studentlist = ''; while ($students_rs && !$students_rs->EOF) { $student = $students_rs->fields; $program_idyear = $data->program_id . "_" . $data->program_year; if (!cegep_local_enrol_user($COURSE->idnumber, $student['username'], $CFG->block_cegep_studentrole, NULL, $program_idyear)) { trigger_error(get_string('errorimportingstudentlist', 'block_cegep'), E_USER_ERROR); break; } else { $studentlist .= $student['username'] . '<br />'; } $students_rs->MoveNext(); } // Display nice confirmation with student list and buttons echo $OUTPUT->notification(get_string('programenrolled', 'block_cegep'), 'notifysuccess'); echo $OUTPUT->continue_button($CFG->wwwroot . '/course/view.php?id=' . $COURSE->id); } else { echo $OUTPUT->heading(get_string('enrolprogram', 'block_cegep'), 3); $enrolprogramform->display(); } }
$coursecode = optional_param('coursecode', null, PARAM_ALPHANUM); require_login(); $coursetitle = cegep_local_get_course_title($coursecode); $createcourse_form = new cegep_createcourse_form(null, array('coursecode' => $coursecode, 'coursetitle' => $coursetitle)); if ($createcourse_form->is_cancelled()) { redirect($CFG->wwwroot); } elseif ($data = $createcourse_form->get_data()) { require_once '../../course/lib.php'; $course = cegep_local_new_course_template($data->coursecode); $course->shortname = $course->idnumber; $course->fullname = $data->fullname; $course->visible = $data->visible; $course = create_course($course); if (is_object($course) && $course->id > 0) { // Enrol current user (teacher) into the new course (except if admin) if (!is_siteadmin($USER)) { cegep_local_enrol_user($course->idnumber, $USER->username, 'editingteacher'); } // Redirect to the enrolment form redirect($CFG->wwwroot . '/blocks/cegep/block_cegep_enrolment.php?a=enrol&id=' . $course->id, get_string('coursecreatesuccess', 'block_cegep')); } else { print_error('errorcreatingcourse', 'block_cegep'); } } else { $PAGE->navbar->add(get_string('coursecreate', 'block_cegep')); $PAGE->set_heading('heading'); $PAGE->set_title(get_string('coursecreate', 'block_cegep')); echo $OUTPUT->header(); $createcourse_form->display(); echo $OUTPUT->footer(); }