Fix exercise count see BT#15492

pull/2874/head
Julio 7 years ago
parent dcebb2486b
commit 12cedeb473
  1. 72
      main/session/index.php

@ -44,12 +44,13 @@ Session::erase('duration_time');
$userId = api_get_user_id();
$session_info = SessionManager::fetch($session_id);
$session_list = SessionManager::get_sessions_by_coach(api_get_user_id());
$course_list = SessionManager::get_course_list_by_session_id($session_id);
$courseList = SessionManager::get_course_list_by_session_id($session_id);
$userIsGeneralCoach = SessionManager::user_is_general_coach($userId, $session_id);
$user_course_list = [];
foreach ($course_list as $course) {
$exerciseListPerCourse = [];
foreach ($courseList as $course) {
$status = SessionManager::get_user_status_in_course_session(
$userId,
$course['real_id'],
@ -58,6 +59,32 @@ foreach ($course_list as $course) {
if ($status !== false || api_is_platform_admin() || $userIsGeneralCoach) {
$user_course_list[] = $course['real_id'];
}
$exerciseList = ExerciseLib::get_all_exercises_for_course_id(
$course,
$session_id,
$course['real_id'],
true
);
$exerciseListNew = [];
if (!empty($exerciseList)) {
// Exercises
foreach ($exerciseList as $exerciseInfo) {
$exerciseId = $exerciseInfo['id'];
$visibility = api_get_item_visibility(
$course,
TOOL_QUIZ,
$exerciseId,
$session_id
);
if ($visibility == 0) {
continue;
}
$exerciseListNew[] = $exerciseInfo;
}
}
$exerciseListPerCourse[$course['real_id']] = $exerciseListNew;
}
if (empty($user_course_list)) {
@ -67,8 +94,8 @@ if (empty($user_course_list)) {
$my_session_list = [];
$final_array = [];
$new_course_list = [];
if (!empty($course_list)) {
foreach ($course_list as $course_data) {
if (!empty($courseList)) {
foreach ($courseList as $course_data) {
if (api_is_platform_admin()) {
$course_data['title'] = Display::url(
$course_data['title'],
@ -107,17 +134,7 @@ if (!empty($course_list)) {
}
$course_info = api_get_course_info($course_data['code']);
$exercise_count = count(
ExerciseLib::get_all_exercises(
$course_info,
$session_id,
true,
null,
false,
1
)
);
$exerciseCount = count($exerciseListPerCourse[$course_info['real_id']]);
$max_mutation_date = '';
$last_date = Tracking::get_last_connection_date_on_the_course(
api_get_user_id(),
@ -158,7 +175,7 @@ if (!empty($course_list)) {
'title' => $course_data['title'].$icons,
// 'recent_lps' => $icons,
//'max_mutation_date' => substr(api_get_local_time($max_mutation_date),0,10),
'exercise_count' => $exercise_count,
'exercise_count' => $exerciseCount,
'lp_count' => $lp_count,
];
}
@ -223,7 +240,6 @@ if (empty($session_id)) {
//Final data to be show
$my_real_array = $new_exercises = [];
$now = time();
$courseList = SessionManager::get_course_list_by_session_id($session_id);
if (!empty($courseList)) {
foreach ($courseList as $courseInfo) {
@ -237,29 +253,11 @@ if (!empty($courseList)) {
$session_id
);
$exerciseList = ExerciseLib::get_all_exercises_for_course_id(
$courseInfo,
$session_id,
$courseId,
true
);
$exerciseList = $exerciseListPerCourse[$courseId];
if (!empty($exerciseList)) {
// Exercises
foreach ($exerciseList as $exerciseInfo) {
$exerciseId = $exerciseInfo['id'];
$visibility = api_get_item_visibility(
$courseInfo,
TOOL_QUIZ,
$exerciseId,
$session_id
);
if ($visibility == 0) {
continue;
}
if ($exerciseInfo['start_time'] == '0000-00-00 00:00:00') {
$start_date = '-';
} else {

Loading…
Cancel
Save