From 5b6306677bdecbbd5422f28c0c5236e009d670d4 Mon Sep 17 00:00:00 2001 From: moodler Date: Sat, 16 Sep 2006 15:22:55 +0000 Subject: [PATCH] extending get_user_roles with more options and more returned info --- lib/accesslib.php | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/lib/accesslib.php b/lib/accesslib.php index 9ef81807f4..8ab5e6e244 100755 --- a/lib/accesslib.php +++ b/lib/accesslib.php @@ -2236,7 +2236,7 @@ function user_can_assign($context, $targetroleid) { * @param int $userid * @return array */ -function get_user_roles($context, $userid=0) { +function get_user_roles($context, $userid=0, $checkparentcontexts=true) { global $USER, $CFG, $db; @@ -2247,16 +2247,19 @@ function get_user_roles($context, $userid=0) { $userid = $USER->id; } - if ($parents = get_parent_contexts($context)) { - $contexts = ' AND ra.contextid IN ('.implode(',' , $parents).','.$context->id.')'; + if ($checkparentcontexts && ($parents = get_parent_contexts($context))) { + $contexts = ' ra.contextid IN ('.implode(',' , $parents).','.$context->id.')'; } else { - $contexts = ' AND ra.contextid = \''.$context->id.'\''; + $contexts = ' ra.contextid = \''.$context->id.'\''; } - return get_records_sql('SELECT * - FROM '.$CFG->prefix.'role_assignments ra + return get_records_sql('SELECT ra.*, r.name + FROM '.$CFG->prefix.'role_assignments ra, + '.$CFG->prefix.'role r WHERE ra.userid = '.$userid. - $contexts); + ' AND ra.roleid = r.id + AND '.$contexts. + ' ORDER BY r.sortorder ASC'); } /** @@ -2356,7 +2359,7 @@ function get_users_by_capability($context, $capability, $fields='', $sort='', /// Set up default fields if (empty($fields)) { - $fields = 'u.*, ul.timeaccess as lastaccess'; + $fields = 'u.*, ul.timeaccess as lastaccess, ra.hidden'; } /// Set up default sort -- 2.39.5