summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordevian_peoplelogy <devianleong@gmail.com>2022-09-28 15:33:09 +0800
committerdevian_peoplelogy <devianleong@gmail.com>2022-09-28 15:33:09 +0800
commitc150bbfcff73bc86830c47bc4093b71871417142 (patch)
treecedc958fd004c6a4d0700dacb220782dbd25dfd2
parentcb63c796d5a59ade6e14b33a58d4879915db768c (diff)
Fixed scorm total time tracker and status3.0.9
-rw-r--r--src/Manager/ScormManager.php24
1 files changed, 5 insertions, 19 deletions
diff --git a/src/Manager/ScormManager.php b/src/Manager/ScormManager.php
index 715716f..d403d1e 100644
--- a/src/Manager/ScormManager.php
+++ b/src/Manager/ScormManager.php
@@ -530,17 +530,9 @@ class ScormManager
// Compute total time
$totalTimeInHundredth = $this->convertTimeInHundredth($totalTime);
- $totalTimeInHundredth += $sessionTimeInHundredth;
-
- // Persist total time
- if ($tracking->getTotalTimeInt() > 0) {
- $totalTimeInHundredth += $tracking->getTotalTimeInt();
- }
-
$tracking->setTotalTime($totalTimeInHundredth, Scorm::SCORM_12);
$bestScore = $tracking->getScoreRaw();
- $bestStatus = $tracking->getLessonStatus();
// Update best score if the current score is better than the previous best score
@@ -550,10 +542,8 @@ class ScormManager
$tracking->setScoreMax($scoreMax);
}
- if (empty($bestStatus) || ($lessonStatus !== $bestStatus && $statusPriority[$lessonStatus] > $statusPriority[$bestStatus])) {
- $tracking->setLessonStatus($lessonStatus);
- $bestStatus = $lessonStatus;
- }
+ $tracking->setLessonStatus($lessonStatus);
+ $bestStatus = $lessonStatus;
if (empty($progression) && ('completed' === $bestStatus || 'passed' === $bestStatus)) {
$progression = 100;
@@ -615,14 +605,10 @@ class ScormManager
$lessonStatus = $successStatus;
}
- $bestStatus = $tracking->getLessonStatus();
- if (empty($bestStatus) || ($lessonStatus !== $bestStatus && $statusPriority[$lessonStatus] > $statusPriority[$bestStatus])) {
- $tracking->setLessonStatus($lessonStatus);
- $bestStatus = $lessonStatus;
- }
+ $tracking->setLessonStatus($lessonStatus);
+ $bestStatus = $lessonStatus;
- if (
- empty($tracking->getCompletionStatus())
+ if (empty($tracking->getCompletionStatus())
|| ($completionStatus !== $tracking->getCompletionStatus() && $statusPriority[$completionStatus] > $statusPriority[$tracking->getCompletionStatus()])
) {
// This is no longer needed as completionStatus and successStatus are merged together