Skip to content
Snippets Groups Projects
Commit 7b511b00 authored by John Hoopes's avatar John Hoopes
Browse files

updating course_overview_uwmoodle for filtering internal courses from the external ones

parent c49ac652
No related branches found
No related tags found
No related merge requests found
...@@ -103,7 +103,7 @@ function block_course_overview_uwmoodle_get_child_shortnames($courseid) { ...@@ -103,7 +103,7 @@ function block_course_overview_uwmoodle_get_child_shortnames($courseid) {
* @return array list of sorted courses grouped by term. * @return array list of sorted courses grouped by term.
*/ */
function block_course_overview_uwmoodle_get_sorted_courses() { function block_course_overview_uwmoodle_get_sorted_courses() {
global $USER, $CFG; global $USER, $CFG, $DB;
$courses = enrol_get_my_courses(null, 'fullname', 0); $courses = enrol_get_my_courses(null, 'fullname', 0);
$site = get_site(); $site = get_site();
...@@ -120,10 +120,26 @@ function block_course_overview_uwmoodle_get_sorted_courses() { ...@@ -120,10 +120,26 @@ function block_course_overview_uwmoodle_get_sorted_courses() {
} }
} }
// Find the termcode for each course
if (!empty($courses)) {
$courseids = array();
foreach ($courses as $course) {
$courseids[] = $course->id;
}
list ($insql, $inparams) = $DB->get_in_or_equal($courseids);
$select = "enrol='wisc' AND courseid $insql";
$enrols = $DB->get_records_select('enrol', $select, $inparams, '', 'id,courseid,customchar1');
foreach ($enrols as $enrol) {
if (empty($courses[$enrol->courseid]->term) || $courses[$enrol->courseid]->term < $enrol->customchar1) {
$courses[$enrol->courseid]->term = $enrol->customchar1;
}
}
}
// get external courses // get external courses
require_once($CFG->dirroot . '/enrol/wisc/lib/externalcourses/external_user_courses.php'); require_once($CFG->dirroot . '/enrol/wisc/lib/externalcourses/external_user_courses.php');
$externalcourses = new external_user_courses(); $externalcourses = new external_user_courses();
$ecourses = $externalcourses->get_user_courses($USER->email); $ecourses = $externalcourses->get_user_courses($USER->email, $courses);
$courses = array_merge($courses, $ecourses); $courses = array_merge($courses, $ecourses);
...@@ -139,38 +155,11 @@ function block_course_overview_uwmoodle_get_sorted_courses() { ...@@ -139,38 +155,11 @@ function block_course_overview_uwmoodle_get_sorted_courses() {
function block_course_overview_uwmoodle_group_courses_by_term($courses) { function block_course_overview_uwmoodle_group_courses_by_term($courses) {
global $DB; global $DB;
// Find the termcodes for each course // Organize courses into terms, maintaining existing sorting inside each term
$courseterms = array();
if (!empty($courses)) {
$courseids = array();
foreach ($courses as $course) {
if(get_class($course) !== 'external_course') { // skip external courses as we'll add those in after local courses
$courseids[] = $course->id;
}else{
// add external courses directly to the $courseterms array as we already have the term
// also skip external courses that have no term to be added to "other" term later
if(!empty($course->term)){
$courseterms[$course->id][$course->term] = true;
}
}
}
if(!empty($courseids)){
list ($insql, $inparams) = $DB->get_in_or_equal($courseids);
$select = "enrol='wisc' AND courseid $insql";
$enrols = $DB->get_records_select('enrol', $select, $inparams, '', 'id,courseid,customchar1');
foreach ($enrols as $enrol) {
$courseterms[$enrol->courseid][$enrol->customchar1] = true;
}
}
}
// Sort the courses by termcode. Note that one course can be in multiple terms.
$terms = array(); $terms = array();
foreach ($courses as $course) { foreach ($courses as $course) {
if (!empty($courseterms[$course->id])) { if (!empty($course->term)) {
foreach ($courseterms[$course->id] as $termcode => $unused) { $terms[$course->term][$course->id] = $course;
$terms[$termcode][$course->id] = $course;
}
} else { } else {
$terms[block_course_overview_uwmoodle::TERM_OTHER][$course->id] = $course; $terms[block_course_overview_uwmoodle::TERM_OTHER][$course->id] = $course;
} }
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
defined('MOODLE_INTERNAL') || die(); defined('MOODLE_INTERNAL') || die();
$plugin->component = 'block_course_overview_uwmoodle'; $plugin->component = 'block_course_overview_uwmoodle';
$plugin->version = 2014080700; $plugin->version = 2014081200;
$plugin->release = '2.0'; $plugin->release = '2.0';
$plugin->requires = 2012120300; $plugin->requires = 2012120300;
$plugin->maturity = MATURITY_STABLE; $plugin->maturity = MATURITY_STABLE;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment