var nav = new Object(); for (element in datamodel) { if (element.match(/\.n\./) == null) { if ((typeof eval('datamodel["'+element+'"].defaultvalue')) != 'undefined') { eval(element+' = datamodel["'+element+'"].defaultvalue;'); } else { eval(element+' = "";'); } } } <?php // reconstitute objectives scorm_reconstitute_array_element($scorm->version, $userdata, 'cmi.objectives', array('score')); scorm_reconstitute_array_element($scorm->version, $userdata, 'cmi.interactions', array('objectives', 'correct_responses')); ?> if (cmi.core.lesson_status == '') { cmi.core.lesson_status = 'not attempted'; } // // API Methods definition // var Initialized = false; function LMSInitialize (param) { errorCode = "0"; if (param == "") { if (!Initialized) {
for (element in datamodel) { if (element.match(/\.n\./) == null) { if ((typeof eval('datamodel["'+element+'"].defaultvalue')) != 'undefined') { eval(element+' = datamodel["'+element+'"].defaultvalue;'); } else { eval(element+' = "";'); } } } <?php // reconstitute objectives, comments_from_learner and comments_from_lms scorm_reconstitute_array_element($scorm->version, $userdata, 'cmi.objectives', array('score')); scorm_reconstitute_array_element($scorm->version, $userdata, 'cmi.interactions', array('objectives', 'correct_responses')); scorm_reconstitute_array_element($scorm->version, $userdata, 'cmi.comments_from_learner', array()); scorm_reconstitute_array_element($scorm->version, $userdata, 'cmi.comments_from_lms', array()); ?> if (cmi.completion_status == '') { cmi.completion_status = 'not attempted'; } // // API Methods definition // var Initialized = false; var Terminated = false; var diagnostic = ""; var errorCode = "0"; function Initialize (param) {
require_once $CFG->dirroot . '/mod/scorm/locallib.php'; $userdata = new stdClass(); $def = new stdClass(); $cmiobj = new stdClass(); $cmiint = new stdClass(); $cmicommentsuser = new stdClass(); $cmicommentslms = new stdClass(); if (!isset($currentorg)) { $currentorg = ''; } if ($scoes = $DB->get_records('scorm_scoes', array('scorm' => $scorm->id), 'sortorder, id')) { // Drop keys so that it is a simple array. $scoes = array_values($scoes); foreach ($scoes as $sco) { $def->{$sco->id} = new stdClass(); $userdata->{$sco->id} = new stdClass(); $def->{$sco->id} = get_scorm_default($userdata->{$sco->id}, $scorm, $sco->id, $attempt, $mode); // Reconstitute objectives, comments_from_learner and comments_from_lms. $cmiobj->{$sco->id} = scorm_reconstitute_array_element($scorm->version, $userdata->{$sco->id}, 'cmi.objectives', array('score')); $cmiint->{$sco->id} = scorm_reconstitute_array_element($scorm->version, $userdata->{$sco->id}, 'cmi.interactions', array('objectives', 'correct_responses')); $cmicommentsuser->{$sco->id} = scorm_reconstitute_array_element($scorm->version, $userdata->{$sco->id}, 'cmi.comments_from_learner', array()); $cmicommentslms->{$sco->id} = scorm_reconstitute_array_element($scorm->version, $userdata->{$sco->id}, 'cmi.comments_from_lms', array()); } } $scorm->autocommit = $scorm->autocommit === "1" ? true : false; $PAGE->requires->js_init_call('M.scorm_api.init', array($def, $cmiobj, $cmiint, $cmicommentsuser, $cmicommentslms, scorm_debugging($scorm), $scorm->auto, $scorm->id, $CFG->wwwroot, sesskey(), $scoid, $attempt, $mode, $id, $currentorg, $scorm->autocommit)); // Pull in the debugging utilities. if (scorm_debugging($scorm)) { require_once $CFG->dirroot . '/mod/scorm/datamodels/debug.js.php'; echo html_writer::script('AppendToLog("Moodle SCORM 1.3 API Loaded, Activity: ' . $scorm->name . ', SCO: ' . $sco->identifier . '", 0);'); }