📄 upgrade.php
字号:
<?php //$Id: upgrade.php,v 1.4.2.2 2007/12/06 07:07:32 toyomoyo Exp $// This file keeps track of upgrades to // the search block//// 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_block_search_upgrade($oldversion=0) { global $CFG, $THEME, $db; $result = true;/// And upgrade begins here. For each one, you'll need one /// block of code similar to the next one. Please, delete /// this comment lines once this file start handling proper/// upgrade code./// if ($result && $oldversion < YYYYMMDD00) { //New version in version.php/// $result = result of "/lib/ddllib.php" function calls/// } if ($result && $oldversion < 2007071302) { /// Define table search_documents to be created $table = new XMLDBTable('search_documents'); /// Drop it if it existed before drop_table($table, true, false); /// Adding fields to table search_documents $table->addFieldInfo('id', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, XMLDB_SEQUENCE, null, null, null); $table->addFieldInfo('docid', XMLDB_TYPE_CHAR, '32', null, XMLDB_NOTNULL, null, null, null, null); $table->addFieldInfo('doctype', XMLDB_TYPE_CHAR, '32', null, XMLDB_NOTNULL, null, null, null, 'none'); $table->addFieldInfo('itemtype', XMLDB_TYPE_CHAR, '32', null, XMLDB_NOTNULL, null, null, null, 'standard'); $table->addFieldInfo('title', XMLDB_TYPE_CHAR, '255', null, XMLDB_NOTNULL, null, null, null); $table->addFieldInfo('url', XMLDB_TYPE_CHAR, '255', null, XMLDB_NOTNULL, null, null, null); $table->addFieldInfo('docdate', XMLDB_TYPE_DATETIME, null, null, XMLDB_NOTNULL, null, null, null); $table->addFieldInfo('updated', XMLDB_TYPE_DATETIME, null, null, XMLDB_NOTNULL, null, null, null); $table->addFieldInfo('courseid', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, null, null, '0'); $table->addFieldInfo('groupid', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, null, null, '0'); /// Adding keys to table search_documents $table->addKeyInfo('primary', XMLDB_KEY_PRIMARY, array('id')); /// Adding indexes to table search_documents $table->addIndexInfo('mdl_search_docid', XMLDB_INDEX_NOTUNIQUE, array('docid')); $table->addIndexInfo('mdl_search_doctype', XMLDB_INDEX_NOTUNIQUE, array('doctype')); $table->addIndexInfo('mdl_search_itemtype', XMLDB_INDEX_NOTUNIQUE, array('itemtype')); /// Launch create table for search_documents $result = $result && create_table($table); }/// Rename table search_documents to block_search_documents and /// fix some defaults (MDL-10572) if ($result && $oldversion < 2007081100) { /// Define table search_documents to be renamed to block_search_documents $table = new XMLDBTable('search_documents'); /// Launch rename table for block_search_documents $result = $result && rename_table($table, 'block_search_documents'); /// Changing the default of field doctype on table block_search_documents to none $table = new XMLDBTable('block_search_documents'); $field = new XMLDBField('doctype'); $field->setAttributes(XMLDB_TYPE_CHAR, '32', null, XMLDB_NOTNULL, null, null, null, 'none', 'docid'); /// Launch change of default for field doctype $result = $result && change_field_default($table, $field); /// Changing the default of field itemtype on table block_search_documents to standard $table = new XMLDBTable('block_search_documents'); $field = new XMLDBField('itemtype'); $field->setAttributes(XMLDB_TYPE_CHAR, '32', null, XMLDB_NOTNULL, null, null, null, 'standard', 'doctype'); /// Launch change of default for field itemtype $result = $result && change_field_default($table, $field); /// Changing the default of field title on table block_search_documents to drop it $table = new XMLDBTable('block_search_documents'); $field = new XMLDBField('title'); $field->setAttributes(XMLDB_TYPE_CHAR, '255', null, XMLDB_NOTNULL, null, null, null, null, 'itemtype'); /// Launch change of default for field title $result = $result && change_field_default($table, $field); /// Changing the default of field url on table block_search_documents to drop it $table = new XMLDBTable('block_search_documents'); $field = new XMLDBField('url'); $field->setAttributes(XMLDB_TYPE_CHAR, '255', null, XMLDB_NOTNULL, null, null, null, null, 'title'); /// Launch change of default for field url $result = $result && change_field_default($table, $field); } if ($result && $oldversion < 2007112700) { /* /// Truncate the block_search_documents table execute_sql("TRUNCATE TABLE {$CFG->prefix}block_search_documents", true); /// Changing type of field docdate on table block_search_documents to int $table = new XMLDBTable('block_search_documents'); $field = new XMLDBField('docdate'); $field->setAttributes(XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, null, null, '0', 'url'); /// Launch change of type for field docdate $result = $result && change_field_type($table, $field); /// Changing type of field updated on table block_search_documents to int $table = new XMLDBTable('block_search_documents'); $field = new XMLDBField('updated'); $field->setAttributes(XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, null, null, '0', 'docdate'); /// Launch change of type for field updated $result = $result && change_field_type($table, $field); */ /// MDL-12352, postgres can not cope with change_field_type(), so dropping the fields and adding again /// Define field docdate to be dropped from block_search_documents $table = new XMLDBTable('block_search_documents'); $field = new XMLDBField('docdate'); /// Launch drop field docdate $result = $result && drop_field($table, $field); /// Define field updated to be dropped from block_search_documents $field = new XMLDBField('updated'); /// Launch drop field updated $result = $result && drop_field($table, $field); /// Define field docdate to be added to block_search_documents $field = new XMLDBField('docdate'); $field->setAttributes(XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, null, null, '0', 'url'); /// Launch add field docdate $result = $result && add_field($table, $field); /// Define field updated to be added to block_search_documents $field = new XMLDBField('updated'); $field->setAttributes(XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, null, null, '0', 'docdate'); /// Launch add field updated $result = $result && add_field($table, $field); } return $result;}?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -