diff --git a/main/inc/lib/course.lib.php b/main/inc/lib/course.lib.php index 5b565c901d..5c91b2b080 100755 --- a/main/inc/lib/course.lib.php +++ b/main/inc/lib/course.lib.php @@ -4009,13 +4009,12 @@ class CourseManager $res = Database::query($sql); - $result = array(); + $data = array(); if (Database::num_rows($res) > 0) { $data = Database::fetch_assoc($res); - $result[] = $data['user_course_cat']; - $result[] = $data['title']; } - return $result; + + return $data; } /** @@ -6052,13 +6051,13 @@ class CourseManager 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 + $TABLECOURS course + INNER JOIN $TABLECOURSUSER course_rel_user + ON (course.id = course_rel_user.c_id) + INNER JOIN $TABLE_ACCESS_URL_REL_COURSE url + ON (url.c_id = course.id) WHERE course.id=".intval($courseId)." AND - course.id = course_rel_user.c_id AND - url.c_id = course.id AND course_rel_user.user_id = ".intval($user_id)." $without_special_courses "; @@ -6066,7 +6065,7 @@ class CourseManager // 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.course_code=course.code AND access_url_id=".intval($current_url_id); + $sql .= " AND url.c_id = course.id AND access_url_id=".intval($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"; diff --git a/main/inc/lib/sessionmanager.lib.php b/main/inc/lib/sessionmanager.lib.php index 73cb86c953..de6e90e166 100755 --- a/main/inc/lib/sessionmanager.lib.php +++ b/main/inc/lib/sessionmanager.lib.php @@ -8116,12 +8116,18 @@ class SessionManager $listOneCourse['sessionCatList'] = $listCat; // user course category - list($userCatId, $userCatTitle) = CourseManager::getUserCourseCategoryForCourse( + $courseCategory = CourseManager::getUserCourseCategoryForCourse( $userId, $courseId ); - $userCatId = intval($userCatId); + $userCatTitle = ''; + $userCatId = 0; + if ($courseCategory) { + $userCatId = $courseCategory['user_course_cat']; + $userCatTitle = $courseCategory['title']; + } + $listResults[$userCatId]['courseInUserCategoryId'] = $userCatId; $listResults[$userCatId]['courseInUserCategoryTitle'] = $userCatTitle; $listResults[$userCatId]['courseInUserCatList'][] = $listOneCourse; diff --git a/main/inc/lib/userportal.lib.php b/main/inc/lib/userportal.lib.php index 22e0fee256..a3f51cfb71 100755 --- a/main/inc/lib/userportal.lib.php +++ b/main/inc/lib/userportal.lib.php @@ -1805,16 +1805,27 @@ class IndexManager // Display courses // [code=>xxx, real_id=>000] - $listCourses = CourseManager::get_courses_list_by_user_id($user_id, false); + $listCourses = CourseManager::get_courses_list_by_user_id( + $user_id, + false + ); foreach ($listCourses as $i => $listCourseCodeId) { if (isset($listCourseCodeId['special_course'])) { continue; } - list($userCategoryId, $userCatTitle) = CourseManager::getUserCourseCategoryForCourse( + $courseCategory = CourseManager::getUserCourseCategoryForCourse( $user_id, $listCourseCodeId['real_id'] ); + + $userCatTitle = ''; + $userCategoryId = 0; + if ($courseCategory) { + $userCategoryId = $courseCategory['user_course_cat']; + $userCatTitle = $courseCategory['title']; + } + $listCourse = api_get_course_info_by_id($listCourseCodeId['real_id']); $listCoursesInfo[] = array( 'course' => $listCourse,