From 490580445b8faccd795238b6295a1d73037e0d94 Mon Sep 17 00:00:00 2001 From: Christian Beeznest Date: Sun, 5 Oct 2025 09:38:51 -0500 Subject: [PATCH 1/4] Internal: Tracking: Fix empty quizzes for session tutor - refs BT#23011 --- src/CourseBundle/Repository/CQuizRepository.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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); From 0da4b2e96ef35aadc014c6de192a8a2db10a5d40 Mon Sep 17 00:00:00 2001 From: Christian Beeznest Date: Sun, 5 Oct 2025 12:15:20 -0500 Subject: [PATCH 2/4] Internal: Tracking: fix warning array offset null - refs BT#23011 --- public/main/my_space/myStudents.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) 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'); From a40e6c8fe9ec5b212487632bba42ff824f30d303 Mon Sep 17 00:00:00 2001 From: Christian Beeznest Date: Sun, 5 Oct 2025 15:13:23 -0500 Subject: [PATCH 3/4] Internal: Fix session condition in quizzes tracking - refs BT#23011 --- public/main/inc/lib/tracking.lib.php | 10 +++++----- public/main/my_space/myStudents.php | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) 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 99c06e5d541..4ddd4a449d4 100644 --- a/public/main/my_space/myStudents.php +++ b/public/main/my_space/myStudents.php @@ -1962,7 +1962,7 @@ 0 ); - $lp_name = '-'; + $lp_name = ''; $myStudentsQuizTrackingEvent = new MyStudentsQuizTrackingEvent( ['exercise_id' => $exercise_id, 'student_id' => $studentId], From a3be73fa307e47cfe74dff2072993ee497963279 Mon Sep 17 00:00:00 2001 From: Nicolas Ducoulombier Date: Mon, 6 Oct 2025 06:35:43 +0200 Subject: [PATCH 4/4] Internal: #fix restoring lp default - when no LP - refs BT#23011 --- public/main/my_space/myStudents.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/main/my_space/myStudents.php b/public/main/my_space/myStudents.php index 4ddd4a449d4..99c06e5d541 100644 --- a/public/main/my_space/myStudents.php +++ b/public/main/my_space/myStudents.php @@ -1962,7 +1962,7 @@ 0 ); - $lp_name = ''; + $lp_name = '-'; $myStudentsQuizTrackingEvent = new MyStudentsQuizTrackingEvent( ['exercise_id' => $exercise_id, 'student_id' => $studentId],