]> git.mjollnir.org Git - moodle.git/commitdiff
adding group support for get_role_users
authortoyomoyo <toyomoyo>
Mon, 9 Jul 2007 06:22:56 +0000 (06:22 +0000)
committertoyomoyo <toyomoyo>
Mon, 9 Jul 2007 06:22:56 +0000 (06:22 +0000)
lib/accesslib.php

index 5f1c6dbc96e168d5d99f99bf626658b87eb9ab26..6aeee993bb346558595a2375d6bfa9490bb71cfc 100755 (executable)
@@ -3699,7 +3699,7 @@ function get_users_by_capability($context, $capability, $fields='', $sort='',
  * @param bool parent if true, get list of users assigned in higher context too
  * @return array()
  */
-function get_role_users($roleid, $context, $parent=false, $fields='', $sort='u.lastname ASC', $view=false, $limitfrom='', $limitnum='') {
+function get_role_users($roleid, $context, $parent=false, $fields='', $sort='u.lastname ASC', $view=false, $limitfrom='', $limitnum='', $group='') {
     global $CFG;
 
     if (empty($fields)) {
@@ -3726,11 +3726,21 @@ function get_role_users($roleid, $context, $parent=false, $fields='', $sort='u.l
     } else {
         $roleselect = '';
     }
+    
+    if ($group) {
+        $groupsql = "{$CFG->prefix}groups_members gm, ";
+        $groupwheresql = " AND gm.userid = u.id AND gm.groupid = $group ";  
+    } else {
+        $groupsql = '';
+        $groupwheresql = '';   
+    }
 
     $SQL = "SELECT $fields
             FROM {$CFG->prefix}role_assignments r,
+                 $groupsql
                  {$CFG->prefix}user u
             WHERE (r.contextid = $context->id $parentcontexts)
+                 $groupwheresql
             AND u.id = r.userid $roleselect
             $hiddensql
             ORDER BY $sort