Fixed MDL-8191
authorbobopinna <bobopinna>
Fri, 2 Mar 2007 21:30:16 +0000 (21:30 +0000)
committerbobopinna <bobopinna>
Fri, 2 Mar 2007 21:30:16 +0000 (21:30 +0000)
mod/scorm/datamodels/scorm_12.js.php
mod/scorm/datamodels/scorm_13.js.php

index ee4a01bef99ddd05c71b5541c07b1a50b35e8966..ebefb9e66b5f3f3284e0574c830929affd893e8e 100644 (file)
 //
 function SCORMapi1_2() {
     // Standard Data Type Definition
-    CMIString256 = '^.{0,255}$';
-    //CMIString4096 = '^[.|\\n|\\r]{0,4095}$';
-    CMIString4096 = '^.{0,4096}$';
+    //CMIString256 = '^.{0,255}$';
+    //CMIString4096 = '^.{0,4096}$';
+    CMIString256 = '^[.|\\n|\\r]{0,255}$';
+    CMIString4096 = '^[.|\\n|\\r]{0,4095}$';
     CMITime = '^([0-2]{1}[0-9]{1}):([0-5]{1}[0-9]{1}):([0-5]{1}[0-9]{1})(\.[0-9]{1,2})?$';
     CMITimespan = '^([0-9]{2,4}):([0-9]{2}):([0-9]{2})(\.[0-9]{1,2})?$';
     CMIInteger = '^\\d+$';
@@ -334,7 +335,7 @@ function SCORMapi1_2() {
                                     ranges = range.split('#');
                                     value = value*1.0;
                                     if ((value >= ranges[0]) && (value <= ranges[1])) {
-                                        eval(element+'="'+value+'";');
+                                        eval(element+'=value;');
                                         errorCode = "0";
                                         <?php 
                                             if (debugging('',DEBUG_DEVELOPER)) {
@@ -347,9 +348,9 @@ function SCORMapi1_2() {
                                     }
                                 } else {
                                     if (element == 'cmi.comments') {
-                                        eval(element+'+="'+value+'";');
+                                        eval(element+'=value;');
                                     } else {
-                                        eval(element+'="'+value+'";');
+                                        eval(element+'=value;');
                                     }
                                     errorCode = "0";
                                     <?php 
@@ -479,7 +480,7 @@ function SCORMapi1_2() {
 
     function TotalTime() {
         total_time = AddTime(cmi.core.total_time, cmi.core.session_time);
-        return '&'+underscore('cmi.core.total_time')+'='+escape(total_time);
+        return '&'+underscore('cmi.core.total_time')+'='+encodeURIComponent(total_time);
     }
 
     function CollectData(data,parent) {
@@ -494,7 +495,7 @@ function SCORMapi1_2() {
                 if (elementmodel != "cmi.core.session_time") {
                     if ((typeof eval('datamodel["'+elementmodel+'"]')) != "undefined") {
                         if (eval('datamodel["'+elementmodel+'"].mod') != 'r') {
-                            elementstring = '&'+underscore(element)+'='+escape(data[property]);
+                            elementstring = '&'+underscore(element)+'='+encodeURIComponent(data[property]);
                             if ((typeof eval('datamodel["'+elementmodel+'"].defaultvalue')) != "undefined") {
                                 if (eval('datamodel["'+elementmodel+'"].defaultvalue') != data[property]) {
                                     datastring += elementstring;
index 9f463227769f62590b741758d6c1e3101d5cd0af..6924e6a2a1165f729042f857d1dfd4d69ab581a2 100644 (file)
@@ -567,7 +567,7 @@ function SCORMapi1_3() {
                                     value = value*1.0;
                                     if (value >= ranges[0]) {
                                         if ((ranges[1] == '*') || (value <= ranges[1])) {
-                                            eval(element+'="'+value+'";');
+                                            eval(element+'=value;');
                                             errorCode = "0";
                                             <?php 
                                                 if (debugging('',DEBUG_DEVELOPER)) {
@@ -582,7 +582,7 @@ function SCORMapi1_3() {
                                         errorCode = '407';
                                     }
                                 } else {
-                                    eval(element+'="'+value+'";');
+                                    eval(element+'=value;');
                                     errorCode = "0"; 
                                     <?php 
                                         if (debugging('',DEBUG_DEVELOPER)) {
@@ -823,7 +823,7 @@ function SCORMapi1_3() {
 
     function TotalTime() {
         total_time = AddTime(cmi.total_time, cmi.session_time);
-        return '&'+underscore('cmi.total_time')+'='+escape(total_time);
+        return '&'+underscore('cmi.total_time')+'='+encodeURIComponent(total_time);
     }
 
     function CollectData(data,parent) {
@@ -837,7 +837,7 @@ function SCORMapi1_3() {
                 elementmodel = element.replace(expression,'.n.');
                 if ((typeof eval('datamodel["'+elementmodel+'"]')) != "undefined") {
                     if (eval('datamodel["'+elementmodel+'"].mod') != 'r') {
-                        elementstring = '&'+underscore(element)+'='+escape(data[property]);
+                        elementstring = '&'+underscore(element)+'='+encodeURIComponent(data[property]);
                         if ((typeof eval('datamodel["'+elementmodel+'"].defaultvalue')) != "undefined") {
                             if (eval('datamodel["'+elementmodel+'"].defaultvalue') != data[property]) {
                                 datastring += elementstring;
@@ -877,7 +877,7 @@ function SCORMapi1_3() {
         }
         datastring += CollectData(data,'cmi');
         element = 'adl.nav.request';
-        navrequest = eval(element) != datamodel[element].defaultvalue ? '&'+underscore(element)+'='+escape(eval(element)) : '';
+        navrequest = eval(element) != datamodel[element].defaultvalue ? '&'+underscore(element)+'='+encodeURIComponent(eval(element)) : '';
         datastring += navrequest;
         datastring += '&attempt=<?php echo $attempt ?>';
         datastring += '&scoid=<?php echo $scoid ?>';