Răsfoiți Sursa

Fixing query, fixing PHP warnings.

Julio Montoya 11 ani în urmă
părinte
comite
98ded7b869

+ 0 - 4
main/inc/lib/course.lib.php

@@ -1818,10 +1818,6 @@ class CourseManager
         return $result_array;
     }
 
-    /*
-        GROUP FUNCTIONS
-    */
-
     /**
      * Get the list of groups from the course
      * @param   string  Course code

+ 1 - 1
main/inc/lib/display.lib.php

@@ -108,7 +108,7 @@ class Display
 
     public static function display_no_header()
     {
-        global $tool_name;
+        global $tool_name, $show_learnpath;
         $disable_js_and_css_files = true;
         self::$global_template = new Template($tool_name, false, false, $show_learnpath);
         //echo self::$global_template->show_header_template();

+ 3 - 1
main/inc/lib/gradebook.lib.php

@@ -28,7 +28,8 @@ class Gradebook extends Model {
      * @param int $c_id Course integer id, defaults to the current course
      * @return boolean
      */
-    public static function is_active($c_id = null) {
+    public static function is_active($c_id = null)
+    {
         $name = 'gradebook';
         $table = Database::get_main_table(TABLE_MAIN_SETTINGS_CURRENT);
         $sql = "SELECT * from $table WHERE variable='course_hide_tools' AND subkey='$name'";
@@ -39,6 +40,7 @@ class Gradebook extends Model {
         if ($inactive) {
             return false;
         }
+
         $c_id = $c_id ? intval($c_id) : api_get_course_int_id();
         $table  = Database::get_course_table(TABLE_TOOL_LIST);
         $sql = "SELECT * from $table WHERE c_id = $c_id and name='$name'";

+ 34 - 7
main/inc/lib/groupmanager.lib.php

@@ -937,24 +937,51 @@ class GroupManager
      * @param int $start
      * @param int $limit
      * @param bool $getCount
+     * @param int $courseId
      * @return array list of user id
      */
-    public static function get_users($group_id, $load_extra_info = false, $start = null, $limit = null, $getCount = false)
-    {
+    public static function get_users(
+        $group_id,
+        $load_extra_info = false,
+        $start = null,
+        $limit = null,
+        $getCount = false,
+        $courseId = null,
+        $column = null,
+        $direction = null
+    ) {
         $group_user_table = Database :: get_course_table(TABLE_GROUP_USER);
+        $user_table = Database :: get_main_table(TABLE_MAIN_USER);
+
         $group_id = Database::escape_string($group_id);
-        $course_id = api_get_course_int_id();
-        $select = " SELECT user_id ";
+        if (empty($courseId)) {
+            $courseId = api_get_course_int_id();
+        } else {
+            $courseId = intval($courseId);
+        }
+
+        $select = " SELECT g.user_id, firstname, lastname ";
         if ($getCount) {
-            $select = " SELECT count(user_id) count";
+            $select = " SELECT count(u.user_id) count";
         }
-        $sql = "$select FROM $group_user_table
-                WHERE c_id = $course_id AND group_id = $group_id";
+        $sql = "$select
+                FROM $group_user_table g
+                INNER JOIN $user_table u
+                ON (u.user_id = g.user_id)
+                WHERE c_id = $courseId AND g.group_id = $group_id";
+
+        if (!empty($column) && !empty($direction)) {
+            $column = Database::escape_string($column);
+            $direction = Database::escape_string($direction);
+            $sql .= " ORDER BY $column $direction";
+        }
+
         if (!empty($start) && !empty($limit)) {
             $start = intval($start);
             $limit = intval($limit);
             $sql .= " LIMIT $start, $limit";
         }
+
         $res = Database::query($sql);
         $users = array();
         while ($obj = Database::fetch_object($res)) {