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

📄 mysql.php

📁 很棒的在线教学系统
💻 PHP
📖 第 1 页 / 共 5 页
字号:
<?php // $Id: mysql.php,v 1.115.4.1 2007/11/02 16:20:25 tjhunt Exp $// THIS FILE IS DEPRECATED!  PLEASE DO NOT MAKE CHANGES TO IT!//// IT IS USED ONLY FOR UPGRADES FROM BEFORE MOODLE 1.7, ALL // LATER CHANGES SHOULD USE upgrade.php IN THIS DIRECTORY.function quiz_upgrade($oldversion) {// This function does anything necessary to upgrade// older versions to match current functionality    global $CFG, $QTYPES, $db;    $success = true;    require_once("$CFG->dirroot/mod/quiz/locallib.php");    if ($success && $oldversion < 2002101800) {        $success = $success && execute_sql(" ALTER TABLE `quiz_attempts` ".                    " ADD `timestart` INT(10) UNSIGNED DEFAULT '0' NOT NULL AFTER `sumgrades` , ".                    " ADD `timefinish` INT(10) UNSIGNED DEFAULT '0' NOT NULL AFTER `timestart` ");        $success = $success && execute_sql(" UPDATE `quiz_attempts` SET timestart = timemodified ");        $success = $success && execute_sql(" UPDATE `quiz_attempts` SET timefinish = timemodified ");    }    if ($success && $oldversion < 2002102101) {        $success = $success && execute_sql(" DELETE FROM log_display WHERE module = 'quiz' ");        $success = $success && execute_sql(" INSERT INTO log_display (module, action, mtable, field) VALUES ('quiz', 'view', 'quiz', 'name') ");        $success = $success && execute_sql(" INSERT INTO log_display (module, action, mtable, field) VALUES ('quiz', 'report', 'quiz', 'name') ");        $success = $success && execute_sql(" INSERT INTO log_display (module, action, mtable, field) VALUES ('quiz', 'attempt', 'quiz', 'name') ");        $success = $success && execute_sql(" INSERT INTO log_display (module, action, mtable, field) VALUES ('quiz', 'submit', 'quiz', 'name') ");    }    if ($success && $oldversion < 2002102600) {        $success = $success && execute_sql(" ALTER TABLE `quiz_answers` CHANGE `feedback` `feedback` TEXT NOT NULL ");    }    if ($success && $oldversion < 2002122300) {        $success = $success && execute_sql("ALTER TABLE `quiz_grades` CHANGE `user` `userid` INT(10) UNSIGNED DEFAULT '0' NOT NULL ");        $success = $success && execute_sql("ALTER TABLE `quiz_attempts` CHANGE `user` `userid` INT(10) UNSIGNED DEFAULT '0' NOT NULL ");    }    // prefixes required from here on, or use table_column()    if ($success && $oldversion < 2003010100) {        $success = $success && execute_sql(" ALTER TABLE {$CFG->prefix}quiz ADD review TINYINT(4) UNSIGNED DEFAULT '0' NOT NULL AFTER `grademethod` ");    }    if ($success && $oldversion < 2003010301) {        $success = $success && table_column("quiz_truefalse", "true", "trueanswer", "INTEGER", "10", "UNSIGNED", "0", "NOT NULL", "");        $success = $success && table_column("quiz_truefalse", "false", "falseanswer", "INTEGER", "10", "UNSIGNED", "0", "NOT NULL", "");        $success = $success && table_column("quiz_questions", "type", "qtype", "INTEGER", "10", "UNSIGNED", "0", "NOT NULL", "");    }    if ($success && $oldversion < 2003022303) {        $success = $success && modify_database ("", "CREATE TABLE `prefix_quiz_randommatch` (                             `id` int(10) unsigned NOT NULL auto_increment,                             `question` int(10) unsigned NOT NULL default '0',                             `choose` INT UNSIGNED DEFAULT '4' NOT NULL,                             PRIMARY KEY ( `id` )                          );");    }    if ($success && $oldversion < 2003030303) {        $success = $success && table_column("quiz_questions", "", "defaultgrade", "INTEGER", "6", "UNSIGNED", "1", "NOT NULL", "image");    }    if ($success && $oldversion < 2003032601) {        $success = $success && execute_sql(" ALTER TABLE `{$CFG->prefix}quiz_answers` ADD INDEX(question) ");        $success = $success && execute_sql(" ALTER TABLE `{$CFG->prefix}quiz_attempts` ADD INDEX(quiz) ");        $success = $success && execute_sql(" ALTER TABLE `{$CFG->prefix}quiz_attempts` ADD INDEX(userid) ");        $success = $success && execute_sql(" ALTER TABLE `{$CFG->prefix}quiz_grades` ADD INDEX(quiz) ");        $success = $success && execute_sql(" ALTER TABLE `{$CFG->prefix}quiz_grades` ADD INDEX(userid) ");        $success = $success && execute_sql(" ALTER TABLE `{$CFG->prefix}quiz_question_grades` ADD INDEX(quiz) ");        $success = $success && execute_sql(" ALTER TABLE `{$CFG->prefix}quiz_question_grades` ADD INDEX(question) ");        $success = $success && execute_sql(" ALTER TABLE `{$CFG->prefix}quiz_randommatch` ADD INDEX(question) ");        $success = $success && execute_sql(" ALTER TABLE `{$CFG->prefix}quiz_responses` ADD INDEX(attempt) ");        $success = $success && execute_sql(" ALTER TABLE `{$CFG->prefix}quiz_responses` ADD INDEX(question) ");    }    if ($success && $oldversion < 2003033100) {        $success = $success && modify_database ("", "ALTER TABLE prefix_quiz_randommatch RENAME prefix_quiz_randomsamatch ");        $success = $success && modify_database ("", "CREATE TABLE `prefix_quiz_match` (                             `id` int(10) unsigned NOT NULL auto_increment,                             `question` int(10) unsigned NOT NULL default '0',                             `subquestions` varchar(255) NOT NULL default '',                             PRIMARY KEY  (`id`),                             KEY `question` (`question`)                           );");        $success = $success && modify_database ("", "CREATE TABLE `prefix_quiz_match_sub` (                             `id` int(10) unsigned NOT NULL auto_increment,                             `question` int(10) unsigned NOT NULL default '0',                             `questiontext` text NOT NULL,                             `answertext` varchar(255) NOT NULL default '',                             PRIMARY KEY  (`id`),                             KEY `question` (`question`)                           );");    }    if ($success && $oldversion < 2003040901) {        $success = $success && table_column("quiz", "", "shufflequestions", "INTEGER", "4", "UNSIGNED", "0", "NOT NULL", "review");        $success = $success && table_column("quiz", "", "shuffleanswers", "INTEGER", "4", "UNSIGNED", "0", "NOT NULL", "shufflequestions");    }    if ($success && $oldversion < 2003071001) {        $success = $success && modify_database ("", " CREATE TABLE `prefix_quiz_numerical` (                               `id` int(10) unsigned NOT NULL auto_increment,                               `question` int(10) unsigned NOT NULL default '0',                               `answer` int(10) unsigned NOT NULL default '0',                               `min` varchar(255) NOT NULL default '',                               `max` varchar(255) NOT NULL default '',                               PRIMARY KEY  (`id`),                               KEY `answer` (`answer`)                             ) TYPE=MyISAM COMMENT='Options for numerical questions'; ");    }    if ($success && $oldversion < 2003072400) {        $success = $success && execute_sql(" INSERT INTO {$CFG->prefix}log_display (module, action, mtable, field) VALUES ('quiz', 'review', 'quiz', 'name') ");    }    if ($success && $oldversion < 2003072901) {        $success = $success && modify_database ("", " CREATE TABLE `prefix_quiz_multianswers` (                               `id` int(10) unsigned NOT NULL auto_increment,                                `question` int(10) unsigned NOT NULL default '0',                                `answers` varchar(255) NOT NULL default '',                                `positionkey` varchar(255) NOT NULL default '',                                `answertype` smallint(6) NOT NULL default '0',                                `norm` int(10) unsigned NOT NULL default '1',                                PRIMARY KEY  (`id`),                                KEY `question` (`question`)                              ) TYPE=MyISAM COMMENT='Options for multianswer questions'; ");    }    if ($success && $oldversion < 2003080301) {        $success = $success && execute_sql(" ALTER TABLE {$CFG->prefix}quiz ADD eachattemptbuildsonthelast TINYINT(4) DEFAULT '0' NOT NULL AFTER `attempts` ");    }    if ($success && $oldversion < 2003080400) {        $success = $success && table_column("quiz", "eachattemptbuildsonthelast", "attemptonlast", "TINYINT", "4", "UNSIGNED", "0", "NOT NULL", "");    }    if ($success && $oldversion < 2003082300) {        $success = $success && table_column("quiz_questions", "", "stamp", "varchar", "255", "", "", "not null", "qtype");    }    if ($success && $oldversion < 2003082301) {        $success = $success && table_column("quiz_questions", "stamp", "stamp", "varchar", "255", "", "", "not null");        $success = $success && table_column("quiz_questions", "", "version", "integer", "10", "", "1", "not null", "stamp");        if ($questions = get_records("quiz_questions")) {            foreach ($questions as $question) {                $stamp = make_unique_id_code();                if (!($success = $success && set_field("quiz_questions", "stamp", $stamp, "id", $question->id))) {                    notify("Error while adding stamp to question id = $question->id");                    break;                }            }        }    }    if ($success && $oldversion < 2003082700) {        $success = $success && table_column("quiz_categories", "", "stamp", "varchar", "255", "", "", "not null");        if ($categories = get_records("quiz_categories")) {            foreach ($categories as $category) {                $stamp = make_unique_id_code();                if (!($success = $success && set_field("quiz_categories", "stamp", $stamp, "id", $category->id))) {                    notify("Error while adding stamp to category id = $category->id");                    break;                }            }        }    }    if ($success && $oldversion < 2003111100) {        $duplicates = get_records_sql("SELECT stamp as id,count(*) as cuenta                                       FROM {$CFG->prefix}quiz_questions                                       GROUP BY stamp                                       HAVING count(*)>1");        if ($duplicates) {            notify("You have some quiz questions with duplicate stamps IDs.  Cleaning these up.");            foreach ($duplicates as $duplicate) {                $questions = get_records("quiz_questions","stamp",$duplicate->id);                $add = 1;                foreach ($questions as $question) {                    echo "Changing question id $question->id stamp to ".$duplicate->id.$add."<br />";                    $success = $success && set_field("quiz_questions","stamp",$duplicate->id.$add,"id",$question->id);                    $add++;                }            }        } else {            notify("Checked your quiz questions for stamp duplication errors, but no problems were found.", "green");        }    }    if ($success && $oldversion < 2004021300) {        $success = $success && table_column("quiz_questions", "", "questiontextformat", "integer", "2", "", "0", "not null", "questiontext");    }    if ($success && $oldversion < 2004021900) {        $success = $success && modify_database("","INSERT INTO prefix_log_display (module, action, mtable, field) VALUES ('quiz', 'add', 'quiz', 'name');");        $success = $success && modify_database("","INSERT INTO prefix_log_display (module, action, mtable, field) VALUES ('quiz', 'update', 'quiz', 'name');");    }    if ($success && $oldversion < 2004051700) {        include_once("$CFG->dirroot/mod/quiz/lib.php");        $success = $success && quiz_refresh_events();    }    if ($success && $oldversion < 2004060200) {        $success = $success && execute_sql(" ALTER TABLE {$CFG->prefix}quiz ADD timelimit INT(2) UNSIGNED DEFAULT '0' NOT NULL ");    }    if ($success && $oldversion < 2004070700) {        $success = $success && table_column("quiz", "", "password", "varchar", "255", "", "", "not null", "");        $success = $success && table_column("quiz", "", "subnet", "varchar", "255", "", "", "not null", "");    }    if ($success && $oldversion < 2004073001) {        // Six new tables:

⌨️ 快捷键说明

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