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':