datalib: get_my_courses() - some fixes to the data we return
strangely, get_my_courses() is expected to return the array keyed on id, which messes up the sorting So let's do it ;-)
This commit is contained in:
@@ -1796,8 +1796,6 @@ function get_user_access_bycontext($userid, $context, $acc=NULL) {
|
||||
function load_all_capabilities() {
|
||||
global $USER,$CFG;
|
||||
|
||||
unset($USER->mycourses); // Reset a cache used by get_my_courses
|
||||
|
||||
static $defcaps;
|
||||
|
||||
$base = '/'.SYSCONTEXTID;
|
||||
|
||||
+10
-4
@@ -624,15 +624,21 @@ function get_my_courses($userid, $sort='visible DESC,sortorder ASC', $fields=NUL
|
||||
}
|
||||
|
||||
if ($userid === $USER->id && isset($USER->access)) {
|
||||
return get_courses_bycap_fromsess('moodle/course:view', $USER->access,
|
||||
$doanything, $sort, $fields,
|
||||
$limit);
|
||||
$accessinfo = $USER->access;
|
||||
} else {
|
||||
$accessinfo = get_user_access_sitewide($userid);
|
||||
return get_courses_bycap_fromsess('moodle/course:view', $accessinfo,
|
||||
}
|
||||
$courses = get_courses_bycap_fromsess('moodle/course:view', $accessinfo,
|
||||
$doanything, $sort, $fields,
|
||||
$limit);
|
||||
// strangely, get_my_courses() is expected to return the
|
||||
// array keyed on id, which messes up the sorting
|
||||
$kcourses = array();
|
||||
$cc = count($courses);
|
||||
for ($n=0; $n<$cc; $n++) {
|
||||
$kcourses[$courses[$n]->id] = $courses[$n];
|
||||
}
|
||||
return $kcourses;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user