Skip to content

Commit c150bbf

Browse files
committed
Fixed scorm total time tracker and status
1 parent cb63c79 commit c150bbf

File tree

1 file changed

+5
-19
lines changed

1 file changed

+5
-19
lines changed

src/Manager/ScormManager.php

Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -530,17 +530,9 @@ public function updateScoTracking($scoUuid, $userId, $data)
530530

531531
// Compute total time
532532
$totalTimeInHundredth = $this->convertTimeInHundredth($totalTime);
533-
$totalTimeInHundredth += $sessionTimeInHundredth;
534-
535-
// Persist total time
536-
if ($tracking->getTotalTimeInt() > 0) {
537-
$totalTimeInHundredth += $tracking->getTotalTimeInt();
538-
}
539-
540533
$tracking->setTotalTime($totalTimeInHundredth, Scorm::SCORM_12);
541534

542535
$bestScore = $tracking->getScoreRaw();
543-
$bestStatus = $tracking->getLessonStatus();
544536

545537
// Update best score if the current score is better than the previous best score
546538

@@ -550,10 +542,8 @@ public function updateScoTracking($scoUuid, $userId, $data)
550542
$tracking->setScoreMax($scoreMax);
551543
}
552544

553-
if (empty($bestStatus) || ($lessonStatus !== $bestStatus && $statusPriority[$lessonStatus] > $statusPriority[$bestStatus])) {
554-
$tracking->setLessonStatus($lessonStatus);
555-
$bestStatus = $lessonStatus;
556-
}
545+
$tracking->setLessonStatus($lessonStatus);
546+
$bestStatus = $lessonStatus;
557547

558548
if (empty($progression) && ('completed' === $bestStatus || 'passed' === $bestStatus)) {
559549
$progression = 100;
@@ -615,14 +605,10 @@ public function updateScoTracking($scoUuid, $userId, $data)
615605
$lessonStatus = $successStatus;
616606
}
617607

618-
$bestStatus = $tracking->getLessonStatus();
619-
if (empty($bestStatus) || ($lessonStatus !== $bestStatus && $statusPriority[$lessonStatus] > $statusPriority[$bestStatus])) {
620-
$tracking->setLessonStatus($lessonStatus);
621-
$bestStatus = $lessonStatus;
622-
}
608+
$tracking->setLessonStatus($lessonStatus);
609+
$bestStatus = $lessonStatus;
623610

624-
if (
625-
empty($tracking->getCompletionStatus())
611+
if (empty($tracking->getCompletionStatus())
626612
|| ($completionStatus !== $tracking->getCompletionStatus() && $statusPriority[$completionStatus] > $statusPriority[$tracking->getCompletionStatus()])
627613
) {
628614
// This is no longer needed as completionStatus and successStatus are merged together

0 commit comments

Comments
 (0)