diff options
author | Devian <devianleong@gmail.com> | 2021-05-10 15:39:10 +0800 |
---|---|---|
committer | Devian <devianleong@gmail.com> | 2021-05-10 15:39:10 +0800 |
commit | bb425b79cebfd64819d295571992dc2328090964 (patch) | |
tree | 41c64d989ee47275ea4a16e900a8fdd64a575cca /src | |
parent | 4cca34d56270dec8b54b2b3ef6611e704e6bc3c7 (diff) |
Update2.0.3
Diffstat (limited to 'src')
-rw-r--r-- | src/Manager/ScormManager.php | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/Manager/ScormManager.php b/src/Manager/ScormManager.php index 5f3287b..085284d 100644 --- a/src/Manager/ScormManager.php +++ b/src/Manager/ScormManager.php @@ -384,6 +384,26 @@ class ScormManager ->firstOrFail(); } + public function checkUserIsCompletedScorm($scormId, $userId) { + + $completedSco = []; + $scos = ScormScoModel::where('scorm_id', $scormId)->get(); + + foreach ($scos as $sco) { + $scoTracking = ScormScoTrackingModel::where('sco_id', $sco->id)->where('user_id', $userId)->first(); + + if ($scoTracking && ($scoTracking->lesson_status == 'passed' || $scoTracking->lesson_status == 'completed')) { + $completedSco[] = true; + } + } + + if (count($completedSco) == $scos->count()) { + return true; + } else { + return false; + } + } + public function updateScoTracking($scoUuid, $userId, $data) { $tracking = $this->createScoTracking($scoUuid, $userId); |