From: martinlanghoff Date: Sun, 6 Jan 2008 23:25:26 +0000 (+0000) Subject: lib/deprecatedlib: enrol/manual: Fix calls to get_users_by_capability() to avoid ra X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=1113f8002ac30693e862a59ea7cde310dd5189b1;p=moodle.git lib/deprecatedlib: enrol/manual: Fix calls to get_users_by_capability() to avoid ra get_users_by_capability() can no longer refer to properties of role assignments or roles, as the capability aggregate is indirect. Fixes: get_teacher() - though the results will be poor, as we cannot provide role.sortorder reliably (used mainly by mod/workshop) get_course_teachers() - which seems broken for a lot of situations as its default parameters still refer to old tables. MDL-12452 --- diff --git a/lib/deprecatedlib.php b/lib/deprecatedlib.php index 6b1652f736..75cd1e50e6 100644 --- a/lib/deprecatedlib.php +++ b/lib/deprecatedlib.php @@ -515,13 +515,10 @@ function get_teacher($courseid) { $context = get_context_instance(CONTEXT_COURSE, $courseid); - if ($users = get_users_by_capability($context, 'moodle/course:update', 'u.*,ra.hidden', 'r.sortorder ASC', - '', '', '', '', false)) { - foreach ($users as $user) { - if (!$user->hidden || has_capability('moodle/role:viewhiddenassigns', $context)) { - return $user; - } - } + // Pass $view=true to filter hidden caps if the user cannot see them + if ($users = get_users_by_capability($context, 'moodle/course:update', 'u.*', 'u.id ASC', + '', '', '', '', false, true)) { + return array_shift($users); } return false; @@ -746,7 +743,7 @@ function get_course_teachers($courseid, $sort='t.authority ASC', $exceptions='') } } - return get_users_by_capability($context, 'moodle/course:update', 'u.*, ul.timeaccess as lastaccess, ra.hidden', $sort, '','','',$exceptions, false); + return get_users_by_capability($context, 'moodle/course:update', 'u.*, ul.timeaccess as lastaccess', $sort, '','','',$exceptions, false); /// some fields will be missing, like authority, editall /* return get_records_sql("SELECT u.id, u.username, u.firstname, u.lastname, u.maildisplay, u.mailformat, u.maildigest,