From dccff557a5bff29fc99119b2f9a74e3a215e76f8 Mon Sep 17 00:00:00 2001 From: jfvanass <jeanfrancois@cblue.be> Date: Fri, 23 Feb 2018 14:09:45 +0100 Subject: [PATCH] issue 161 : check if scoremax and scoremin are not 0 --- .../src/Events/ScormScoreRawSubmitted.php | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/lib/translator/src/Events/ScormScoreRawSubmitted.php b/lib/translator/src/Events/ScormScoreRawSubmitted.php index 8b601eb..379bb35 100644 --- a/lib/translator/src/Events/ScormScoreRawSubmitted.php +++ b/lib/translator/src/Events/ScormScoreRawSubmitted.php @@ -26,12 +26,24 @@ class ScormScoreRawSubmitted extends ScormEvent { * @override ModuleViewed */ public function read(array $opts) { - $scoremax = $opts['scorm_scoes_track']['scoremax']; - $scoreraw = $opts['cmi_data']['cmivalue']; - $scoremin = $opts['scorm_scoes_track']['scoremin']; + $scoremax = null; + $scoreraw = null; + $scoremin = null; $scorescaled = null; - $scorescaled = $scoreraw >= 0 ? ($scoreraw / $scoremax) : ($scoreraw / $scoremin); + if (isset($opts['scorm_scoes_track']['scoremax'])) { + $scoremax = $opts['scorm_scoes_track']['scoremax']; + } + if (isset($opts['cmi_data']['cmivalue'])) { + $scoremax = $opts['cmi_data']['cmivalue']; + } + if (isset($opts['scorm_scoes_track']['scoremin'])) { + $scoremin = $opts['scorm_scoes_track']['scoremin']; + } + + if ($scoremax !=0 && $scoremin !=0) { + $scorescaled = $scoreraw >= 0 ? ($scoreraw / $scoremax) : ($scoreraw / $scoremin); + } return [array_merge(parent::read($opts)[0], [ 'recipe' => 'scorm_scoreraw_submitted', -- GitLab