summaryrefslogtreecommitdiff
path: root/src/Manager
diff options
context:
space:
mode:
authorKhaled Mohamed <Eng.Khaled.Lela@gmail.com>2022-08-22 14:51:20 +0200
committerGitHub <noreply@github.com>2022-08-22 14:51:20 +0200
commit1764d938b4c7136738577d452f201bc3078156e9 (patch)
tree63863454b8376a754f054d13614ebbefd9137ae9 /src/Manager
parent99e679a54328e5bfa00a8a481cacb124f261bd9e (diff)
parent5d901a380c38335abfc9df650f478fb0386c66cc (diff)
Merge branch 'main' into main
Diffstat (limited to 'src/Manager')
-rw-r--r--src/Manager/ScormDisk.php1
-rw-r--r--src/Manager/ScormManager.php14
2 files changed, 12 insertions, 3 deletions
diff --git a/src/Manager/ScormDisk.php b/src/Manager/ScormDisk.php
index ba0ade8..a280142 100644
--- a/src/Manager/ScormDisk.php
+++ b/src/Manager/ScormDisk.php
@@ -37,7 +37,6 @@ class ScormDisk
}
return true;
}
-
return false;
}
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) {