diff --git a/calendar/lib.php b/calendar/lib.php index d12c10faa98..745d2b98cc8 100644 --- a/calendar/lib.php +++ b/calendar/lib.php @@ -1223,12 +1223,22 @@ function calendar_get_default_courses($ignoreref = false) { // find all course this student can view if ($allcourses = get_my_courses($USER->id,'visible DESC,sortorder ASC', '*', true)) { foreach ($allcourses as $courseid=>$acourse) { + $auth = ''; $context = get_context_instance(CONTEXT_COURSE, $courseid); - // let's try to see if there is any direct assignments on tihs context - if ($roleassign = get_record('role_assignments', 'contextid', $context->id, 'userid', $USER->id)) { - $courses[$courseid] = $roleassign->enrol; - } - } + if ($roleassign = get_records_sql("SELECT * FROM {$CFG->prefix}role_assignments + WHERE contextid = $context->id + AND userid = $USER->id")) { + foreach ($roleassign as $rid => $rs) { + if (!empty($rs->enrol)) { + $auth = $rs->enrol; + break; + } + } + } else { + $auth = ''; + } + $courses[$courseid] = $auth; + } } return $courses; @@ -1354,4 +1364,4 @@ function calendar_set_filters_status($packed_bitfield) { return true; } -?> \ No newline at end of file +?>