/** * Log given datas as result of a Scorm resource. */ private function logScorm12ScoResult(Scorm12Sco $sco, User $user, $credit, $exitMode, $lessonMode, $lessonStatus, $scoreMax, $scoreMin, $scoreRaw, $sessionTimeInHundredth, $suspendData, $totalTimeInHundredth, $bestScore, $bestStatus) { $scormResource = $sco->getScormResource(); $details = []; $details['scoId'] = $sco->getId(); $details['credit'] = $credit; $details['exitMode'] = $exitMode; $details['lessonMode'] = $lessonMode; $details['lessonStatus'] = $lessonStatus; $details['scoreMax'] = $scoreMax; $details['scoreMin'] = $scoreMin; $details['scoreRaw'] = $scoreRaw; $details['sessionTime'] = $sessionTimeInHundredth; $details['suspendData'] = $suspendData; $details['totalTime'] = $totalTimeInHundredth; $details['totalTime'] = $totalTimeInHundredth; $details['bestScore'] = $bestScore; $details['bestStatus'] = $bestStatus; if (!empty($scoreMax) && $scoreMax > 0) { $details['result'] = $scoreRaw; $details['resultMax'] = $scoreMax; } $event = new LogScorm12ResultEvent($scormResource, $user, $details); $this->eventDispatcher->dispatch('log', $event); }