mirror of
https://github.com/moodle/moodle.git
synced 2025-01-22 08:11:26 +01:00
4b85b71712
- shuffle questions order - shuffle answers order
99 lines
4.9 KiB
PHP
99 lines
4.9 KiB
PHP
<?PHP // $Id$
|
|
|
|
function quiz_upgrade($oldversion) {
|
|
// This function does anything necessary to upgrade
|
|
// older versions to match current functionality
|
|
|
|
global $CFG;
|
|
|
|
if ($oldversion < 2002101800) {
|
|
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` ");
|
|
execute_sql(" UPDATE `quiz_attempts` SET timestart = timemodified ");
|
|
execute_sql(" UPDATE `quiz_attempts` SET timefinish = timemodified ");
|
|
}
|
|
if ($oldversion < 2002102101) {
|
|
execute_sql(" DELETE FROM log_display WHERE module = 'quiz' ");
|
|
execute_sql(" INSERT INTO log_display VALUES ('quiz', 'view', 'quiz', 'name') ");
|
|
execute_sql(" INSERT INTO log_display VALUES ('quiz', 'report', 'quiz', 'name') ");
|
|
execute_sql(" INSERT INTO log_display VALUES ('quiz', 'attempt', 'quiz', 'name') ");
|
|
execute_sql(" INSERT INTO log_display VALUES ('quiz', 'submit', 'quiz', 'name') ");
|
|
}
|
|
if ($oldversion < 2002102600) {
|
|
execute_sql(" ALTER TABLE `quiz_answers` CHANGE `feedback` `feedback` TEXT NOT NULL ");
|
|
}
|
|
|
|
if ($oldversion < 2002122300) {
|
|
execute_sql("ALTER TABLE `quiz_grades` CHANGE `user` `userid` INT(10) UNSIGNED DEFAULT '0' NOT NULL ");
|
|
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 ($oldversion < 2003010100) {
|
|
execute_sql(" ALTER TABLE {$CFG->prefix}quiz ADD review TINYINT(4) UNSIGNED DEFAULT '0' NOT NULL AFTER `grademethod` ");
|
|
}
|
|
|
|
if ($oldversion < 2003010301) {
|
|
table_column("quiz_truefalse", "true", "trueanswer", "INTEGER", "10", "UNSIGNED", "0", "NOT NULL", "");
|
|
table_column("quiz_truefalse", "false", "falseanswer", "INTEGER", "10", "UNSIGNED", "0", "NOT NULL", "");
|
|
table_column("quiz_questions", "type", "qtype", "INTEGER", "10", "UNSIGNED", "0", "NOT NULL", "");
|
|
}
|
|
|
|
if ($oldversion < 2003022303) {
|
|
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 ($oldversion < 2003030303) {
|
|
table_column("quiz_questions", "", "defaultgrade", "INTEGER", "6", "UNSIGNED", "1", "NOT NULL", "image");
|
|
}
|
|
|
|
if ($oldversion < 2003032601) {
|
|
execute_sql(" ALTER TABLE `{$CFG->prefix}quiz_answers` ADD INDEX(question) ");
|
|
execute_sql(" ALTER TABLE `{$CFG->prefix}quiz_attempts` ADD INDEX(quiz) ");
|
|
execute_sql(" ALTER TABLE `{$CFG->prefix}quiz_attempts` ADD INDEX(userid) ");
|
|
execute_sql(" ALTER TABLE `{$CFG->prefix}quiz_grades` ADD INDEX(quiz) ");
|
|
execute_sql(" ALTER TABLE `{$CFG->prefix}quiz_grades` ADD INDEX(userid) ");
|
|
execute_sql(" ALTER TABLE `{$CFG->prefix}quiz_question_grades` ADD INDEX(quiz) ");
|
|
execute_sql(" ALTER TABLE `{$CFG->prefix}quiz_question_grades` ADD INDEX(question) ");
|
|
execute_sql(" ALTER TABLE `{$CFG->prefix}quiz_randommatch` ADD INDEX(question) ");
|
|
execute_sql(" ALTER TABLE `{$CFG->prefix}quiz_responses` ADD INDEX(attempt) ");
|
|
execute_sql(" ALTER TABLE `{$CFG->prefix}quiz_responses` ADD INDEX(question) ");
|
|
}
|
|
|
|
if ($oldversion < 2003033100) {
|
|
modify_database ("", "ALTER TABLE prefix_quiz_randommatch RENAME prefix_quiz_randomsamatch ");
|
|
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`)
|
|
);");
|
|
|
|
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 ($oldversion < 2003040901) {
|
|
table_column("quiz", "", "shufflequestions", "INTEGER", "4", "UNSIGNED", "0", "NOT NULL", "review");
|
|
table_column("quiz", "", "shuffleanswers", "INTEGER", "4", "UNSIGNED", "0", "NOT NULL", "shufflequestions");
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
?>
|