]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-7068 - SCORM 2004 compliance. Handle cmi.interactions hydration (scorm 1.2 to...
authorpiers <piers>
Thu, 25 Sep 2008 23:59:32 +0000 (23:59 +0000)
committerpiers <piers>
Thu, 25 Sep 2008 23:59:32 +0000 (23:59 +0000)
mod/scorm/locallib.php

index f261a84db12a0812df2abfb75744dad687c649d7..f1a93408d95d0aaf348c7f88246cc5d4c143ffdb 100755 (executable)
@@ -771,10 +771,10 @@ function scorm_reconstitute_array_element($sversion, $userdata, $element_name, $
     // generate JavaScript
     foreach($element_list as $element => $value){
         if ($sversion == 'scorm_13') {
-            $element = preg_replace('/.*?\.(\d+)\./', ".N\$1.", $element);
+            $element = preg_replace('/\.(\d+)\./', ".N\$1.", $element);
             preg_match('/\.(N\d+)\./', $element, $matches);
         } else {
-            $element = preg_replace('/.*?\.(\d+)\./', "_\$1.", $element);
+            $element = preg_replace('/\.(\d+)\./', "_\$1.", $element);
             preg_match('/\_(\d+)\./', $element, $matches);
         }
         if (count($matches) > 0 && $current != $matches[1]) {
@@ -798,10 +798,10 @@ function scorm_reconstitute_array_element($sversion, $userdata, $element_name, $
         
         // now - flesh out the second level elements if there are any
         if ($sversion == 'scorm_13') {
-            $element = preg_replace('/.*?\.N\d+\..*?\.(\d+)\./', ".N\$1.", $element);
+            $element = preg_replace('/(.*?\.N\d+\..*?)\.(\d+)\./', "\$1.N\$2.", $element);
             preg_match('/.*?\.N\d+\.(.*?)\.(N\d+)\./', $element, $matches);
         } else {
-            $element = preg_replace('/.*?\_\d+\..*?\.(\d+)\./', "_\$1.", $element);
+            $element = preg_replace('/(.*?\_\d+\..*?)\.(\d+)\./', "\$1_\$2.", $element);
             preg_match('/.*?\_\d+\.(.*?)\_(\d+)\./', $element, $matches);
         }