From: bobopinna Date: Wed, 16 May 2007 08:34:25 +0000 (+0000) Subject: Fixed double indexed elements problem X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=92733802a915be66083fad3044e58c092d9a2e53;p=moodle.git Fixed double indexed elements problem --- diff --git a/mod/scorm/datamodels/scorm_13.js.php b/mod/scorm/datamodels/scorm_13.js.php index 35e4d33f8f..9ac6587730 100644 --- a/mod/scorm/datamodels/scorm_13.js.php +++ b/mod/scorm/datamodels/scorm_13.js.php @@ -381,9 +381,6 @@ function SCORMapi1_3() { function SetValue (element,value) { errorCode = "0"; diagnostic = ""; - // if (element== 'cmi.interactions.0.learner_response' && value=='Dependency on cmi.interaction.n.type not established'){ - // errorCode="408"; - //} if ((Initialized) && (!Terminated)) { if (element != "") { expression = new RegExp(CMIIndex,'g'); @@ -505,10 +502,24 @@ function SCORMapi1_3() { diagnostic = "Data Model Element ID Already Exists"; } } else { -//alert('model ='+elementmodel+' subelement ='+subelement); + if (typeof eval(subelement) == "undefined") { - - errorCode="408"; + if ((elementmodel=='cmi.interactions.n.objectives.n.id') && (typeof eval(parentelement) != "undefined")) { + if (!duplicatedID(parentelement,value)) { + + if (elementIndexes[elementIndexes.length-2] == eval(parentelement+'._count')) { + eval(parentelement+'._count++;'); + + eval(subelement+' = new Object();'); + } + } else { + + errorCode="351"; + diagnostic = "Data Model Element ID Already Exists"; + } + } else { + errorCode="408"; + } } else { //maxmodel = 'cmi.interactions.Nxxx.type'; //if ((elemlen <= maxmodel.length) && (element.substr(elemlen-4) == 'type') && (errorCode=="0")) {