Beispiel #1
0
    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) {
Beispiel #3
0
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);');
}