📄 upgrade.php
字号:
<?php // $Id: upgrade.php,v 1.5.2.2 2008/12/12 13:12:59 tjhunt Exp $// This file keeps track of upgrades to // the multichoice qtype plugin//// Sometimes, changes between versions involve// alterations to database structures and other// major things that may break installations.//// The upgrade function in this file will attempt// to perform all the necessary actions to upgrade// your older installtion to the current version.//// If there's something it cannot do itself, it// will tell you what you need to do.//// The commands in here will all be database-neutral,// using the functions defined in lib/ddllib.phpfunction xmldb_qtype_multichoice_upgrade($oldversion=0) { global $CFG, $THEME, $db; $result = true; // This upgrade actually belongs to the description question type, // but that does not have a DB upgrade script. Therefore, multichoice // is doing it. // The need for this is that for a while, descriptions were being created // with a defaultgrade of 1, when it shoud be 0. We need to reset them all to 0. // See MDL-7925. if ($result && $oldversion < 2006121500) { $result = $result && set_field('question', 'defaultgrade', 0, 'qtype', DESCRIPTION, 'defaultgrade', 1); } // Add a field so that question authors can choose whether and how the Choices are numbered. // Subsequently changed to not create an enum constraint, because it was causing problems - // See 2007081700 update. if ($result && $oldversion < 2007041300) { $table = new XMLDBTable('question_multichoice'); $field = new XMLDBField('answernumbering'); $field->setAttributes(XMLDB_TYPE_CHAR, '10', null, XMLDB_NOTNULL, null, null, null, 'abc', 'incorrectfeedback'); $result = $result && add_field($table, $field); } // This upgrade actually belongs to the description question type, // but that does not have a DB upgrade script. Therefore, multichoice // is doing it. // The need for this is that for a while, descriptions were being created // with a defaultgrade of 1, when it shoud be 0. We need to reset them all to 0. // This is re-occurrence of MDL-7925, so we need to do it again. if ($result && $oldversion < 2007072000) { require_once($CFG->libdir . '/questionlib.php'); $result = $result && set_field('question', 'defaultgrade', 0, 'qtype', DESCRIPTION, 'defaultgrade', 1); } // Drop enum constraint on 'answernumbering' column, and change ABC to ABCD becuase MySQL // sometimes can't cope with things that differ only by case. if ($result && $oldversion < 2007081700) { if ($result && $oldversion >= 2007041300) { $table = new XMLDBTable('question_multichoice'); $field = new XMLDBField('answernumbering'); $field->setAttributes(XMLDB_TYPE_CHAR, '10', null, XMLDB_NOTNULL, null, null, null, 'abc', 'incorrectfeedback'); $result = $result && change_field_enum($table, $field); } $result = $result && set_field('question_multichoice', 'answernumbering', 'ABCD', 'answernumbering', 'ABC'); } return $result;}?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -