diff --git a/public/main/inc/lib/tracking.lib.php b/public/main/inc/lib/tracking.lib.php index 7b4472a409d..9c7a53184a7 100644 --- a/public/main/inc/lib/tracking.lib.php +++ b/public/main/inc/lib/tracking.lib.php @@ -2395,12 +2395,12 @@ public static function get_avg_student_exercise_score( } // Compose a filter based on optional session id given - $condition_session = ''; + $sessionCondition = ''; $session = null; - if (isset($sessionId)) { - $session = api_get_session_entity($course_info['real_id']); + if ($sessionId !== null) { + $session = api_get_session_entity($sessionId); + $sessionCondition = api_get_session_condition($sessionId); } - $sessionCondition = api_get_session_condition($sessionId); $condition_active = ''; if (1 == $active_filter) { @@ -2418,7 +2418,7 @@ public static function get_avg_student_exercise_score( $quizRepo = Container::getQuizRepository(); $course = api_get_course_entity($course_info['real_id']); - $qb = $quizRepo->getResourcesByCourse($course, $session); + $qb = $quizRepo->getResourcesByCourse($course, $session, null, null, false); $qb ->select('count(resource)') ->setMaxResults(1); diff --git a/public/main/my_space/myStudents.php b/public/main/my_space/myStudents.php index 0bda69dcbaa..99c06e5d541 100644 --- a/public/main/my_space/myStudents.php +++ b/public/main/my_space/myStudents.php @@ -1983,8 +1983,14 @@ 2, 1 ); - $score_percentage = $scores_lp[0]; - $lp_name = $scores_lp[1]; + + if (is_array($scores_lp) && array_key_exists(0, $scores_lp) && array_key_exists(1, $scores_lp)) { + $score_percentage = $scores_lp[0]; + $lp_name = $scores_lp[1]; + } else { + $score_percentage = $score_percentage ?: 0; + $lp_name = $lp_name ?: ''; + } } $lp_name = !empty($lp_name) ? $lp_name : get_lang('No learning path'); diff --git a/src/CourseBundle/Repository/CQuizRepository.php b/src/CourseBundle/Repository/CQuizRepository.php index e0118c02c62..e34973d4d03 100644 --- a/src/CourseBundle/Repository/CQuizRepository.php +++ b/src/CourseBundle/Repository/CQuizRepository.php @@ -32,7 +32,7 @@ public function findAllByCourse( bool $onlyPublished = true, ?int $categoryId = null ): QueryBuilder { - $qb = $this->getResourcesByCourse($course, $session); + $qb = $this->getResourcesByCourse($course, $session, null, null, $onlyPublished); if ($onlyPublished) { $this->addDateFilterQueryBuilder(new DateTime(), $qb);