From a3cc4fd3b1e878d216e02ffef366d3573fa278fd Mon Sep 17 00:00:00 2001 From: Amaia Anabitarte Date: Fri, 26 Feb 2021 11:31:32 +0100 Subject: [PATCH] MDL-67119 core_analytics: Analyse users once per course User's activity in a course should be analysed only once no matter the number of enrolments the user has in that course. --- lib/classes/analytics/analyser/student_enrolments.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/classes/analytics/analyser/student_enrolments.php b/lib/classes/analytics/analyser/student_enrolments.php index d35c0a33769..27f1ed88a69 100644 --- a/lib/classes/analytics/analyser/student_enrolments.php +++ b/lib/classes/analytics/analyser/student_enrolments.php @@ -122,7 +122,7 @@ class student_enrolments extends \core_analytics\local\analyser\by_course { foreach ($enrolments as $userenrolmentid => $user) { if (empty($studentids[$user->id])) { - // Not a student. + // Not a student or an analysed one. continue; } @@ -147,6 +147,9 @@ class student_enrolments extends \core_analytics\local\analyser\by_course { unset($user->uetimecreated); unset($user->uetimemodified); + // This student has been already analysed. We analyse each student once. + unset($studentids[$user->id]); + $samplesdata[$sampleid]['course'] = $course->get_course_data(); $samplesdata[$sampleid]['context'] = $course->get_context(); $samplesdata[$sampleid]['user'] = $user;