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

📄 index.php

📁 很棒的在线教学系统
💻 PHP
📖 第 1 页 / 共 2 页
字号:
                }                /*                 * the options are                 * 1) userid, useridnumber, usermail, username - used to identify user row                 * 2) new - new grade item                 * 3) id - id of the old grade item to map onto                 * 3) feedback_id - feedback for grade item id                 */                $t = explode("_", $map[$key]);                $t0 = $t[0];                if (isset($t[1])) {                    $t1 = (int)$t[1];                } else {                    $t1 = '';                }                switch ($t0) {                    case 'userid': //                        if (!$user = get_record('user','id', addslashes($value))) {                            // user not found, abort whold import                            import_cleanup($importcode);                            notify("user mapping error, could not find user with id \"$value\"");                            $status = false;                            break 3;                        }                        $studentid = $value;                    break;                    case 'useridnumber':                        if (!$user = get_record('user', 'idnumber', addslashes($value))) {                             // user not found, abort whold import                            import_cleanup($importcode);                            notify("user mapping error, could not find user with idnumber \"$value\"");                            $status = false;                            break 3;                        }                        $studentid = $user->id;                    break;                    case 'useremail':                        if (!$user = get_record('user', 'email', addslashes($value))) {                            import_cleanup($importcode);                            notify("user mapping error, could not find user with email address \"$value\"");                            $status = false;                            break 3;                        }                        $studentid = $user->id;                    break;                    case 'username':                        if (!$user = get_record('user', 'username', addslashes($value))) {                            import_cleanup($importcode);                            notify("user mapping error, could not find user with username \"$value\"");                            $status = false;                            break 3;                        }                        $studentid = $user->id;                    break;                    case 'new':                        // first check if header is already in temp database                        if (empty($newgradeitems[$key])) {                            $newgradeitem = new object();                            $newgradeitem->itemname = $header[$key];                            $newgradeitem->importcode = $importcode;                            $newgradeitem->importer   = $USER->id;                            // failed to insert into new grade item buffer                            if (!$newgradeitems[$key] = insert_record('grade_import_newitem', addslashes_recursive($newgradeitem))) {                                $status = false;                                import_cleanup($importcode);                                notify(get_string('importfailed', 'grades'));                                break 3;                            }                            // add this to grade_import_newitem table                            // add the new id to $newgradeitem[$key]                        }                        $newgrade = new object();                        $newgrade->newgradeitem = $newgradeitems[$key];                        $newgrade->finalgrade   = $value;                        $newgrades[] = $newgrade;                        // if not, put it in                        // else, insert grade into the table                    break;                    case 'feedback':                        if ($t1) {                            // case of an id, only maps id of a grade_item                            // this was idnumber                            if (!$gradeitem = new grade_item(array('id'=>$t1, 'courseid'=>$course->id))) {                                // supplied bad mapping, should not be possible since user                                // had to pick mapping                                $status = false;                                import_cleanup($importcode);                                notify(get_string('importfailed', 'grades'));                                break 3;                            }                            // t1 is the id of the grade item                            $feedback = new object();                            $feedback->itemid   = $t1;                            $feedback->feedback = $value;                            $newfeedbacks[] = $feedback;                        }                    break;                    default:                        // existing grade items                        if (!empty($map[$key])) {                            // case of an id, only maps id of a grade_item                            // this was idnumber                            if (!$gradeitem = new grade_item(array('id'=>$map[$key], 'courseid'=>$course->id))) {                                // supplied bad mapping, should not be possible since user                                // had to pick mapping                                $status = false;                                import_cleanup($importcode);                                notify(get_string('importfailed', 'grades'));                                break 3;                            }                            // check if grade item is locked if so, abort                            if ($gradeitem->is_locked()) {                                $status = false;                                import_cleanup($importcode);                                notify(get_string('gradeitemlocked', 'grades'));                                break 3;                            }                            $newgrade = new object();                            $newgrade->itemid     = $gradeitem->id;                            if ($gradeitem->gradetype == GRADE_TYPE_SCALE and $verbosescales) {                                if ($value === '' or $value == '-') {                                    $value = null; // no grade                                } else {                                    $scale = $gradeitem->load_scale();                                    $scales = explode(',', $scale->scale);                                    $scales = array_map('trim', $scales); //hack - trim whitespace around scale options                                    array_unshift($scales, '-'); // scales start at key 1                                    $key = array_search($value, $scales);                                    if ($key === false) {                                        echo "<br/>t0 is $t0";                                        echo "<br/>grade is $value";                                        $status = false;                                        import_cleanup($importcode);                                        notify(get_string('badgrade', 'grades'));                                        break 3;                                    }                                    $value = $key;                                }                                $newgrade->finalgrade = $value;                            } else {                                if ($value === '' or $value == '-') {                                    $value = null; // no grade                                } else if (!is_numeric($value)) {                                // non numeric grade value supplied, possibly mapped wrong column                                    echo "<br/>t0 is $t0";                                    echo "<br/>grade is $value";                                    $status = false;                                    import_cleanup($importcode);                                    notify(get_string('badgrade', 'grades'));                                    break 3;                                }                                $newgrade->finalgrade = $value;                            }                            $newgrades[] = $newgrade;                        } // otherwise, we ignore this column altogether                          // because user has chosen to ignore them (e.g. institution, address etc)                    break;                }            }            // no user mapping supplied at all, or user mapping failed            if (empty($studentid) || !is_numeric($studentid)) {                // user not found, abort whold import                $status = false;                import_cleanup($importcode);                notify('user mapping error, could not find user!');                break;            }            // insert results of this students into buffer            if ($status and !empty($newgrades)) {                foreach ($newgrades as $newgrade) {                    // check if grade_grade is locked and if so, abort                    if (!empty($newgrade->itemid) and $grade_grade = new grade_grade(array('itemid'=>$newgrade->itemid, 'userid'=>$studentid))) {                        if ($grade_grade->is_locked()) {                            // individual grade locked                            $status = false;                            import_cleanup($importcode);                            notify(get_string('gradelocked', 'grades'));                            break 2;                        }                    }                    $newgrade->importcode = $importcode;                    $newgrade->userid     = $studentid;                    $newgrade->importer   = $USER->id;                    if (!insert_record('grade_import_values', addslashes_recursive($newgrade))) {                        // could not insert into temporary table                        $status = false;                        import_cleanup($importcode);                        notify(get_string('importfailed', 'grades'));                        break 2;                    }                }            }            // updating/inserting all comments here            if ($status and !empty($newfeedbacks)) {                foreach ($newfeedbacks as $newfeedback) {                    $sql = "SELECT *                              FROM {$CFG->prefix}grade_import_values                             WHERE importcode=$importcode AND userid=$studentid AND itemid=$newfeedback->itemid AND importer={$USER->id}";                    if ($feedback = get_record_sql($sql)) {                        $newfeedback->id = $feedback->id;                        update_record('grade_import_values', addslashes_recursive($newfeedback));                    } else {                        // the grade item for this is not updated                        $newfeedback->importcode = $importcode;                        $newfeedback->userid     = $studentid;                        $newfeedback->importer   = $USER->id;                        insert_record('grade_import_values', addslashes_recursive($newfeedback));                    }                }            }        }        /// at this stage if things are all ok, we commit the changes from temp table        if ($status) {            grade_import_commit($course->id, $importcode);        }        // temporary file can go now        unlink($filename);    } else {        error ('import file '.$filename.' not readable');    }} else {    // display the standard upload file form    $mform->display();}print_footer();?>

⌨️ 快捷键说明

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