function cegep_sisdb_init() { global $CFG, $enroldb, $sisdb, $sisdbsource; // Verify if external database enrolment is enabled if (!in_array('database', explode(',', $CFG->enrol_plugins_enabled))) { print_error('errorenroldbnotavailable', 'block_cegep'); } // Prepare external enrolment database connection if ($enroldb = enroldb_connect()) { $enroldb->Execute("SET NAMES 'utf8'"); } else { error_log('[ENROL_DB] Could not make a connection'); print_error('dbconnectionfailed', 'error'); } // Prepare external SIS database connection if ($sisdb = sisdb_connect()) { $sisdb->Execute("SET NAMES 'utf8'"); } else { error_log('[SIS_DB] Could not make a connection'); print_error('dbconnectionfailed', 'error'); } // Prepare external SIS source database connection if ($sisdbsource = sisdbsource_connect()) { //$sisdbsource->Execute("SET NAMES 'utf8'"); } else { error_log('[SIS_DB_SOURCE] Could not make a connection'); print_error('dbconnectionfailed', 'error'); } }
/** * Returns the list of section numbers enrolled in a given course */ function cegep_dawson_courses_get_sections($courseidnumber, $courseid = 0, &$has_sections = false, $filter_term = 'all', &$echo_course = false) { global $CFG; $echo_course = false; if ($filter_term == 'all') { $echo_course = true; } $enroldb = enroldb_connect(); $select = "SELECT DISTINCT `coursegroup_id` FROM `{$CFG->enrol_remoteenroltable}` WHERE `{$CFG->enrol_remotecoursefield}` = '{$courseidnumber}' AND `{$CFG->enrol_remoterolefield}` = '{$CFG->block_cegep_studentrole}' AND `coursegroup_id` IS NOT NULL ORDER BY `coursegroup_id`"; $coursegroups_rs = $enroldb->Execute($select); if (!$coursegroups_rs) { trigger_error($enroldb->ErrorMsg() . ' STATEMENT: ' . $select, E_USER_ERROR); return false; } $sisdb = sisdb_connect(); $coursegroup_id = ''; $has_sections = false; $html = ''; $on_first = true; while (!$coursegroups_rs->EOF) { if ($on_first) { $html .= '<span class="cegep_section">'; } $coursegroup_id = $coursegroups_rs->fields['coursegroup_id']; $select = "SELECT * FROM `{$CFG->sisdb_name}`.`coursegroup` WHERE id = '{$coursegroup_id}'"; $coursegroup = $sisdb->Execute($select)->fields; if (!empty($coursegroup)) { if (!$on_first) { $html .= ', ' . strtolower(get_string("cegepsection", "block_cegep")) . ' ' . $coursegroup['group'] . ' (' . cegep_dawson_term_to_string($coursegroup['term']) . ')'; } else { $html .= get_string("cegepsection", "block_cegep") . ' ' . $coursegroup['group'] . ' (' . cegep_dawson_term_to_string($coursegroup['term']) . ')'; } if (!empty($filter_term) && $filter_term != 'all') { if ($coursegroup['term'] == $filter_term) { $echo_course = true; } } $has_sections = true; $coursegroups_rs->MoveNext(); if ($on_first) { $on_first = false; } } else { $coursegroups_rs->MoveNext(); } } if (!$has_sections) { $html .= '<span class="error">' . get_string("cegepnosections", "block_cegep") . '</span>'; } else { $html .= '</span>'; } $enroldb->Close(); $sisdb->Close(); return $html; }
require_login($COURSE); // Set up and display page header $strtitle = get_string('enrolment', 'block_cegep'); $navlinks = array(); $navlinks[] = array('name' => $strtitle, 'link' => null, 'type' => 'misc'); $navigation = build_navigation($navlinks); print_header("{$COURSE->shortname}: {$strtitle}", $COURSE->fullname, $navigation); // This module only available to teachers and admins $context = get_context_instance(CONTEXT_COURSE, $COURSE->id); require_capability('moodle/course:update', $context, null, true, 'errormustbeteacher', 'block_cegep'); // Verify if external database enrolment is enabled if (!in_array('database', explode(',', $CFG->enrol_plugins_enabled))) { print_error('errorenroldbnotavailable', 'block_cegep'); } // Prepare external enrolment database connection if ($enroldb = enroldb_connect()) { $enroldb->Execute("SET NAMES 'utf8'"); } else { error_log('[ENROL_DB] Could not make a connection'); print_error('dbconnectionfailed', 'error'); } // Prepare external SIS database connection if ($sisdb = sisdb_connect()) { $sisdb->Execute("SET NAMES 'utf8'"); } else { error_log('[SIS_DB] Could not make a connection'); print_error('dbconnectionfailed', 'error'); } // Get system context for global Admin CEGEP permissions $syscontext = get_context_instance(CONTEXT_SYSTEM, 1); // Main switch
function cegep_delete_course_enrolments($course) { global $CFG; $enroldb = enroldb_connect(); $delete = "DELETE FROM `{$CFG->enrol_dbname}`.`{$CFG->enrol_remoteenroltable}` WHERE `{$CFG->enrol_remotecoursefield}` = '{$course->idnumber}';"; $result = $enroldb->Execute($delete); if (!$result) { notify(get_string('errordeletingenrolment', 'block_cegep')); $enroldb->Close(); return false; } else { notify(get_string('coursegroupunenrolled', 'block_cegep', array($enroldb->Affected_Rows()))); $enroldb->Close(); return true; } }