diff --git a/main/inc/lib/course.lib.php b/main/inc/lib/course.lib.php index d39e8ee758..52173ac82a 100755 --- a/main/inc/lib/course.lib.php +++ b/main/inc/lib/course.lib.php @@ -3339,81 +3339,6 @@ class CourseManager return $html; } - /** - * Builds the course block in user_portal.php - * @todo use Twig - * @param array $params - * @param bool|false $is_sub_content - * @return string - */ - public static function course_item_html($params, $is_sub_content = false) - { - $html = ''; - $class = "panel panel-default"; - if ($is_sub_content) { - $class = "course_item"; - } - $html .= '
'; - $html .= '
'; - $html .= '
'; - $html .= '
'; - $html .= '
'; - if (!empty($params['link'])) { - $html .= ''; - $html .= $params['icon']; - $html .= ''; - } else { - $html .= '
'; - $html .= $params['icon']; - $html .= '
'; - } - $html .= '
'; - $notifications = isset($params['notifications']) ? $params['notifications'] : ''; - $param_class = isset($params['class']) ? $params['class'] : ''; - $params['right_actions'] = isset($params['right_actions']) ? $params['right_actions'] : ''; - - $html .= '
'; - $html .= '
' . $params['right_actions'] . '
'; - $html .= '

' . $params['title'] . $notifications . '

'; - - if (isset($params['show_description'], $params['description']) && $params['show_description'] == 1) { - $html .= '

' . $params['description'] . '

'; - } - if (!empty($params['subtitle'])) { - $html .= '
' . $params['subtitle'] . '
'; - } - if (!empty($params['teachers'])) { - $html .= '
' . - Display::return_icon('teacher.png', get_lang('Teacher'), array(), ICON_SIZE_TINY) . - $params['teachers'] . '
'; - } - if (!empty($params['coaches'])) { - $html .= '
' . - Display::return_icon('teacher.png', get_lang('Coach'), array(), ICON_SIZE_TINY) . - $params['coaches'] . '
'; - } - - $html .= '
'; - $html .= '
'; - - $html .= '
'; - - $html .= '
'; - $html .= '
'; - return $html; - } - - /** - * @param string $main_content - * @param string $sub_content - * @param string $sub_sub_content - * @return string - */ - public static function course_item_parent($main_content, $sub_content, $sub_sub_content = null) - { - return '
' . $main_content . $sub_content . $sub_sub_content . '
'; - } - /** * Display special courses (and only these) as several HTML divs of class userportal-course-item * @@ -3516,76 +3441,7 @@ class CourseManager } return $listCourse; } - - /** - * Display courses (without special courses) as several HTML divs - * of course categories, as class userportal-catalog-item. - * @uses displayCoursesInCategory() to display the courses themselves - * @param int user id - * @param bool Whether to show the document quick-loader or not - * @return string - */ - public static function display_courses($user_id, $load_dirs = false) - { - $user_id = intval($user_id); - if (empty($user_id)) { - $user_id = api_get_user_id(); - } - - // Step 1: We get all the categories of the user - $table = Database::get_main_table(TABLE_USER_COURSE_CATEGORY); - $sql = "SELECT id, title FROM $table - WHERE user_id = '" . $user_id . "' - ORDER BY sort ASC"; - $result = Database::query($sql); - $html = null; - $courseCount = 0; - $items = []; - while ($row = Database::fetch_array($result)) { - // We simply display the title of the category. - $params = array( - 'icon' => Display::return_icon( - 'folder_yellow.png', - api_htmlentities($row['title']), array(), ICON_SIZE_LARGE - ), - 'title' => $row['title'], - 'class' => 'table_user_course_category' - ); - - $courseInCategory = self:: displayCoursesInCategory( - $row['id'], - $load_dirs - ); - - $item = self::course_item_parent( - self::course_item_html($params, true), - $courseInCategory['html'] - ); - - $html .= $item; - - $items[] = $item; - $courseCount += $courseInCategory['course_count']; - } - - // Step 2: We display the course without a user category. - $courseInCategory = self::displayCoursesInCategory(0, $load_dirs); - - $html .= $courseInCategory['html']; - - if (!empty($courseInCategory['items'])) { - $items = array_merge($items, $courseInCategory['items']); - } - - $courseCount += $courseInCategory['course_count']; - - return [ - 'html' => $html, - 'items' => $items, - 'course_count' => $courseCount - ]; - } - + /** * Display courses (without special courses) as several HTML divs * of course categories, as class userportal-catalog-item. @@ -3906,191 +3762,7 @@ class CourseManager return $listCourse; } - /** - * Display courses inside a category (without special courses) as HTML dics of - * class userportal-course-item. - * @param int User category id - * @param bool Whether to show the document quick-loader or not - * @return string - */ - public static function displayCoursesInCategory($user_category_id, $load_dirs = false) - { - $user_id = api_get_user_id(); - // Table definitions - $TABLECOURS = Database:: get_main_table(TABLE_MAIN_COURSE); - $TABLECOURSUSER = Database:: get_main_table(TABLE_MAIN_COURSE_USER); - $TABLE_ACCESS_URL_REL_COURSE = Database:: get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE); - $current_url_id = api_get_current_access_url_id(); - - // Get course list auto-register - $special_course_list = self::get_special_course_list(); - - $without_special_courses = ''; - if (!empty($special_course_list)) { - $without_special_courses = ' AND course.code NOT IN ("' . implode('","', $special_course_list) . '")'; - } - - //AND course_rel_user.relation_type<>".COURSE_RELATION_TYPE_RRHH." - $sql = "SELECT - course.id, - course.title, - course.code, - course.subscribe subscr, - course.unsubscribe unsubscr, - course_rel_user.status status, - course_rel_user.sort sort, - course_rel_user.user_course_cat user_course_cat - FROM $TABLECOURS course, - $TABLECOURSUSER course_rel_user, - $TABLE_ACCESS_URL_REL_COURSE url - WHERE - course.id = course_rel_user.c_id AND - url.c_id = course.id AND - course_rel_user.user_id = '" . $user_id . "' AND - course_rel_user.user_course_cat = '" . $user_category_id . "' - $without_special_courses "; - - // If multiple URL access mode is enabled, only fetch courses - // corresponding to the current URL. - if (api_get_multiple_access_url() && $current_url_id != -1) { - $sql .= " AND url.c_id = course.id AND access_url_id='" . $current_url_id . "'"; - } - // Use user's classification for courses (if any). - $sql .= " ORDER BY course_rel_user.user_course_cat, course_rel_user.sort ASC"; - - $result = Database::query($sql); - $html = ''; - $items = []; - - $course_list = array(); - $showCustomIcon = api_get_setting('course_images_in_courses_list'); - $courseCount = 0; - // Browse through all courses. - while ($course = Database::fetch_array($result)) { - $course_info = api_get_course_info($course['code']); - if (isset($course_info['visibility']) && - $course_info['visibility'] == COURSE_VISIBILITY_HIDDEN - ) { - continue; - } - $course_info['id_session'] = null; - $course_info['status'] = $course['status']; - - //In order to avoid doubles - if (in_array($course_info['real_id'], $course_list)) { - continue; - } else { - $course_list[] = $course_info['real_id']; - } - - $courseCount++; - - // For each course, get if there is any notification icon to show - // (something that would have changed since the user's last visit). - $show_notification = Display::show_notification($course_info); - - $status_icon = Display::return_icon( - 'blackboard.png', - api_htmlentities($course_info['title']), - array(), - ICON_SIZE_LARGE - ); - - $iconName = basename($course_info['course_image']); - if ($showCustomIcon === 'true' && $iconName != 'course.png') { - $status_icon = Display::img( - $course_info['course_image'], - api_htmlentities($course_info['title']), - array() - ); - } - - $params = array(); - $params['right_actions'] = ''; - - if (api_is_platform_admin()) { - if ($load_dirs) { - $params['right_actions'] .= '' . Display::return_icon('folder.png', - get_lang('Documents'), array('align' => 'absmiddle'), ICON_SIZE_SMALL) . ''; - $params['right_actions'] .= '' . Display::return_icon('edit.png', - get_lang('Edit'), array('align' => 'absmiddle'), ICON_SIZE_SMALL) . ''; - $params['right_actions'] .= Display::div('', array( - 'id' => 'document_result_' . $course_info['real_id'] . '_0', - 'class' => 'document_preview_container' - )); - } else { - $params['right_actions'] .= '' . Display::return_icon('edit.png', - get_lang('Edit'), array('align' => 'absmiddle'), ICON_SIZE_SMALL) . ''; - } - - if ($course_info['status'] == COURSEMANAGER) { - //echo Display::return_icon('teachers.gif', get_lang('Status').': '.get_lang('Teacher'), array('style'=>'width: 11px; height: 11px;')); - } - } else { - if ($course_info['visibility'] != COURSE_VISIBILITY_CLOSED) { - if ($load_dirs) { - $params['right_actions'] .= '' . Display::return_icon('folder.png', - get_lang('Documents'), array('align' => 'absmiddle'), ICON_SIZE_SMALL) . ''; - $params['right_actions'] .= Display::div('', array( - 'id' => 'document_result_' . $course_info['real_id'] . '_0', - 'class' => 'document_preview_container' - )); - } else { - if ($course_info['status'] == COURSEMANAGER) { - $params['right_actions'] .= '' . Display::return_icon('edit.png', - get_lang('Edit'), array('align' => 'absmiddle'), ICON_SIZE_SMALL) . ''; - } - } - } - } - - $course_title_url = ''; - if ($course_info['visibility'] != COURSE_VISIBILITY_CLOSED || $course['status'] == COURSEMANAGER) { - $course_title_url = api_get_path(WEB_COURSE_PATH) . $course_info['path'] . '/index.php?id_session=0'; - $course_title = Display::url($course_info['title'], $course_title_url); - } else { - $course_title = $course_info['title'] . " " . Display::tag('span', get_lang('CourseClosed'), - array('class' => 'item_closed')); - } - - // Start displaying the course block itself - if (api_get_setting('display_coursecode_in_courselist') == 'true') { - $course_title .= ' (' . $course_info['visual_code'] . ') '; - } - - if (api_get_setting('display_teacher_in_courselist') == 'true') { - $teachers = CourseManager::get_teacher_list_from_course_code_to_string( - $course['code'], - self::USER_SEPARATOR, - true - ); - } - - $params['link'] = $course_title_url; - $params['icon'] = $status_icon; - $params['title'] = $course_title; - $params['teachers'] = $teachers; - - if ($course_info['visibility'] != COURSE_VISIBILITY_CLOSED) { - $params['notifications'] = $show_notification; - } - - $isSubContent = true; - if (empty($user_category_id)) { - $isSubContent = false; - } - $item = self::course_item_html($params, $isSubContent); - $html .= $item; - $items[] = $item; - } - - return [ - 'html' => $html, - 'items' => $items, - 'course_count' => $courseCount - ]; - } - + /** * Retrieves the user defined course categories * @param string $userId diff --git a/main/inc/lib/userportal.lib.php b/main/inc/lib/userportal.lib.php index a2db4ffc67..d64bc19b8d 100755 --- a/main/inc/lib/userportal.lib.php +++ b/main/inc/lib/userportal.lib.php @@ -1043,7 +1043,6 @@ class IndexManager $sessionCount = 0; $courseCount = 0; - $items = []; // If we're not in the history view... if (!isset($_GET['history'])) { // Display special courses.