diff --git a/main/inc/lib/exercise.lib.php b/main/inc/lib/exercise.lib.php index d1b824718d..dbd8c573d4 100644 --- a/main/inc/lib/exercise.lib.php +++ b/main/inc/lib/exercise.lib.php @@ -3556,7 +3556,7 @@ EOT; $best_score = 0; if (!empty($user_results)) { foreach ($user_results as $result) { - if (!empty($result['exe_weighting']) && intval($result['exe_weighting']) != 0) { + if (!empty($result['exe_weighting']) && (float) $result['exe_weighting'] != 0) { $score = $result['exe_result'] / $result['exe_weighting']; if ($score >= $best_score) { $best_score = $score; @@ -4962,12 +4962,9 @@ EOT; ->getScalarResult(); $data = []; - /** @var TrackEExercises $item */ foreach ($result as $item) { - $bestAttemp = self::get_best_attempt_by_user($item['exeUserId'], $exerciseId, $courseId, $sessionId = 0); - - $data[] = $bestAttemp; + $data[] = self::get_best_attempt_by_user($item['exeUserId'], $exerciseId, $courseId, $sessionId = 0); } usort( @@ -4988,7 +4985,6 @@ EOT; // flags to display the same position in case of tie $lastScore = $data[0]['exe_result']; $position = 1; - $data = array_map( function ($item) use (&$lastScore, &$position) { if ($item['exe_result'] < $lastScore) {