diff --git a/main/inc/lib/course.lib.php b/main/inc/lib/course.lib.php index d054d066f9..175adaa010 100755 --- a/main/inc/lib/course.lib.php +++ b/main/inc/lib/course.lib.php @@ -3444,7 +3444,7 @@ class CourseManager $special_course_list = self::get_special_course_list(); - $with_special_courses = $without_special_courses = ''; + $with_special_courses = ''; if (!empty($special_course_list)) { $with_special_courses = ' course.code IN ("' . implode('","', $special_course_list) . '")'; } @@ -3527,6 +3527,8 @@ class CourseManager $params['notifications'] = $show_notification; } + $params['is_special_course'] = true; + $courseList[] = $params; } @@ -3668,7 +3670,6 @@ class CourseManager $thumbnails = null; $image = null; - if ($showCustomIcon === 'true' && $iconName != 'course.png') { $thumbnails = $course_info['course_image']; $image = $course_info['course_image_large']; @@ -3693,7 +3694,6 @@ class CourseManager $params['document'] .= Display::div('', array('id' => 'document_result_' . $course_info['real_id'] . '_0', 'class' => 'document_preview_container')); } - $courseUrl = ''; $courseUrl = api_get_path(WEB_COURSE_PATH) . $course_info['path'] . '/index.php?id_session=0'; if (api_get_setting('display_teacher_in_courselist') === 'true') { @@ -3714,23 +3714,14 @@ class CourseManager $params['category'] = $course_info['categoryName']; $params['teachers'] = $teachers; - if ($course_info['visibility'] != COURSE_VISIBILITY_CLOSED) { $params['notifications'] = $showNotification; } - $isSubContent = true; - if (empty($user_category_id)) { - $isSubContent = false; - } - $courseList[] = $params; - } return $courseList; - - } /** @@ -3831,8 +3822,6 @@ class CourseManager $params['document'] .= Display::div('', array('id' => 'document_result_' . $course_info['real_id'] . '_0', 'class' => 'document_preview_container')); } - - $course_title_url = ''; $course_title_url = api_get_path(WEB_COURSE_PATH) . $course_info['path'] . '/index.php?id_session=0'; $teachers = ''; @@ -3858,11 +3847,6 @@ class CourseManager $params['notifications'] = $showNotification; } - $isSubContent = true; - if (empty($user_category_id)) { - $isSubContent = false; - } - $courseList[] = $params; } diff --git a/main/inc/lib/userportal.lib.php b/main/inc/lib/userportal.lib.php index 9577a4ceca..4ebb28385e 100755 --- a/main/inc/lib/userportal.lib.php +++ b/main/inc/lib/userportal.lib.php @@ -1090,7 +1090,14 @@ class IndexManager $gamificationModeIsActive = api_get_setting('gamification_mode'); $listCourse = ''; + $specialCourseList = ''; $load_history = (isset($_GET['history']) && intval($_GET['history']) == 1) ? true : false; + + $viewGridCourses = api_get_configuration_value('view_grid_courses'); + + $coursesWithoutCategoryTemplate = '/user_portal/classic_courses_without_category.tpl'; + $coursesWithCategoryTemplate = '/user_portal/classic_courses_with_category.tpl'; + if ($load_history) { // Load sessions in category in *history* $session_categories = UserManager::get_sessions_by_category($user_id, true); @@ -1112,6 +1119,8 @@ class IndexManager $sessionCount = 0; $courseCount = 0; + $template = new Template(null, false, false, false, false, false, false); + // If we're not in the history view... if (!isset($_GET['history'])) { // Display special courses. @@ -1126,15 +1135,30 @@ class IndexManager $this->load_directories_preview ); - $this->tpl->assign('special_courses', $specialCourses); - $this->tpl->assign('courses', $courses); - if (api_get_configuration_value('view_grid_courses') && ($courses || $specialCourses)) { - $listCourse = $this->tpl->fetch( - $this->tpl->get_template('/user_portal/grid_courses.tpl')); - } else if ($courses || $specialCourses) { - $listCourse = $this->tpl->fetch( - $this->tpl->get_template('/user_portal/classic_courses.tpl')); + if ($viewGridCourses) { + $coursesWithoutCategoryTemplate = '/user_portal/grid_courses_without_category.tpl'; + $coursesWithCategoryTemplate = '/user_portal/grid_courses_with_category.tpl'; + } + + if ($specialCourses) { + $template->assign('courses', $specialCourses); + + $specialCourseList = $template->fetch( + $this->tpl->get_template($coursesWithoutCategoryTemplate) + ); + } + + if ($courses) { + $template->assign('courses', $courses['not_category']); + $template->assign('categories', $courses['in_category']); + + $listCourse = $template->fetch( + $this->tpl->get_template($coursesWithCategoryTemplate) + ); + $listCourse .= $template->fetch( + $this->tpl->get_template($coursesWithoutCategoryTemplate) + ); } $courseCount = count($specialCourses) + count($courses['in_category']) + count($courses['not_category']); @@ -1470,7 +1494,7 @@ class IndexManager } return [ - 'html' => $sessions_with_category.$sessions_with_no_category.$listCourse, + 'html' => $specialCourseList . $sessions_with_category.$sessions_with_no_category.$listCourse, 'session_count' => $sessionCount, 'course_count' => $courseCount ]; diff --git a/main/template/default/user_portal/classic_courses.tpl b/main/template/default/user_portal/classic_courses.tpl deleted file mode 100644 index ca7844f431..0000000000 --- a/main/template/default/user_portal/classic_courses.tpl +++ /dev/null @@ -1,193 +0,0 @@ - -