]> git.mjollnir.org Git - moodle.git/commitdiff
Fixed problem with cmi.interactions.id elements' duplicated ids.
authorcsantossaenz <csantossaenz>
Fri, 1 Jun 2007 12:42:36 +0000 (12:42 +0000)
committercsantossaenz <csantossaenz>
Fri, 1 Jun 2007 12:42:36 +0000 (12:42 +0000)
mod/scorm/datamodels/scorm_13.js.php

index acfd99a6426ab6eb7f6fc1bdd316a5eaed17abc6..46c496812574e6cf623c35da4ce4f4b41f8d2815 100644 (file)
@@ -556,10 +556,30 @@ alert('element = '+element+"\nsubelement = "+subelement+"\nparentmodel = "+paren
                                              parentmodel = 'cmi.interactions';
                                              if (subelement.substr(0,parentmodel.length) == parentmodel) {
                                                  if ((elementmodel==parentmodel+'.n.id') && (errorCode=="0")) { 
-                                                     if (eval(element) == value) {
-                                                         errorCode = "351";
-                                                         diagnostic = "Write Once Violation";
-                                                     }
+                                                    elementIndexesSubindex = element.split('.');
+                                                    elementFirstind = elementIndexesSubindex [2];
+                                                       len = elementFirstind.length;
+       
+                                                       len--;
+                                                       if (len == 1){
+        
+                                                           ind = elementFirstind.substring(1);
+                                                       }
+                                                    else{
+                                                           ind = elementFirstind.substring(1,len);
+                                                       }
+
+                                                                                                       i=0;
+                                                       while (i<parseInt(ind)){
+                                                               elem = 'cmi.interactions.N'+ind+'.id';
+                                                               if (eval(elem)==value){
+                                                                   errorCode = "351";
+                                                            diagnostic = "Write Once Violation";
+                                                               }
+                                                                                                               else{
+                                                           i++;
+                                                                                                               }
+                                                       }
                                                  }
                                                  
                                                  if (elementmodel=='cmi.interactions.n.objectives.n.id') {