⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scorm_13.js.php

📁 很棒的在线教学系统
💻 PHP
📖 第 1 页 / 共 5 页
字号:
        'cmi.suspend_data':{'defaultvalue':<?php echo isset($userdata->{'cmi.suspend_data'})?'\''.$userdata->{'cmi.suspend_data'}.'\'':'null' ?>, 'format':CMIString64000, 'mod':'rw'},        'cmi.time_limit_action':{'defaultvalue':<?php echo isset($userdata->timelimitaction)?'\''.$userdata->timelimitaction.'\'':'null' ?>, 'mod':'r'},        'cmi.total_time':{'defaultvalue':'<?php echo isset($userdata->{'cmi.total_time'})?$userdata->{'cmi.total_time'}:'PT0H0M0S' ?>', 'mod':'r'},        'adl.nav.request':{'defaultvalue':'_none_', 'format':NAVEvent, 'mod':'rw'}    };    //    // Datamodel inizialization    //        var cmi = new Object();        cmi.comments_from_learner = new Object();        cmi.comments_from_learner._count = 0;        cmi.comments_from_lms = new Object();        cmi.comments_from_lms._count = 0;        cmi.interactions = new Object();        cmi.interactions._count = 0;        cmi.learner_preference = new Object();        cmi.objectives = new Object();        cmi.objectives._count = 0;        cmi.score = new Object();    // Navigation Object    var adl = new Object();        adl.nav = new Object();        adl.nav.request_valid = new Array();    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 = "";    function Initialize (param) {        errorCode = "0";        if (param == "") {            if ((!Initialized) && (!Terminated)) {                Initialized = true;                errorCode = "0";                <?php                    if (debugging('',DEBUG_DEVELOPER)) {//                        echo 'alert("Initialized SCORM 1.3");';                        echo 'LogAPICall("Initialize", param, "", errorCode);';                    }                ?>                return "true";            } else {                if (Initialized) {                    errorCode = "103";                } else {                    errorCode = "104";                }            }        } else {            errorCode = "201";        }        <?php            if (debugging('',DEBUG_DEVELOPER)) {//                echo 'alert("Initialize: "+GetErrorString(errorCode));';                echo 'LogAPICall("Initialize", param, "", errorCode);';            }        ?>        return "false";    }    function Terminate (param) {        errorCode = "0";        if (param == "") {            if ((Initialized) && (!Terminated)) {                <?php                    if (debugging('',DEBUG_DEVELOPER)) {//                        echo 'alert("Terminated SCORM 1.3");';                        echo 'LogAPICall("Terminate", param, "", 0);';                    }                ?>                Initialized = false;                Terminated = true;                var result = StoreData(cmi,true);                if (adl.nav.request != '_none_') {                    switch (adl.nav.request) {                        case 'continue':                            setTimeout('top.nextSCO();',500);                        break;                        case 'previous':                            setTimeout('top.prevSCO();',500);                        break;                        case 'choice':                        break;                        case 'exit':                        break;                        case 'exitAll':                        break;                        case 'abandon':                        break;                        case 'abandonAll':                        break;                    }                } else {                    if (<?php echo $scorm->auto ?> == 1) {                        setTimeout('top.nextSCO();',500);                    }                }                return "true";            } else {                if (Terminated) {                    errorCode = "113";                } else {                    errorCode = "112";                }            }        } else {            errorCode = "201";        }        <?php            if (debugging('',DEBUG_DEVELOPER)) {                echo 'alert("Terminate: "+GetErrorString(errorCode));';            }        ?>        return "false";    }    function GetValue (element) {        errorCode = "0";        diagnostic = "";        if ((Initialized) && (!Terminated)) {            if (element !="") {                var expression = new RegExp(CMIIndex,'g');                var elementmodel = String(element).replace(expression,'.n.');                if ((typeof eval('datamodel["'+elementmodel+'"]')) != "undefined") {                    if (eval('datamodel["'+elementmodel+'"].mod') != 'w') {                        element = String(element).replace(/\.(\d+)\./, ".N$1.");                        element = element.replace(/\.(\d+)\./, ".N$1.");                        var elementIndexes = element.split('.');                        var subelement = element.substr(0,3);                        var i = 1;                        while ((i < elementIndexes.length) && (typeof eval(subelement) != "undefined")) {                            subelement += '.'+elementIndexes[i++];                        }                        if (subelement == element) {                            if ((typeof eval(subelement) != "undefined") && (eval(subelement) != null)) {                                errorCode = "0";                                <?php                                    if (debugging('',DEBUG_DEVELOPER)) {//                                        echo 'alert("GetValue("+element+") -> "+eval(element));';                                        echo 'LogAPICall("GetValue", element, eval(element), 0);';                                    }                                ?>                                return eval(element);                            } else {                                errorCode = "403";                            }                        } else {                            errorCode = "301";                        }                    } else {                        //errorCode = eval('datamodel["'+elementmodel+'"].readerror');                        errorCode = "405";                    }                } else {                    var childrenstr = '._children';                    var countstr = '._count';                    var parentmodel = '';                    if (elementmodel.substr(elementmodel.length-childrenstr.length,elementmodel.length) == childrenstr) {                        parentmodel = elementmodel.substr(0,elementmodel.length-childrenstr.length);                        if ((typeof eval('datamodel["'+parentmodel+'"]')) != "undefined") {                            errorCode = "301";                            diagnostic = "Data Model Element Does Not Have Children";                        } else {                            errorCode = "401";                        }                    } else if (elementmodel.substr(elementmodel.length-countstr.length,elementmodel.length) == countstr) {                        parentmodel = elementmodel.substr(0,elementmodel.length-countstr.length);                        if ((typeof eval('datamodel["'+parentmodel+'"]')) != "undefined") {                            errorCode = "301";                            diagnostic = "Data Model Element Cannot Have Count";                        } else {                            errorCode = "401";                        }                    } else {                        parentmodel = 'adl.nav.request_valid.';                        if (element.substr(0,parentmodel.length) == parentmodel) {                            if (element.substr(parentmodel.length).match(NAVTarget) == null) {                                errorCode = "301";                            } else {                                if (adl.nav.request == element.substr(parentmodel.length)) {                                    return "true";                                } else if (adl.nav.request == '_none_') {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -