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

📄 scorm_13.js.php

📁 很棒的在线教学系统
💻 PHP
📖 第 1 页 / 共 5 页
字号:
                                                    diagnostic = "Data Model Element ID Already Exists";                                                }                                            break;                                            case 'cmi.interactions.n.type':                                                var subobject = eval(subelement);                                                subobject.correct_responses = new Object();                                                subobject.correct_responses._count = 0;                                            break;                                            case 'cmi.interactions.n.learner_response':                                                if (typeof eval(subelement+'.type') == "undefined") {                                                    errorCode="408";                                                } else {                                                    // Use cmi.interactions.n.type value to check the right dataelement format                                                    interactiontype = eval(subelement+'.type');                                                    var nodes = new Array();                                                    if (learner_response[interactiontype].delimiter != '') {                                                        nodes = value.split(learner_response[interactiontype].delimiter);                                                    } else {                                                        nodes[0] = value;                                                    }                                                    if ((nodes.length > 0) && (nodes.length <= learner_response[interactiontype].max)) {                                                        expression = new RegExp(learner_response[interactiontype].format);                                                        for (var i=0; (i < nodes.length) && (errorCode=="0"); i++) {                                                            if (typeof learner_response[interactiontype].delimiter2 != 'undefined') {                                                                values = nodes[i].split(learner_response[interactiontype].delimiter2);                                                                if (values.length == 2) {                                                                    matches = values[0].match(expression);                                                                    if (matches == null) {                                                                        errorCode = "406";                                                                    } else {                                                                        var expression2 = new RegExp(learner_response[interactiontype].format2);                                                                        matches = values[1].match(expression2);                                                                        if (matches == null) {                                                                            errorCode = "406";                                                                        }                                                                    }                                                                } else {                                                                    errorCode = "406";                                                                }                                                            } else {                                                                matches = nodes[i].match(expression);                                                                if (matches == null) {                                                                    errorCode = "406";                                                                } else {                                                                    if ((nodes[i] != '') && (learner_response[interactiontype].unique)) {                                                                        for (var j=0; (j<i) && (errorCode=="0"); j++) {                                                                            if (nodes[i] == nodes[j]) {                                                                                errorCode = "406";                                                                            }                                                                        }                                                                    }                                                                }                                                            }                                                        }                                                    } else if (nodes.length > learner_response[interactiontype].max) {                                                        errorCode = "351";                                                        diagnostic = "Data Model Element Pattern Too Long";                                                    }                                                }                                             break;                                         case 'cmi.interactions.n.correct_responses.n.pattern':											 subel= subelement.split('.');											 subel1= 'cmi.interactions.'+subel[2];                                                if (typeof eval(subel1+'.type') == "undefined") {                                                    errorCode="408";                                                } else {                                                    // Use cmi.interactions.n.type value to check the right //dataelement format                                                    var interactiontype = eval(subel1+'.type');                                                    var interactioncount = eval(parentelement+'._count');                                                    // trap duplicate values, which is not allowed for type choice                                                    if (interactiontype == 'choice') {                                                        for (var i=0; (i < interactioncount) && (errorCode=="0"); i++) {                                                           if (eval(parentelement+'.N'+i+'.pattern') == value) {                                                               errorCode = "351";                                                           }                                                        }                                                    }                                                    var nodes = new Array();                                                    if (correct_responses[interactiontype].delimiter != '') {                                                        nodes = value.split(correct_responses[interactiontype].delimiter);                                                    } else {                                                        nodes[0] = value;                                                    }                                                    if ((nodes.length > 0) && (nodes.length <= correct_responses[interactiontype].max)) {                                                        errorCode = CRcheckValueNodes (element, interactiontype, nodes, value, errorCode);                                                    } else if (nodes.length > correct_responses[interactiontype].max) {                                                        errorCode = "351";                                                        diagnostic = "Data Model Element Pattern Too Long";                                                    }                                                }                                             break;                                        }                                    }                                }                            }                            //Store data                            if (errorCode == "0") {                                if ((typeof eval('datamodel["'+elementmodel+'"].range')) != "undefined") {                                    range = eval('datamodel["'+elementmodel+'"].range');                                    ranges = range.split('#');                                    value = value*1.0;                                    if (value >= ranges[0]) {                                        if ((ranges[1] == '*') || (value <= ranges[1])) {                                            eval(element+'=value;');                                            errorCode = "0";                                            <?php                                                if (debugging('',DEBUG_DEVELOPER)) {//                                                    echo 'alert("SetValue("+element+","+value+") -> OK");';                                                    echo 'LogAPICall("SetValue", element, value, errorCode);';                                                }                                            ?>                                            return "true";                                        } else {                                            errorCode = '407';                                        }                                    } else {                                        errorCode = '407';                                    }                                } else {                                    eval(element+'=value;');                                    errorCode = "0";                                    <?php                                        if (debugging('',DEBUG_DEVELOPER)) {//                                           echo 'alert("SetValue("+element+","+value+") -> OK");';                                            echo 'LogAPICall("SetValue", element, value, errorCode);';                                        }                                    ?>                                    return "true";                                }                            }                        } else {                            errorCode = "406";                        }                    } else {                        errorCode = "404";                    }                } else {                    errorCode = "401"                }            } else {                errorCode = "351";            }        } else {            if (Terminated) {                errorCode = "133";            } else {                errorCode = "132";            }        }        <?php            if (debugging('',DEBUG_DEVELOPER)) {                echo 'LogAPICall("SetValue", element, value, errorCode);';            }        ?>        return "false";    }    function CRremovePrefixes (node) {        // check for prefixes lang, case, order        // case and then order        var seenOrder = false;        var seenCase = false;        var seenLang = false;        var errorCode = "0";        while (matches = node.match('^(\{(lang|case_matters|order_matters)=([^\}]+)\})')) {            switch (matches[2]) {                case 'lang':                    // check for language prefix on each node                    langmatches = node.match(CMILangcr);                    if (langmatches != null) {                        lang = langmatches[3];                        // check that language string definition is valid                        if (lang.length > 0 && lang != undefined) {                            if (validLanguages[lang.toLowerCase()] == undefined) {                                errorCode = "406";                            }                        }                    }                    seenLang = true;                break;                case 'case_matters':                    // check for correct case answer                    if (! seenLang && ! seenOrder && ! seenCase) {                        if (matches[3] != 'true' && matches[3] != 'false') {                            errorCode = "406";                        }                    }                    seenCase = true;                break;                case 'order_matters':                    // check for correct case answer                    if (! seenCase && ! seenLang && ! seenOrder) {                        if (matches[3] != 'true' && matches[3] != 'false') {                            errorCode = "406";                        }                    }                    seenOrder = true;                break;                default:                break;            }            node = node.substr(matches[1].length);        }        return {'errorCode': errorCode, 'node': node};    }

⌨️ 快捷键说明

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