|
@@ -1095,7 +1095,6 @@ class IndexManager
|
|
|
$useUserLanguageFilterIfAvailable
|
|
|
);
|
|
|
|
|
|
-
|
|
|
// Display courses.
|
|
|
$courses = CourseManager::returnCourses(
|
|
|
$user_id,
|
|
@@ -1103,7 +1102,6 @@ class IndexManager
|
|
|
$useUserLanguageFilterIfAvailable
|
|
|
);
|
|
|
|
|
|
-
|
|
|
// Course option (show student progress)
|
|
|
// This code will add new variables (Progress, Score, Certificate)
|
|
|
if ($studentInfoProgress || $studentInfoScore || $studentInfoCertificate) {
|
|
@@ -1218,7 +1216,6 @@ class IndexManager
|
|
|
$courseCount = count($courseCompleteList);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
$listSessions = null;
|
|
|
|
|
|
/*$collapsable = api_get_configuration_value('allow_user_session_collapsable');
|
|
@@ -1244,117 +1241,117 @@ class IndexManager
|
|
|
|
|
|
if (is_array($sessionCategories)) {
|
|
|
foreach ($sessionCategories as $session_category) {
|
|
|
- // Independent sessions
|
|
|
- foreach ($session_category['sessions'] as $session) {
|
|
|
- $session_id = $session['session_id'];
|
|
|
-
|
|
|
- // Don't show empty sessions.
|
|
|
- if (count($session['courses']) < 1) {
|
|
|
- continue;
|
|
|
- }
|
|
|
+ // Independent sessions
|
|
|
+ foreach ($session_category['sessions'] as $session) {
|
|
|
+ $session_id = $session['session_id'];
|
|
|
|
|
|
- // Courses inside the current session.
|
|
|
- $date_session_start = $session['access_start_date'];
|
|
|
- $date_session_end = $session['access_end_date'];
|
|
|
- $coachAccessStartDate = $session['coach_access_start_date'];
|
|
|
- $coachAccessEndDate = $session['coach_access_end_date'];
|
|
|
- $count_courses_session = 0;
|
|
|
-
|
|
|
- // Loop course content
|
|
|
- $list_courses_session = [];
|
|
|
- $atLeastOneCourseIsVisible = false;
|
|
|
- $markAsOld = false;
|
|
|
- $markAsFuture = false;
|
|
|
-
|
|
|
- foreach ($session['courses'] as $course) {
|
|
|
- $is_coach_course = api_is_coach($session_id, $course['real_id']);
|
|
|
- $allowed_time = 0;
|
|
|
- $allowedEndTime = true;
|
|
|
+ // Don't show empty sessions.
|
|
|
+ if (count($session['courses']) < 1) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
|
|
|
- if (!empty($date_session_start)) {
|
|
|
- if ($is_coach_course) {
|
|
|
- $allowed_time = api_strtotime($coachAccessStartDate);
|
|
|
- } else {
|
|
|
- $allowed_time = api_strtotime($date_session_start);
|
|
|
- }
|
|
|
+ // Courses inside the current session.
|
|
|
+ $date_session_start = $session['access_start_date'];
|
|
|
+ $date_session_end = $session['access_end_date'];
|
|
|
+ $coachAccessStartDate = $session['coach_access_start_date'];
|
|
|
+ $coachAccessEndDate = $session['coach_access_end_date'];
|
|
|
+ $count_courses_session = 0;
|
|
|
+
|
|
|
+ // Loop course content
|
|
|
+ $list_courses_session = [];
|
|
|
+ $atLeastOneCourseIsVisible = false;
|
|
|
+ $markAsOld = false;
|
|
|
+ $markAsFuture = false;
|
|
|
+
|
|
|
+ foreach ($session['courses'] as $course) {
|
|
|
+ $is_coach_course = api_is_coach($session_id, $course['real_id']);
|
|
|
+ $allowed_time = 0;
|
|
|
+ $allowedEndTime = true;
|
|
|
+
|
|
|
+ if (!empty($date_session_start)) {
|
|
|
+ if ($is_coach_course) {
|
|
|
+ $allowed_time = api_strtotime($coachAccessStartDate);
|
|
|
+ } else {
|
|
|
+ $allowed_time = api_strtotime($date_session_start);
|
|
|
+ }
|
|
|
|
|
|
- $endSessionToTms = null;
|
|
|
- if (!isset($_GET['history'])) {
|
|
|
- if (!empty($date_session_end)) {
|
|
|
- if ($is_coach_course) {
|
|
|
- // if coach end date is empty we use the default end date
|
|
|
- if (empty($coachAccessEndDate)) {
|
|
|
- $endSessionToTms = api_strtotime($date_session_end);
|
|
|
- if ($session_now > $endSessionToTms) {
|
|
|
- $allowedEndTime = false;
|
|
|
- }
|
|
|
- } else {
|
|
|
- $endSessionToTms = api_strtotime($coachAccessEndDate);
|
|
|
- if ($session_now > $endSessionToTms) {
|
|
|
- $allowedEndTime = false;
|
|
|
- }
|
|
|
+ $endSessionToTms = null;
|
|
|
+ if (!isset($_GET['history'])) {
|
|
|
+ if (!empty($date_session_end)) {
|
|
|
+ if ($is_coach_course) {
|
|
|
+ // if coach end date is empty we use the default end date
|
|
|
+ if (empty($coachAccessEndDate)) {
|
|
|
+ $endSessionToTms = api_strtotime($date_session_end);
|
|
|
+ if ($session_now > $endSessionToTms) {
|
|
|
+ $allowedEndTime = false;
|
|
|
}
|
|
|
} else {
|
|
|
- $endSessionToTms = api_strtotime($date_session_end);
|
|
|
+ $endSessionToTms = api_strtotime($coachAccessEndDate);
|
|
|
if ($session_now > $endSessionToTms) {
|
|
|
$allowedEndTime = false;
|
|
|
}
|
|
|
}
|
|
|
+ } else {
|
|
|
+ $endSessionToTms = api_strtotime($date_session_end);
|
|
|
+ if ($session_now > $endSessionToTms) {
|
|
|
+ $allowedEndTime = false;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
- if ($showAllSessions) {
|
|
|
- if ($allowed_time < $session_now && $allowedEndTime === false) {
|
|
|
- $markAsOld = true;
|
|
|
- }
|
|
|
- if ($allowed_time > $session_now && $endSessionToTms > $session_now) {
|
|
|
- $markAsFuture = true;
|
|
|
- }
|
|
|
- $allowedEndTime = true;
|
|
|
- $allowed_time = 0;
|
|
|
+ if ($showAllSessions) {
|
|
|
+ if ($allowed_time < $session_now && $allowedEndTime === false) {
|
|
|
+ $markAsOld = true;
|
|
|
+ }
|
|
|
+ if ($allowed_time > $session_now && $endSessionToTms > $session_now) {
|
|
|
+ $markAsFuture = true;
|
|
|
}
|
|
|
+ $allowedEndTime = true;
|
|
|
+ $allowed_time = 0;
|
|
|
+ }
|
|
|
|
|
|
- if ($session_now >= $allowed_time && $allowedEndTime) {
|
|
|
- // Read only and accessible.
|
|
|
- $atLeastOneCourseIsVisible = true;
|
|
|
- if (api_get_setting('hide_courses_in_sessions') === 'false') {
|
|
|
- $courseUserHtml = CourseManager::get_logged_user_course_html(
|
|
|
+ if ($session_now >= $allowed_time && $allowedEndTime) {
|
|
|
+ // Read only and accessible.
|
|
|
+ $atLeastOneCourseIsVisible = true;
|
|
|
+ if (api_get_setting('hide_courses_in_sessions') === 'false') {
|
|
|
+ $courseUserHtml = CourseManager::get_logged_user_course_html(
|
|
|
$course,
|
|
|
$session_id,
|
|
|
'session_course_item',
|
|
|
true,
|
|
|
$this->load_directories_preview
|
|
|
);
|
|
|
- if (isset($courseUserHtml[1])) {
|
|
|
- $course_session = $courseUserHtml[1];
|
|
|
- $course_session['skill'] = isset($courseUserHtml['skill']) ? $courseUserHtml['skill'] : '';
|
|
|
-
|
|
|
- // Course option (show student progress)
|
|
|
- // This code will add new variables (Progress, Score, Certificate)
|
|
|
- if ($studentInfoProgress || $studentInfoScore || $studentInfoCertificate) {
|
|
|
- if ($studentInfoProgress) {
|
|
|
- $progress = Tracking::get_avg_student_progress(
|
|
|
+ if (isset($courseUserHtml[1])) {
|
|
|
+ $course_session = $courseUserHtml[1];
|
|
|
+ $course_session['skill'] = isset($courseUserHtml['skill']) ? $courseUserHtml['skill'] : '';
|
|
|
+
|
|
|
+ // Course option (show student progress)
|
|
|
+ // This code will add new variables (Progress, Score, Certificate)
|
|
|
+ if ($studentInfoProgress || $studentInfoScore || $studentInfoCertificate) {
|
|
|
+ if ($studentInfoProgress) {
|
|
|
+ $progress = Tracking::get_avg_student_progress(
|
|
|
$user_id,
|
|
|
$course['course_code'],
|
|
|
[],
|
|
|
$session_id
|
|
|
);
|
|
|
- $course_session['student_info']['progress'] = $progress === false ? null : $progress;
|
|
|
- }
|
|
|
+ $course_session['student_info']['progress'] = $progress === false ? null : $progress;
|
|
|
+ }
|
|
|
|
|
|
- if ($studentInfoScore) {
|
|
|
- $percentage_score = Tracking::get_avg_student_score(
|
|
|
+ if ($studentInfoScore) {
|
|
|
+ $percentage_score = Tracking::get_avg_student_score(
|
|
|
$user_id,
|
|
|
$course['course_code'],
|
|
|
[],
|
|
|
$session_id
|
|
|
);
|
|
|
- $course_session['student_info']['score'] = $percentage_score;
|
|
|
- }
|
|
|
+ $course_session['student_info']['score'] = $percentage_score;
|
|
|
+ }
|
|
|
|
|
|
- if ($studentInfoCertificate) {
|
|
|
- $category = Category::load(
|
|
|
+ if ($studentInfoCertificate) {
|
|
|
+ $category = Category::load(
|
|
|
null,
|
|
|
null,
|
|
|
$course['course_code'],
|
|
@@ -1362,111 +1359,109 @@ class IndexManager
|
|
|
null,
|
|
|
$session_id
|
|
|
);
|
|
|
- $course_session['student_info']['certificate'] = null;
|
|
|
- if (isset($category[0])) {
|
|
|
- if ($category[0]->is_certificate_available($user_id)) {
|
|
|
- $course_session['student_info']['certificate'] = Display::label(
|
|
|
+ $course_session['student_info']['certificate'] = null;
|
|
|
+ if (isset($category[0])) {
|
|
|
+ if ($category[0]->is_certificate_available($user_id)) {
|
|
|
+ $course_session['student_info']['certificate'] = Display::label(
|
|
|
get_lang('Yes'),
|
|
|
'success'
|
|
|
);
|
|
|
- } else {
|
|
|
- $course_session['student_info']['certificate'] = Display::label(
|
|
|
+ } else {
|
|
|
+ $course_session['student_info']['certificate'] = Display::label(
|
|
|
get_lang('No')
|
|
|
);
|
|
|
- }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- $list_courses_session[] = $course_session;
|
|
|
}
|
|
|
+ $list_courses_session[] = $course_session;
|
|
|
}
|
|
|
- $count_courses_session++;
|
|
|
}
|
|
|
+ $count_courses_session++;
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
- // No courses to show.
|
|
|
- if ($atLeastOneCourseIsVisible === false) {
|
|
|
- if (empty($list_courses_session)) {
|
|
|
- continue;
|
|
|
- }
|
|
|
+ // No courses to show.
|
|
|
+ if ($atLeastOneCourseIsVisible === false) {
|
|
|
+ if (empty($list_courses_session)) {
|
|
|
+ continue;
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
- if ($count_courses_session > 0) {
|
|
|
- $params = [
|
|
|
+ if ($count_courses_session > 0) {
|
|
|
+ $params = [
|
|
|
'id' => $session_id,
|
|
|
];
|
|
|
- $session_box = Display::getSessionTitleBox($session_id);
|
|
|
- $coachId = $session_box['coach_id'];
|
|
|
+ $session_box = Display::getSessionTitleBox($session_id);
|
|
|
+ $coachId = $session_box['coach_id'];
|
|
|
|
|
|
- $params['title'] = $session_box['title'];
|
|
|
- $params['id_coach'] = $coachId;
|
|
|
- $params['coach_url'] = api_get_path(WEB_AJAX_PATH).
|
|
|
+ $params['title'] = $session_box['title'];
|
|
|
+ $params['id_coach'] = $coachId;
|
|
|
+ $params['coach_url'] = api_get_path(WEB_AJAX_PATH).
|
|
|
'user_manager.ajax.php?a=get_user_popup&user_id='.$coachId;
|
|
|
- $params['coach_name'] = !empty($session_box['coach']) ? $session_box['coach'] : null;
|
|
|
- $params['coach_avatar'] = UserManager::getUserPicture(
|
|
|
+ $params['coach_name'] = !empty($session_box['coach']) ? $session_box['coach'] : null;
|
|
|
+ $params['coach_avatar'] = UserManager::getUserPicture(
|
|
|
$coachId,
|
|
|
USER_IMAGE_SIZE_SMALL
|
|
|
);
|
|
|
- $params['date'] = $session_box['dates'];
|
|
|
- $params['duration'] = isset($session_box['duration']) ? ' '.$session_box['duration'] : null;
|
|
|
- $params['show_actions'] = SessionManager::cantEditSession($session_id);
|
|
|
-/*
|
|
|
- if ($collapsable) {
|
|
|
- $collapsableData = Sessionmanager::getCollapsableData(
|
|
|
- $user_id,
|
|
|
- $session_id,
|
|
|
- $extraFieldValue,
|
|
|
- $collapsableLink
|
|
|
- );
|
|
|
- $params['collapsed'] = $collapsableData['collapsed'];
|
|
|
- $params['collapsable_link'] = $collapsableData['collapsable_link'];
|
|
|
- }*/
|
|
|
- $params['image'] = $session_box['image'];
|
|
|
- $params['url'] = $session_box['url'];
|
|
|
- $params['show_description'] = $session_box['show_description'] == 1 && $portalShowDescription;
|
|
|
- $params['description'] = $session_box['description'];
|
|
|
- $params['visibility'] = $session_box['visibility'];
|
|
|
- $params['show_simple_session_info'] = $showSimpleSessionInfo;
|
|
|
- $params['course_list_session_style'] = $coursesListSessionStyle;
|
|
|
- $params['num_users'] = $session_box['num_users'];
|
|
|
- $params['num_courses'] = $session_box['num_courses'];
|
|
|
- $params['course_categories'] = CourseManager::getCourseCategoriesFromCourseList(
|
|
|
+ $params['date'] = $session_box['dates'];
|
|
|
+ $params['duration'] = isset($session_box['duration']) ? ' '.$session_box['duration'] : null;
|
|
|
+ $params['show_actions'] = SessionManager::cantEditSession($session_id);
|
|
|
+ /*
|
|
|
+ if ($collapsable) {
|
|
|
+ $collapsableData = Sessionmanager::getCollapsableData(
|
|
|
+ $user_id,
|
|
|
+ $session_id,
|
|
|
+ $extraFieldValue,
|
|
|
+ $collapsableLink
|
|
|
+ );
|
|
|
+ $params['collapsed'] = $collapsableData['collapsed'];
|
|
|
+ $params['collapsable_link'] = $collapsableData['collapsable_link'];
|
|
|
+ }*/
|
|
|
+ $params['image'] = $session_box['image'];
|
|
|
+ $params['url'] = $session_box['url'];
|
|
|
+ $params['show_description'] = $session_box['show_description'] == 1 && $portalShowDescription;
|
|
|
+ $params['description'] = $session_box['description'];
|
|
|
+ $params['visibility'] = $session_box['visibility'];
|
|
|
+ $params['show_simple_session_info'] = $showSimpleSessionInfo;
|
|
|
+ $params['course_list_session_style'] = $coursesListSessionStyle;
|
|
|
+ $params['num_users'] = $session_box['num_users'];
|
|
|
+ $params['num_courses'] = $session_box['num_courses'];
|
|
|
+ $params['course_categories'] = CourseManager::getCourseCategoriesFromCourseList(
|
|
|
$list_courses_session
|
|
|
);
|
|
|
- $params['courses'] = $list_courses_session;
|
|
|
- $params['is_old'] = $markAsOld;
|
|
|
- $params['is_future'] = $markAsFuture;
|
|
|
- $params['category'] = $session_box['category'];
|
|
|
- $params['color'] = Display::randomColor($session_box['category']['id']);
|
|
|
-
|
|
|
-
|
|
|
- if ($showSimpleSessionInfo) {
|
|
|
- $params['subtitle'] = self::getSimpleSessionDetails(
|
|
|
+ $params['courses'] = $list_courses_session;
|
|
|
+ $params['is_old'] = $markAsOld;
|
|
|
+ $params['is_future'] = $markAsFuture;
|
|
|
+ $params['category'] = $session_box['category'];
|
|
|
+ $params['color'] = Display::randomColor($session_box['category']['id']);
|
|
|
+
|
|
|
+ if ($showSimpleSessionInfo) {
|
|
|
+ $params['subtitle'] = self::getSimpleSessionDetails(
|
|
|
$session_box['coach_name'],
|
|
|
$session_box['dates'],
|
|
|
isset($session_box['duration']) ? $session_box['duration'] : null
|
|
|
);
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
- if ($gameModeIsActive) {
|
|
|
- $params['stars'] = GamificationUtils::getSessionStars(
|
|
|
+ if ($gameModeIsActive) {
|
|
|
+ $params['stars'] = GamificationUtils::getSessionStars(
|
|
|
$params['id'],
|
|
|
$this->user_id
|
|
|
);
|
|
|
- $params['progress'] = GamificationUtils::getSessionProgress(
|
|
|
+ $params['progress'] = GamificationUtils::getSessionProgress(
|
|
|
$params['id'],
|
|
|
$this->user_id
|
|
|
);
|
|
|
- $params['points'] = GamificationUtils::getSessionPoints(
|
|
|
+ $params['points'] = GamificationUtils::getSessionPoints(
|
|
|
$params['id'],
|
|
|
$this->user_id
|
|
|
);
|
|
|
- }
|
|
|
- $listSession[] = $params;
|
|
|
- $sessionCount++;
|
|
|
}
|
|
|
+ $listSession[] = $params;
|
|
|
+ $sessionCount++;
|
|
|
}
|
|
|
-
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
$allCoursesInSessions = [];
|