Quellcode durchsuchen

Use c_group_info.iid to set correct group see BT#14145

jmontoyaa vor 7 Jahren
Ursprung
Commit
a2612dcc6f
2 geänderte Dateien mit 8 neuen und 8 gelöschten Zeilen
  1. 2 1
      main/inc/lib/AnnouncementManager.php
  2. 6 7
      main/inc/lib/course.lib.php

+ 2 - 1
main/inc/lib/AnnouncementManager.php

@@ -1076,11 +1076,12 @@ class AnnouncementManager
         $id = (int) $id;
         $courseId = api_get_course_int_id();
 
-        $sql = "SELECT * FROM $table
+        $sql = "SELECT to_user_id, to_group_id FROM $table
                 WHERE c_id = $courseId AND tool='$tool' AND ref = $id";
         $result = Database::query($sql);
         $to = [];
         while ($row = Database::fetch_array($result)) {
+            // This is the iid of c_group_info
             $toGroup = $row['to_group_id'];
             switch ($toGroup) {
                 // it was send to one specific user

+ 6 - 7
main/inc/lib/course.lib.php

@@ -2117,9 +2117,7 @@ class CourseManager
             return [];
         }
 
-        $group_list = [];
         $session_id != 0 ? $session_condition = ' WHERE g.session_id IN(1,'.intval($session_id).')' : $session_condition = ' WHERE g.session_id = 0';
-
         if ($in_get_empty_group == 0) {
             // get only groups that are not empty
             $sql = "SELECT DISTINCT g.id, g.iid, g.name
@@ -2135,14 +2133,15 @@ class CourseManager
                     $session_condition
                     AND c_id = $course_id";
         }
-        $result = Database::query($sql);
 
-        while ($group_data = Database::fetch_array($result)) {
-            $group_data['userNb'] = GroupManager::number_of_students($group_data['id'], $course_id);
-            $group_list[$group_data['id']] = $group_data;
+        $result = Database::query($sql);
+        $groupList = [];
+        while ($groupData = Database::fetch_array($result)) {
+            $groupData['userNb'] = GroupManager::number_of_students($groupData['id'], $course_id);
+            $groupList[$groupData['iid']] = $groupData;
         }
 
-        return $group_list;
+        return $groupList;
     }
 
     /**