]> git.mjollnir.org Git - moodle.git/commitdiff
force scorm update:MDL-17034: force update of SCORM when scorm_simple_play is used.
authordanmarsden <danmarsden>
Mon, 1 Dec 2008 03:32:39 +0000 (03:32 +0000)
committerdanmarsden <danmarsden>
Mon, 1 Dec 2008 03:32:39 +0000 (03:32 +0000)
mod/scorm/locallib.php

index bd80ca6ff48a8446d4475c009bd3d3f2b54c6eb2..e36d6a058e239a9355800fc246b7de20fd3d0ea5 100755 (executable)
@@ -775,23 +775,27 @@ function scorm_view_display ($user, $scorm, $action, $cm, $boxwidth='') {
 function scorm_simple_play($scorm,$user) {
     global $DB;
 
-   $result = false;
-
-   $scoes = $DB->get_records_select('scorm_scoes', 'scorm = ? AND launch <> ?', array($scorm->id, $DB->sql_empty()));
-
-   if ($scoes && (count($scoes) == 1)) {
-       if ($scorm->skipview >= 1) {
-           $sco = current($scoes);
-           if (scorm_get_tracks($sco->id,$user->id) === false) {
-               header('Location: player.php?a='.$scorm->id.'&scoid='.$sco->id);
-               $result = true;
-           } else if ($scorm->skipview == 2) {
-               header('Location: player.php?a='.$scorm->id.'&scoid='.$sco->id);
-               $result = true;
-           }
-       }
-   }
-   return $result;
+    $result = false;
+
+    if ($scorm->updatefreq == UPDATE_EVERYTIME) {
+        scorm_parse($scorm, false);
+    }
+
+    $scoes = $DB->get_records_select('scorm_scoes', 'scorm = ? AND launch <> ?', array($scorm->id, $DB->sql_empty()));
+
+    if ($scoes && (count($scoes) == 1)) {
+        if ($scorm->skipview >= 1) {
+            $sco = current($scoes);
+            if (scorm_get_tracks($sco->id,$user->id) === false) {
+                header('Location: player.php?a='.$scorm->id.'&scoid='.$sco->id);
+                $result = true;
+            } else if ($scorm->skipview == 2) {
+                header('Location: player.php?a='.$scorm->id.'&scoid='.$sco->id);
+                $result = true;
+            }
+        }
+    }
+    return $result;
 }
 /*
 function scorm_simple_play($scorm,$user) {