]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-12505 do not leak separate groups info in advanced search user selection and...
authorskodak <skodak>
Sat, 5 Jul 2008 20:57:35 +0000 (20:57 +0000)
committerskodak <skodak>
Sat, 5 Jul 2008 20:57:35 +0000 (20:57 +0000)
course/recent.php
course/recent_form.php

index 30de12596f2d28dcbf9cb904c51ea9213eb11bf4..04a2bfbd10b57d5d99fb56f8f27e0aee8888b0bc 100644 (file)
         case 'datedesc' : usort($activities, 'compare_activities_by_time_desc'); break;
         case 'dateasc'  : usort($activities, 'compare_activities_by_time_asc'); break;
         case 'default'  :
-        default         : $detail = false; $sortby = 'default';
+        default         : $detail = false; $param->sortby = 'default';
 
     }
 
 
         foreach ($activities as $key => $activity) {
 
-            // peak at next activity.  If it's another section, don't print this one!
-            // this means there are no activities in the current section
-            if (($activity->type == 'section') &&
-                (($activity_count == ($key + 1)) ||
-                ($activities[$key+1]->type == 'section'))) {
-
-                continue;
-
+            if ($activity->type == 'section') {
+                if ($param->sortby != 'default') {
+                    continue; // no section if ordering by date
+                }
+                if ($activity_count == ($key + 1) or $activities[$key+1]->type == 'section') {
+                // peak at next activity.  If it's another section, don't print this one!
+                // this means there are no activities in the current section
+                    continue;
+                }
             }
 
-            if (($activity->type == 'section') && ($sortby == 'default')) {
+            if (($activity->type == 'section') && ($param->sortby == 'default')) {
                 if ($inbox) {
                     print_simple_box_end();
                     print_spacer(30);
 
             } else if ($activity->type == 'activity') {
 
-                if ($sortby == 'default') {
+                if ($param->sortby == 'default') {
                     $cm = $modinfo->cms[$activity->cmid];
 
                     if ($cm->visible) {
index 17be91a9831f1b429bf241fb8821637f21f00fe8..dde3dbe45c8c8bab0e13eff752071f1a0d8a38b4 100644 (file)
@@ -27,7 +27,14 @@ class recent_form extends moodleform {
                 $options[$guest->id] = fullname($guest);
             }
 
-            if ($courseusers = get_users_by_capability($context, 'moodle/course:view', 'u.id, u.firstname, u.lastname', 'lastname ASC, firstname DESC')) {
+            if (groups_get_course_groupmode($COURSE) == SEPARATEGROUPS) {
+                $groups = groups_get_user_groups($COURSE->id);
+                $groups = $groups[0];
+            } else {
+                $groups = '';
+            }
+            
+            if ($courseusers = get_users_by_capability($context, 'moodle/course:view', 'u.id, u.firstname, u.lastname', 'lastname ASC, firstname DESC', '', '', $groups)) {
                 foreach ($courseusers as $courseuser) {
                     $options[$courseuser->id] = fullname($courseuser, $viewfullnames);
                 }