From 40ab2ed04bc1e12c12d177e48c9e4e25a42e10e4 Mon Sep 17 00:00:00 2001 From: piers Date: Wed, 4 Feb 2009 18:43:00 +0000 Subject: [PATCH] MDL-18023 - add type check to check against default to avoid 0 error. backport 1.8. --- mod/scorm/datamodels/scorm_12.js.php | 2 +- mod/scorm/datamodels/scorm_13.js.php | 2 +- mod/scorm/locallib.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/mod/scorm/datamodels/scorm_12.js.php b/mod/scorm/datamodels/scorm_12.js.php index 15cdc522207..a5ceb49742c 100644 --- a/mod/scorm/datamodels/scorm_12.js.php +++ b/mod/scorm/datamodels/scorm_12.js.php @@ -537,7 +537,7 @@ function SCORMapi1_2() { if (eval('datamodel["'+elementmodel+'"].mod') != 'r') { elementstring = '&'+underscore(element)+'='+encodeURIComponent(data[property]); if ((typeof eval('datamodel["'+elementmodel+'"].defaultvalue')) != "undefined") { - if (eval('datamodel["'+elementmodel+'"].defaultvalue') != data[property]) { + if (eval('datamodel["'+elementmodel+'"].defaultvalue') != data[property] || eval('typeof(datamodel["'+elementmodel+'"].defaultvalue)') != typeof(data[property])) { datastring += elementstring; } } else { diff --git a/mod/scorm/datamodels/scorm_13.js.php b/mod/scorm/datamodels/scorm_13.js.php index e8814a399b4..d915eb4ab5a 100644 --- a/mod/scorm/datamodels/scorm_13.js.php +++ b/mod/scorm/datamodels/scorm_13.js.php @@ -1189,7 +1189,7 @@ function SCORMapi1_3() { if (eval('datamodel["'+elementmodel+'"].mod') != 'r') { var elementstring = '&'+underscore(element)+'='+encodeURIComponent(data[property]); if ((typeof eval('datamodel["'+elementmodel+'"].defaultvalue')) != "undefined") { - if (eval('datamodel["'+elementmodel+'"].defaultvalue') != data[property]) { + if (eval('datamodel["'+elementmodel+'"].defaultvalue') != data[property] || eval('typeof(datamodel["'+elementmodel+'"].defaultvalue)') != typeof(data[property])) { datastring += elementstring; } } else { diff --git a/mod/scorm/locallib.php b/mod/scorm/locallib.php index eac5283fcdd..6e2ed2c4fab 100755 --- a/mod/scorm/locallib.php +++ b/mod/scorm/locallib.php @@ -307,7 +307,7 @@ function scorm_get_tracks($scoid,$userid,$attempt='') { break; case 'cmi.core.score.raw': case 'cmi.score.raw': - $usertrack->score_raw = $track->value; + $usertrack->score_raw = sprintf('%0d', $track->value); break; case 'cmi.core.session_time': case 'cmi.session_time':