Browse Source

manual merge

Yannick Warnier 11 years ago
parent
commit
47f5e2193f
1 changed files with 30 additions and 6 deletions
  1. 30 6
      main/inc/lib/course_category.lib.php

+ 30 - 6
main/inc/lib/course_category.lib.php

@@ -437,7 +437,21 @@ function browseCourseCategories()
             $whereCondition
             ORDER BY tree_pos ASC";
     $result = Database::query($sql);
+    $url_access_id = 1;
+    if (api_is_multiple_url_enabled()) {
+        $url_access_id = api_get_current_access_url_id();
+    }
+    $countCourses = CourseManager :: count_courses($url_access_id);
     $categories = array();
+    $categories[0][0] = array(
+        'id' => 0,
+        'name' => get_lang('DisplayAll'),
+        'code' => 'ALL',
+        'parent_id' => null,
+        'tree_pos' => 0,
+        'count_courses' => $countCourses
+
+    );
     while ($row = Database::fetch_array($result)) {
         $count_courses = countCoursesInCategory($row['code']);
         $row['count_courses'] = $count_courses;
@@ -447,7 +461,9 @@ function browseCourseCategories()
             $categories[$row['parent_id']][$row['tree_pos']] = $row;
         }
     }
+    
     $count_courses = countCoursesInCategory();
+
     $categories[0][count($categories[0])+1] = array(
         'id' =>0,
         'name' => get_lang('None'),
@@ -459,6 +475,7 @@ function browseCourseCategories()
         'auth_cat_child' => true,
         'count_courses' => $count_courses
     );
+    
     return $categories;
 }
 
@@ -466,7 +483,7 @@ function browseCourseCategories()
  * @param string $category_code
  * @return int
  */
-function countCoursesInCategory($category_code='')
+function countCoursesInCategory($category_code="")
 {
     $tbl_course = Database::get_main_table(TABLE_MAIN_COURSE);
     $TABLE_COURSE_FIELD = Database :: get_main_table(TABLE_MAIN_COURSE_FIELD);
@@ -502,8 +519,7 @@ function countCoursesInCategory($category_code='')
             $sql = "SELECT * FROM $tbl_course as course
                     INNER JOIN $tbl_url_rel_course as url_rel_course
                     ON (url_rel_course.course_code=course.code)
-                    WHERE
-                        access_url_id = $url_access_id AND category_code" . "='" . $category_code . "'" . $without_special_courses;
+                    WHERE access_url_id = $url_access_id AND category_code" . "='" . $category_code . "'" . $without_special_courses;
         }
     }
     return Database::num_rows(Database::query($sql));
@@ -581,7 +597,7 @@ function browseCoursesInCategory($category_code, $random_value = null)
         $sql = "SELECT * FROM $tbl_course WHERE id IN($id_in)";
     } else {
         $category_code = Database::escape_string($category_code);
-        if (empty($category_code)) {
+        if (empty($category_code) || $category_code == "ALL") {
             $sql = "SELECT * FROM $tbl_course WHERE 1=1 $without_special_courses ORDER BY title ";
         } else {
             if ($category_code == 'NONE') {
@@ -594,10 +610,18 @@ function browseCoursesInCategory($category_code, $random_value = null)
         if (api_is_multiple_url_enabled()) {
             $url_access_id = api_get_current_access_url_id();
             $tbl_url_rel_course = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE);
-            $sql = "SELECT * FROM $tbl_course as course INNER JOIN $tbl_url_rel_course as url_rel_course
+            if ($category_code != "ALL") {
+                $sql = "SELECT * FROM $tbl_course as course INNER JOIN $tbl_url_rel_course as url_rel_course
                     ON (url_rel_course.course_code=course.code)
                     WHERE access_url_id = $url_access_id AND category_code='$category_code' $without_special_courses
+                    ORDER BY title";    
+            } else{
+                $sql = "SELECT * FROM $tbl_course as course INNER JOIN $tbl_url_rel_course as url_rel_course
+                    ON (url_rel_course.course_code=course.code)
+                    WHERE access_url_id = $url_access_id $without_special_courses
                     ORDER BY title";
+            }
+            
         }
     }
 
@@ -748,4 +772,4 @@ function searchCategoryById($list)
 
 /**
  CREATE TABLE IF NOT EXISTS access_url_rel_course_category (access_url_id int unsigned NOT NULL, course_category_id int unsigned NOT NULL, PRIMARY KEY (access_url_id, course_category_id));
- */
+ */