|
@@ -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));
|
|
|
- */
|
|
|
+ */
|