diff options
author | Khaled Mohamed <Eng.Khaled.Lela@gmail.com> | 2022-08-22 14:51:20 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-22 14:51:20 +0200 |
commit | 1764d938b4c7136738577d452f201bc3078156e9 (patch) | |
tree | 63863454b8376a754f054d13614ebbefd9137ae9 /src/Manager/ScormManager.php | |
parent | 99e679a54328e5bfa00a8a481cacb124f261bd9e (diff) | |
parent | 5d901a380c38335abfc9df650f478fb0386c66cc (diff) |
Merge branch 'main' into main
Diffstat (limited to 'src/Manager/ScormManager.php')
-rw-r--r-- | src/Manager/ScormManager.php | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/Manager/ScormManager.php b/src/Manager/ScormManager.php index 243036c..c804385 100644 --- a/src/Manager/ScormManager.php +++ b/src/Manager/ScormManager.php @@ -86,6 +86,7 @@ class ScormManager if (is_null($scormData) || !is_array($scormData)) { $this->onError('invalid_scorm_data'); } + /** * ScormModel::whereOriginFile Query Builder style equals ScormModel::where('origin_file',$value) * @@ -101,6 +102,7 @@ class ScormManager * return $this->dynamicWhere($method, $parameters); **/ $scorm = ScormModel::whereOriginFile($filename); + // Check if scom package already exists to drop old one. if (!$scorm->exists()) { $scorm = new ScormModel(); @@ -128,7 +130,7 @@ class ScormManager } } - return $scormData; + return $scorm; } /** @@ -477,7 +479,7 @@ class ScormManager $lessonStatus = isset($data['cmi.core.lesson_status']) ? $data['cmi.core.lesson_status'] : 'unknown'; $sessionTime = isset($data['cmi.core.session_time']) ? $data['cmi.core.session_time'] : null; $sessionTimeInHundredth = $this->convertTimeInHundredth($sessionTime); - $progression = isset($data['cmi.progress_measure']) ? floatval($data['cmi.progress_measure']) : 0; + $progression = !empty($scoreRaw) ? floatval($scoreRaw) : 0; $entry = isset($data['cmi.core.entry']) ? $data['cmi.core.entry'] : null; $exit = isset($data['cmi.core.exit']) ? $data['cmi.core.exit'] : null; $lessonLocation = isset($data['cmi.core.lesson_location']) ? $data['cmi.core.lesson_location'] : null; @@ -631,6 +633,14 @@ class ScormManager return $updateResult; } + public function resetUserData($scormId, $userId) { + $scos = ScormScoModel::where('scorm_id', $scormId)->get(); + + foreach ($scos as $sco) { + $scoTracking = ScormScoTrackingModel::where('sco_id', $sco->id)->where('user_id', $userId)->delete(); + } + } + private function convertTimeInHundredth($time) { if ($time != null) { |