From: martinlanghoff Date: Wed, 19 Sep 2007 07:09:36 +0000 (+0000) Subject: group/assign: fixed performance of assigning users to groups X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=47b18c1c12ef4e43980fbd512f38f3e090cf9c4e;p=moodle.git group/assign: fixed performance of assigning users to groups - page would not display on a course with 600 users --- diff --git a/group/assign.php b/group/assign.php index a56a4b318b..75b7fe0c6f 100644 --- a/group/assign.php +++ b/group/assign.php @@ -72,6 +72,28 @@ if ($currentmembers) { $currentmembersoptions .= ''; $currentmemberscount ++; } + + // Get course managers so they can be hilited in the list + if ($managerroles = get_config('', 'coursemanager')) { + $coursemanagerroles = split(',', $managerroles); + foreach ($coursemanagerroles as $roleid) { + $role = get_record('role','id',$roleid); + $managers = get_role_users($roleid, $context, true, 'u.id', 'u.id ASC', true); + } + } + + if ($potentialmembers != false) { + // Put the groupings into a hash and sorts them + foreach ($potentialmembers as $user) { + if(!empty($managers[$user->id])) { + $nonmembers[$user->id] = '#'.$user->firstname.' '.$user->lastname; + } + else { + $nonmembers[$user->id] = $user->firstname.' '.$user->lastname; + } + $potentialmemberscount++; + } + natcasesort($nonmembers); } else { $currentmembersoptions .= ''; } diff --git a/lib/deprecatedlib.php b/lib/deprecatedlib.php index b252514043..a7b9c8f803 100644 --- a/lib/deprecatedlib.php +++ b/lib/deprecatedlib.php @@ -765,7 +765,7 @@ function get_course_teachers($courseid, $sort='t.authority ASC', $exceptions='') * @return object * @todo Finish documenting this function */ -function get_course_users($courseid, $sort='ul.timeaccess DESC', $exceptions='', $fields='') { +function get_course_users($courseid, $sort='ul.timeaccess DESC', $exceptions='', $fields='u.*, ul.timeaccess as lastaccess') { global $CFG; $context = get_context_instance(CONTEXT_COURSE, $courseid); @@ -790,7 +790,7 @@ function get_course_users($courseid, $sort='ul.timeaccess DESC', $exceptions='', } } } - return get_users_by_capability($context, 'moodle/course:view', 'u.*, ul.timeaccess as lastaccess', $sort, '','','',$exceptions, false); + return get_users_by_capability($context, 'moodle/course:view', $fields, $sort, '','','',$exceptions, false); }