From 0961388a0ace3827fe36f98b729610a2ab32585c Mon Sep 17 00:00:00 2001 From: Ryan Wyllie Date: Thu, 12 Apr 2018 13:18:58 +0800 Subject: [PATCH] MDL-61950 question: include random questions in statistics calculator --- .../classes/statistics/questions/calculator.php | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/question/classes/statistics/questions/calculator.php b/question/classes/statistics/questions/calculator.php index 66249122a3b..3d76679f0cd 100644 --- a/question/classes/statistics/questions/calculator.php +++ b/question/classes/statistics/questions/calculator.php @@ -181,16 +181,15 @@ class calculator { // Finish computing the averages, and put the sub-question data into the // corresponding questions. - - // This cannot be a foreach loop because we need to have both - // $question and $nextquestion available, but apart from that it is - // foreach ($this->questions as $qid => $question). $slots = $this->stats->get_all_slots(); - $this->progress->start_progress('', count($slots), 1); - foreach ($slots as $slot) { + $totalnumberofslots = count($slots); + $maxindex = $totalnumberofslots - 1; + $this->progress->start_progress('', $totalnumberofslots, 1); + foreach ($slots as $index => $slot) { $this->stats->for_slot($slot)->sort_variants(); $this->progress->increment_progress(); - $nextslot = current($slots); + $nextslotindex = $index + 1; + $nextslot = ($nextslotindex > $maxindex) ? false : $slots[$nextslotindex]; $this->initial_question_walker($this->stats->for_slot($slot));