function xmldb_qtype_calculated_upgrade($oldversion) { global $CFG, $DB; $dbman = $DB->get_manager(); $result = true; // MDL-16505. if ($result && $oldversion < 2008091700) { //New version in version.php if (get_config('qtype_datasetdependent', 'version')) { $result = $result && unset_config('version', 'qtype_datasetdependent'); } upgrade_plugin_savepoint($result, 2008091700, 'qtype', 'calculated'); } // let if ($dbman->table_exists()) replace the normal $oldversion test // as in any case the question question_calculated_options should be created /// Define table question_calculated_options to be created $table = new xmldb_table('question_calculated_options'); /// Adding fields to table question_calculated_options $table->add_field('id', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, XMLDB_SEQUENCE, null); $table->add_field('question', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, '0'); $table->add_field('synchronize', XMLDB_TYPE_INTEGER, '2', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, '0'); /// Adding keys to table question_calculated_options $table->add_key('primary', XMLDB_KEY_PRIMARY, array('id')); $table->add_key('question', XMLDB_KEY_FOREIGN, array('question'), 'question', array('id')); /// Conditionally launch create table for question_calculated_options if (!$dbman->table_exists($table)) { $result = $dbman->create_table($table); } /// calculated savepoint reached /// if ($result && $oldversion < YYYYMMDD00) { //New version in version.php /// $result = result of database_manager methods /// upgrade_plugin_savepoint($result, YYYYMMDD00, 'qtype', 'calculated'); /// } return $result; }
public function test_reorder_rows() { global $DB; $dbman = $DB->get_manager(); $this->resetAfterTest(); $table = new xmldb_table('test_table'); $table->setComment("This is a test'n drop table. You can drop it safely"); $tablename = $table->getName(); $table->add_field('id', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, XMLDB_SEQUENCE, null); $table->add_field('otherid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, '0'); $table->add_field('sortorder', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, '0'); $table->add_field('otherdata', XMLDB_TYPE_TEXT, 'big', null, null, null); $table->add_key('primary', XMLDB_KEY_PRIMARY, array('id')); $table->add_key('unique', XMLDB_KEY_UNIQUE, array('otherid', 'sortorder')); $dbman->create_table($table); // Rows intentionally added in a slightly 'random' order. // Note we are testing hat the otherid = 1 rows don't get messed up, // as well as testing that the otherid = 2 rows are updated correctly. $DB->insert_record($tablename, array('otherid' => 2, 'sortorder' => 1, 'otherdata' => 'To become 4')); $DB->insert_record($tablename, array('otherid' => 2, 'sortorder' => 2, 'otherdata' => 'To become 1')); $DB->insert_record($tablename, array('otherid' => 1, 'sortorder' => 1, 'otherdata' => 'Other 1')); $DB->insert_record($tablename, array('otherid' => 1, 'sortorder' => 2, 'otherdata' => 'Other 2')); $DB->insert_record($tablename, array('otherid' => 2, 'sortorder' => 3, 'otherdata' => 'To stay at 3')); $DB->insert_record($tablename, array('otherid' => 2, 'sortorder' => 4, 'otherdata' => 'To become 2')); update_field_with_unique_index($tablename, 'sortorder', array(1 => 4, 2 => 1, 3 => 3, 4 => 2), array('otherid' => 2)); $this->assertEquals(array(3 => (object) array('id' => 3, 'otherid' => 1, 'sortorder' => 1, 'otherdata' => 'Other 1'), 4 => (object) array('id' => 4, 'otherid' => 1, 'sortorder' => 2, 'otherdata' => 'Other 2')), $DB->get_records($tablename, array('otherid' => 1), 'sortorder')); $this->assertEquals(array(2 => (object) array('id' => 2, 'otherid' => 2, 'sortorder' => 1, 'otherdata' => 'To become 1'), 6 => (object) array('id' => 6, 'otherid' => 2, 'sortorder' => 2, 'otherdata' => 'To become 2'), 5 => (object) array('id' => 5, 'otherid' => 2, 'sortorder' => 3, 'otherdata' => 'To stay at 3'), 1 => (object) array('id' => 1, 'otherid' => 2, 'sortorder' => 4, 'otherdata' => 'To become 4')), $DB->get_records($tablename, array('otherid' => 2), 'sortorder')); }
/** * Upgrade code for the essay question type. * @param int $oldversion the version we are upgrading from. */ function xmldb_qtype_essay_upgrade($oldversion) { global $CFG, $DB; $dbman = $DB->get_manager(); if ($oldversion < 2011031000) { // Define table qtype_essay_options to be created $table = new xmldb_table('qtype_essay_options'); // Adding fields to table qtype_essay_options $table->add_field('id', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, XMLDB_SEQUENCE, null); $table->add_field('questionid', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, null); $table->add_field('responseformat', XMLDB_TYPE_CHAR, '16', null, XMLDB_NOTNULL, null, 'editor'); $table->add_field('responsefieldlines', XMLDB_TYPE_INTEGER, '4', null, XMLDB_NOTNULL, null, '15'); $table->add_field('attachments', XMLDB_TYPE_INTEGER, '4', null, XMLDB_NOTNULL, null, '0'); $table->add_field('graderinfo', XMLDB_TYPE_TEXT, 'small', null, null, null, null); $table->add_field('graderinfoformat', XMLDB_TYPE_INTEGER, '4', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, '0'); // Adding keys to table qtype_essay_options $table->add_key('primary', XMLDB_KEY_PRIMARY, array('id')); $table->add_key('questionid', XMLDB_KEY_FOREIGN_UNIQUE, array('questionid'), 'question', array('id')); // Conditionally launch create table for qtype_essay_options if (!$dbman->table_exists($table)) { $dbman->create_table($table); } // essay savepoint reached upgrade_plugin_savepoint(true, 2011031000, 'qtype', 'essay'); } if ($oldversion < 2011060300) { // Insert a row into the qtype_essay_options table for each existing essay question. $DB->execute("\n INSERT INTO {qtype_essay_options} (questionid, responseformat,\n responsefieldlines, attachments, graderinfo, graderinfoformat)\n SELECT q.id, 'editor', 15, 0, '', " . FORMAT_MOODLE . "\n FROM {question} q\n WHERE q.qtype = 'essay'\n AND NOT EXISTS (\n SELECT 'x'\n FROM {qtype_essay_options} qeo\n WHERE qeo.questionid = q.id)"); // essay savepoint reached upgrade_plugin_savepoint(true, 2011060300, 'qtype', 'essay'); } // Moodle v2.1.0 release upgrade line // Put any upgrade step following this return true; }
/** * @package eclass-local-contextadmin * @author joshstagg * @copyright Josh Stagg * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ function xmldb_local_contextadmin_upgrade($oldversion) { global $DB; $dbman = $DB->get_manager(); if ($oldversion < 2013100813) { // Adding fields to table. $table = new xmldb_table('cat_role_names'); $table->add_field('id', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, XMLDB_SEQUENCE, null, null); $table->add_field('roleid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, '0', 'id'); $table->add_field('catid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, '0', 'roleid'); $table->add_field('name', XMLDB_TYPE_CHAR, '255', null, XMLDB_NOTNULL, null, null, 'catid'); // Add keys to table. $table->add_key('primary', XMLDB_KEY_PRIMARY, array('id')); $table->add_key('roleid', XMLDB_KEY_FOREIGN, array('roleid'), 'role', array('id')); $table->add_key('catid', XMLDB_KEY_FOREIGN, array('catid'), 'course_categories', array('id')); // Add indices. $table->add_index('roleid-catid', XMLDB_INDEX_UNIQUE, array('roleid', 'catid')); // Conditionally launch add table. if (!$dbman->table_exists($table)) { $dbman->create_table($table); // Main savepoint reached. upgrade_plugin_savepoint(true, 2013100813, 'local', 'contextadmin'); } } }
function xmldb_mediaboard_upgrade($oldversion = 0) { global $CFG, $THEME, $DB; $result = true; $dbman = $DB->get_manager(); if ($oldversion < 2015030200) { // Define table assign_user_mapping to be created. $table = new xmldb_table('mediaboard_likes'); // Adding fields to table assign_user_mapping. $table->add_field('id', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, XMLDB_SEQUENCE, null); $table->add_field('instance', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, '0'); $table->add_field('fileid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, '0'); $table->add_field('userid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, '0'); $table->add_field('time', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, '0'); // Adding keys to table assign_user_mapping. $table->add_key('primary', XMLDB_KEY_PRIMARY, array('id')); $table->add_key('user', XMLDB_KEY_FOREIGN, array('userid'), 'user', array('id')); // Conditionally launch create table for assign_user_mapping. if (!$dbman->table_exists($table)) { $dbman->create_table($table); } // Assign savepoint reached. upgrade_mod_savepoint(true, 2015030200, 'mediaboard'); } return $result; }
function xmldb_enrol_flatfile_upgrade($oldversion) { global $CFG, $DB; $result = TRUE; $dbman = $DB->get_manager(); if ($oldversion < 2010091400) { // Define table enrol_flatfile to be created $table = new xmldb_table('enrol_flatfile'); // Adding fields to table enrol_flatfile $table->add_field('id', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, XMLDB_SEQUENCE, null); $table->add_field('action', XMLDB_TYPE_CHAR, '30', null, XMLDB_NOTNULL, null, null); $table->add_field('roleid', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, null); $table->add_field('userid', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, null); $table->add_field('courseid', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, null); $table->add_field('timestart', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, '0'); $table->add_field('timeend', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, '0'); $table->add_field('timemodified', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, '0'); // Adding keys to table enrol_flatfile $table->add_key('id', XMLDB_KEY_PRIMARY, array('id')); $table->add_key('courseid-id', XMLDB_KEY_FOREIGN, array('courseid'), 'course', array('id')); $table->add_key('userid-id', XMLDB_KEY_FOREIGN, array('userid'), 'user', array('id')); $table->add_key('roleid-id', XMLDB_KEY_FOREIGN, array('roleid'), 'role', array('id')); // Conditionally launch create table for enrol_flatfile if (!$dbman->table_exists($table)) { $dbman->create_table($table); } // flatfile savepoint reached upgrade_plugin_savepoint(true, 2010091400, 'enrol', 'flatfile'); } return $result; }
/** * Run all Atto upgrade steps between the current DB version and the current version on disk. * @param int $oldversion The old version of atto in the DB. * @return bool */ function xmldb_editor_atto_upgrade($oldversion) { global $CFG, $DB; $dbman = $DB->get_manager(); if ($oldversion < 2014032800) { // Make Atto the default. $currenteditors = $CFG->texteditors; $neweditors = array(); $list = explode(',', $currenteditors); array_push($neweditors, 'atto'); foreach ($list as $editor) { if ($editor != 'atto') { array_push($neweditors, $editor); } } set_config('texteditors', implode(',', $neweditors)); upgrade_plugin_savepoint(true, 2014032800, 'editor', 'atto'); } // Moodle v2.7.0 release upgrade line. // Put any upgrade step following this. if ($oldversion < 2014081400) { // Define table editor_atto_autosave to be created. $table = new xmldb_table('editor_atto_autosave'); // Adding fields to table editor_atto_autosave. $table->add_field('id', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, XMLDB_SEQUENCE, null); $table->add_field('elementid', XMLDB_TYPE_CHAR, '255', null, XMLDB_NOTNULL, null, null); $table->add_field('contextid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, null); $table->add_field('pagehash', XMLDB_TYPE_CHAR, '64', null, XMLDB_NOTNULL, null, null); $table->add_field('userid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, null); $table->add_field('drafttext', XMLDB_TYPE_TEXT, null, null, XMLDB_NOTNULL, null, null); $table->add_field('draftid', XMLDB_TYPE_INTEGER, '10', null, null, null, null); $table->add_field('pageinstance', XMLDB_TYPE_CHAR, '64', null, XMLDB_NOTNULL, null, null); // Adding keys to table editor_atto_autosave. $table->add_key('primary', XMLDB_KEY_PRIMARY, array('id')); $table->add_key('autosave_uniq_key', XMLDB_KEY_UNIQUE, array('elementid', 'contextid', 'userid', 'pagehash')); // Conditionally launch create table for editor_atto_autosave. if (!$dbman->table_exists($table)) { $dbman->create_table($table); } // Atto savepoint reached. upgrade_plugin_savepoint(true, 2014081400, 'editor', 'atto'); } if ($oldversion < 2014081900) { // Define field timemodified to be added to editor_atto_autosave. $table = new xmldb_table('editor_atto_autosave'); $field = new xmldb_field('timemodified', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, '0', 'pageinstance'); // Conditionally launch add field timemodified. if (!$dbman->field_exists($table, $field)) { $dbman->add_field($table, $field); } // Atto savepoint reached. upgrade_plugin_savepoint(true, 2014081900, 'editor', 'atto'); } // Moodle v2.8.0 release upgrade line. // Put any upgrade step following this. // Moodle v2.9.0 release upgrade line. // Put any upgrade step following this. return true; }
/** * This file keeps track of upgrades to * the forum module * * 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 installation 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 methods of database_manager class * * Please do not forget to use upgrade_set_timeout() * before any action that may take longer time to finish. * * @package mod-forum * @copyright 2003 onwards Eloy Lafuente (stronk7) {@link http://stronk7.com} * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ function xmldb_forum_upgrade($oldversion) { global $CFG, $DB, $OUTPUT; $dbman = $DB->get_manager(); // Loads ddl manager and xmldb classes. // Moodle v2.2.0 release upgrade line. // Put any upgrade step following this. // Moodle v2.3.0 release upgrade line. // Put any upgrade step following this. // Moodle v2.4.0 release upgrade line. // Put any upgrade step following this. if ($oldversion < 2013020500) { // Define field displaywordcount to be added to forum. $table = new xmldb_table('forum'); $field = new xmldb_field('displaywordcount', XMLDB_TYPE_INTEGER, '1', null, XMLDB_NOTNULL, null, '0', 'completionposts'); // Conditionally launch add field displaywordcount. if (!$dbman->field_exists($table, $field)) { $dbman->add_field($table, $field); } // Forum savepoint reached. upgrade_mod_savepoint(true, 2013020500, 'forum'); } // Forcefully assign mod/forum:allowforcesubscribe to frontpage role, as we missed that when // capability was introduced. if ($oldversion < 2013021200) { // If capability mod/forum:allowforcesubscribe is defined then set it for frontpage role. if (get_capability_info('mod/forum:allowforcesubscribe')) { assign_legacy_capabilities('mod/forum:allowforcesubscribe', array('frontpage' => CAP_ALLOW)); } // Forum savepoint reached. upgrade_mod_savepoint(true, 2013021200, 'forum'); } // Moodle v2.5.0 release upgrade line. // Put any upgrade step following this. if ($oldversion < 2013071000) { // Define table forum_digests to be created. $table = new xmldb_table('forum_digests'); // Adding fields to table forum_digests. $table->add_field('id', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, XMLDB_SEQUENCE, null); $table->add_field('userid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, null); $table->add_field('forum', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, null); $table->add_field('maildigest', XMLDB_TYPE_INTEGER, '1', null, XMLDB_NOTNULL, null, '-1'); // Adding keys to table forum_digests. $table->add_key('primary', XMLDB_KEY_PRIMARY, array('id')); $table->add_key('userid', XMLDB_KEY_FOREIGN, array('userid'), 'user', array('id')); $table->add_key('forum', XMLDB_KEY_FOREIGN, array('forum'), 'forum', array('id')); $table->add_key('forumdigest', XMLDB_KEY_UNIQUE, array('forum', 'userid', 'maildigest')); // Conditionally launch create table for forum_digests. if (!$dbman->table_exists($table)) { $dbman->create_table($table); } // Forum savepoint reached. upgrade_mod_savepoint(true, 2013071000, 'forum'); } // Moodle v2.6.0 release upgrade line. // Put any upgrade step following this. return true; }
function xmldb_qtype_numerical_upgrade($oldversion) { global $CFG, $DB; $dbman = $DB->get_manager(); //===== 1.9.0 upgrade line ======// if ($oldversion < 2009100100) { //New version in version.php /// Define table question_numerical_options to be created $table = new xmldb_table('question_numerical_options'); /// Adding fields to table question_numerical_options $table->add_field('id', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, XMLDB_SEQUENCE, null); $table->add_field('question', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, '0'); $table->add_field('instructions', XMLDB_TYPE_TEXT, 'small', null, null, null, null); $table->add_field('showunits', XMLDB_TYPE_INTEGER, '4', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, '0'); $table->add_field('unitsleft', XMLDB_TYPE_INTEGER, '4', null, XMLDB_NOTNULL, null, '0'); $table->add_field('unitgradingtype', XMLDB_TYPE_INTEGER, '4', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, '0'); $table->add_field('unitpenalty', XMLDB_TYPE_NUMBER, '12, 7', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, '0.1'); /// Adding keys to table question_numerical_options $table->add_key('primary', XMLDB_KEY_PRIMARY, array('id')); $table->add_key('question', XMLDB_KEY_FOREIGN, array('question'), 'question', array('id')); /// Conditionally launch create table for question_calculated_options if (!$dbman->table_exists($table)) { // $dbman->create_table doesnt return a result, we just have to trust it $dbman->create_table($table); } //else upgrade_plugin_savepoint(true, 2009100100, 'qtype', 'numerical'); } if ($oldversion < 2009100101) { // Define field instructionsformat to be added to question_numerical_options $table = new xmldb_table('question_numerical_options'); $field = new xmldb_field('instructionsformat', XMLDB_TYPE_INTEGER, '2', null, XMLDB_NOTNULL, null, '0', 'instructions'); // Conditionally launch add field instructionsformat if (!$dbman->field_exists($table, $field)) { $dbman->add_field($table, $field); } // In the past, question_match_sub.questiontext assumed to contain // content of the same form as question.questiontextformat. If we are // using the HTML editor, then convert FORMAT_MOODLE content to FORMAT_HTML. $rs = $DB->get_recordset_sql(' SELECT qno.*, q.oldquestiontextformat FROM {question_numerical_options} qno JOIN {question} q ON qno.question = q.id'); foreach ($rs as $record) { if ($CFG->texteditors !== 'textarea' && $record->oldquestiontextformat == FORMAT_MOODLE) { $record->instructions = text_to_html($record->questiontext, false, false, true); $record->instructionsformat = FORMAT_HTML; } else { $record->instructionsformat = $record->oldquestiontextformat; } $DB->update_record('question_numerical_options', $record); } $rs->close(); // numerical savepoint reached upgrade_plugin_savepoint(true, 2009100101, 'qtype', 'numerical'); } return true; }
function xmldb_voiceshadow_upgrade($oldversion = 0) { global $CFG, $THEME, $DB; $result = true; $dbman = $DB->get_manager(); if ($oldversion < 2013030200) { $table = new xmldb_table('voiceshadow'); $field = new xmldb_field('allowmultiple', XMLDB_TYPE_INTEGER, '2', null, XMLDB_NOTNULL, null, '0', 'emailteachers'); // Conditionally launch add field requiresubmissionstatement. if (!$dbman->field_exists($table, $field)) { $dbman->add_field($table, $field); } // Assign savepoint reached. upgrade_mod_savepoint(true, 2013030200, 'voiceshadow'); } if ($oldversion < 2014030200) { // Define table assign_user_mapping to be created. $table = new xmldb_table('voiceshadow_likes'); // Adding fields to table assign_user_mapping. $table->add_field('id', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, XMLDB_SEQUENCE, null); $table->add_field('instance', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, '0'); $table->add_field('fileid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, '0'); $table->add_field('userid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, '0'); $table->add_field('time', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, '0'); // Adding keys to table assign_user_mapping. $table->add_key('primary', XMLDB_KEY_PRIMARY, array('id')); $table->add_key('user', XMLDB_KEY_FOREIGN, array('userid'), 'user', array('id')); // Conditionally launch create table for assign_user_mapping. if (!$dbman->table_exists($table)) { $dbman->create_table($table); } // Assign savepoint reached. upgrade_mod_savepoint(true, 2014030200, 'voiceshadow'); } if ($oldversion < 2014080400) { // Define table assign_user_mapping to be created. $table = new xmldb_table('voiceshadow'); $field = new xmldb_field('gradet', XMLDB_TYPE_INTEGER, '11', null, XMLDB_NOTNULL, null, '0', 'grade'); // Conditionally launch add field. if (!$dbman->field_exists($table, $field)) { $dbman->add_field($table, $field); } $field = new xmldb_field('grademethodt', XMLDB_TYPE_CHAR, '255', null, XMLDB_NOTNULL, null, 'default', 'grademethod'); // Conditionally launch add field. if (!$dbman->field_exists($table, $field)) { $dbman->add_field($table, $field); } // Assign savepoint reached. upgrade_mod_savepoint(true, 2014080400, 'voiceshadow'); } return $result; }
function xmldb_chat_upgrade($oldversion) { global $CFG, $DB; $dbman = $DB->get_manager(); $result = true; //===== 1.9.0 upgrade line ======// if ($result && $oldversion < 2008072400) { /// Define table chat_messages_current to be created $table = new xmldb_table('chat_messages_current'); /// Adding fields to table chat_messages_current $table->add_field('id', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, XMLDB_SEQUENCE, null); $table->add_field('chatid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, '0'); $table->add_field('userid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, '0'); $table->add_field('groupid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, '0'); $table->add_field('system', XMLDB_TYPE_INTEGER, '1', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, '0'); $table->add_field('message', XMLDB_TYPE_TEXT, 'small', null, XMLDB_NOTNULL, null, null); $table->add_field('timestamp', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, '0'); /// Adding keys to table chat_messages_current $table->add_key('primary', XMLDB_KEY_PRIMARY, array('id')); $table->add_key('chatid', XMLDB_KEY_FOREIGN, array('chatid'), 'chat', array('id')); /// Adding indexes to table chat_messages_current $table->add_index('userid', XMLDB_INDEX_NOTUNIQUE, array('userid')); $table->add_index('groupid', XMLDB_INDEX_NOTUNIQUE, array('groupid')); $table->add_index('timestamp-chatid', XMLDB_INDEX_NOTUNIQUE, array('timestamp', 'chatid')); /// create table for chat_messages_current $dbman->create_table($table); /// chat savepoint reached upgrade_mod_savepoint($result, 2008072400, 'chat'); } if ($result && $oldversion < 2009010600) { /// Changing precision of field ip on table chat_users to (45) $table = new xmldb_table('chat_users'); $field = new xmldb_field('ip', XMLDB_TYPE_CHAR, '45', null, XMLDB_NOTNULL, null, null, 'version'); /// Launch change of precision for field ip $dbman->change_field_precision($table, $field); /// chat savepoint reached upgrade_mod_savepoint($result, 2009010600, 'chat'); } if ($result && $oldversion < 2009042000) { /// Define field introformat to be added to chat $table = new xmldb_table('chat'); $field = new xmldb_field('introformat', XMLDB_TYPE_INTEGER, '4', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, '0', 'intro'); /// Launch add field introformat $dbman->add_field($table, $field); /// chat savepoint reached upgrade_mod_savepoint($result, 2009042000, 'chat'); } return $result; }
/** * Run all Atto upgrade steps between the current DB version and the current version on disk. * @param int $oldversion The old version of atto in the DB. * @return bool */ function xmldb_editor_atto_upgrade($oldversion) { global $CFG, $DB; $dbman = $DB->get_manager(); if ($oldversion < 2014081400) { // Define table editor_atto_autosave to be created. $table = new xmldb_table('editor_atto_autosave'); // Adding fields to table editor_atto_autosave. $table->add_field('id', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, XMLDB_SEQUENCE, null); $table->add_field('elementid', XMLDB_TYPE_CHAR, '255', null, XMLDB_NOTNULL, null, null); $table->add_field('contextid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, null); $table->add_field('pagehash', XMLDB_TYPE_CHAR, '64', null, XMLDB_NOTNULL, null, null); $table->add_field('userid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, null); $table->add_field('drafttext', XMLDB_TYPE_TEXT, null, null, XMLDB_NOTNULL, null, null); $table->add_field('draftid', XMLDB_TYPE_INTEGER, '10', null, null, null, null); $table->add_field('pageinstance', XMLDB_TYPE_CHAR, '64', null, XMLDB_NOTNULL, null, null); // Adding keys to table editor_atto_autosave. $table->add_key('primary', XMLDB_KEY_PRIMARY, array('id')); $table->add_key('autosave_uniq_key', XMLDB_KEY_UNIQUE, array('elementid', 'contextid', 'userid', 'pagehash')); // Conditionally launch create table for editor_atto_autosave. if (!$dbman->table_exists($table)) { $dbman->create_table($table); } // Atto savepoint reached. upgrade_plugin_savepoint(true, 2014081400, 'editor', 'atto'); } if ($oldversion < 2014081900) { // Define field timemodified to be added to editor_atto_autosave. $table = new xmldb_table('editor_atto_autosave'); $field = new xmldb_field('timemodified', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, '0', 'pageinstance'); // Conditionally launch add field timemodified. if (!$dbman->field_exists($table, $field)) { $dbman->add_field($table, $field); } // Atto savepoint reached. upgrade_plugin_savepoint(true, 2014081900, 'editor', 'atto'); } // Moodle v2.8.0 release upgrade line. // Put any upgrade step following this. // Moodle v2.9.0 release upgrade line. // Put any upgrade step following this. // Moodle v3.0.0 release upgrade line. // Put any upgrade step following this. // Moodle v3.1.0 release upgrade line. // Put any upgrade step following this. // Automatically generated Moodle v3.2.0 release upgrade line. // Put any upgrade step following this. return true; }
/** * Upgrade code for the popup message processor * * @param int $oldversion The version that we are upgrading from */ function xmldb_message_popup_upgrade($oldversion) { global $CFG, $DB; // Moodle v2.8.0 release upgrade line. // Put any upgrade step following this. // Moodle v2.9.0 release upgrade line. // Put any upgrade step following this. // Moodle v3.0.0 release upgrade line. // Put any upgrade step following this. // Moodle v3.1.0 release upgrade line. // Put any upgrade step following this. $dbman = $DB->get_manager(); if ($oldversion < 2016052309) { // Define table message_popup to be created. $table = new xmldb_table('message_popup'); // Adding fields to table message_popup. $table->add_field('id', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, XMLDB_SEQUENCE, null); $table->add_field('messageid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, null); $table->add_field('isread', XMLDB_TYPE_INTEGER, '1', null, XMLDB_NOTNULL, null, '0'); // Adding keys to table message_popup. $table->add_key('primary', XMLDB_KEY_PRIMARY, array('id')); // Adding indexes to table message_popup. $table->add_index('messageid-isread', XMLDB_INDEX_UNIQUE, array('messageid', 'isread')); // Conditionally launch create table for message_popup. if (!$dbman->table_exists($table)) { $dbman->create_table($table); } // Popup savepoint reached. upgrade_plugin_savepoint(true, 2016052309, 'message', 'popup'); } return true; }
/** * Take actions on upgrading mergeusers tool. * @package tool_mergeusers * @global moodle_database $DB * @param int $oldversion old plugin version. * @return boolean true when success, false on error. */ function xmldb_tool_mergeusers_upgrade($oldversion) { global $DB; $dbman = $DB->get_manager(); if ($oldversion < 2013112912) { // Define table tool_mergeusers to be created $table = new xmldb_table('tool_mergeusers'); // Adding fields to table tool_mergeusers $table->add_field('id', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, XMLDB_SEQUENCE, null); $table->add_field('touserid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, null); $table->add_field('fromuserid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, null); $table->add_field('success', XMLDB_TYPE_INTEGER, '4', null, XMLDB_NOTNULL, null, null); $table->add_field('timemodified', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, null); $table->add_field('log', XMLDB_TYPE_TEXT, null, null, XMLDB_NOTNULL, null, null); // Adding keys to table tool_mergeusers $table->add_key('primary', XMLDB_KEY_PRIMARY, array('id')); // Adding indexes to table tool_mergeusers $table->add_index('mdl_toolmerg_tou_ix', XMLDB_INDEX_NOTUNIQUE, array('touserid')); $table->add_index('mdl_toolmerg_fru_ix', XMLDB_INDEX_NOTUNIQUE, array('fromuserid')); $table->add_index('mdl_toolmerg_suc_ix', XMLDB_INDEX_NOTUNIQUE, array('success')); $table->add_index('mdl_toolmerg_tfs_ix', XMLDB_INDEX_NOTUNIQUE, array('touserid', 'fromuserid', 'success')); // Conditionally launch create table for tool_mergeusersr if (!$dbman->table_exists($table)) { $dbman->create_table($table); } // mergeusers savepoint reached upgrade_plugin_savepoint(true, 2013112912, 'tool', 'mergeusers'); } return true; }
function xmldb_quiz_overview_upgrade($oldversion) { global $CFG, $DB; $dbman = $DB->get_manager(); //===== 1.9.0 upgrade line ======// if ($oldversion < 2009091400) { /// Define table quiz_question_regrade to be created $table = new xmldb_table('quiz_question_regrade'); /// Adding fields to table quiz_question_regrade $table->add_field('id', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, XMLDB_SEQUENCE, null); $table->add_field('questionid', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, null); $table->add_field('attemptid', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, null); $table->add_field('newgrade', XMLDB_TYPE_NUMBER, '12, 7', null, XMLDB_NOTNULL, null, null); $table->add_field('oldgrade', XMLDB_TYPE_NUMBER, '12, 7', null, XMLDB_NOTNULL, null, null); $table->add_field('regraded', XMLDB_TYPE_INTEGER, '4', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, null); $table->add_field('timemodified', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, null); /// Adding keys to table quiz_question_regrade $table->add_key('primary', XMLDB_KEY_PRIMARY, array('id')); /// Conditionally launch create table for quiz_question_regrade if (!$dbman->table_exists($table)) { $dbman->create_table($table); } /// overview savepoint reached upgrade_plugin_savepoint(true, 2009091400, 'quizreport', 'overview'); } return true; }
function xmldb_realtimequiz_upgrade($oldversion) { global $CFG; $result = true; if ($oldversion < 20160104) { // Define table asistencias to be created. $table = new xmldb_table('asistencias'); // Adding fields to table asistencias. $table->add_field('sede', XMLDB_TYPE_CHAR, '8', null, XMLDB_NOTNULL, null, null); $table->add_field('asisid', XMLDB_TYPE_INTEGER, '7', null, XMLDB_NOTNULL, null, null); $table->add_field('rut', XMLDB_TYPE_INTEGER, '8', null, XMLDB_NOTNULL, null, null); $table->add_field('dv', XMLDB_TYPE_INTEGER, '1', null, XMLDB_NOTNULL, null, null); $table->add_field('nombres', XMLDB_TYPE_CHAR, '25', null, XMLDB_NOTNULL, null, null); $table->add_field('apellidos', XMLDB_TYPE_CHAR, '17', null, XMLDB_NOTNULL, null, null); $table->add_field('fecha', XMLDB_TYPE_CHAR, '10', null, XMLDB_NOTNULL, null, null); $table->add_field('horainicio', XMLDB_TYPE_CHAR, '8', null, XMLDB_NOTNULL, null, null); $table->add_field('horatermino', XMLDB_TYPE_CHAR, '8', null, XMLDB_NOTNULL, null, null); $table->add_field('actividad', XMLDB_TYPE_CHAR, '36', null, XMLDB_NOTNULL, null, null); $table->add_field('periodo', XMLDB_TYPE_CHAR, '13', null, XMLDB_NOTNULL, null, null); // Adding keys to table asistencias. $table->add_key('primary', XMLDB_KEY_PRIMARY, array('rut')); // Conditionally launch create table for asistencias. if (!$dbman->table_exists($table)) { $dbman->create_table($table); } // Wellness savepoint reached. upgrade_plugin_savepoint(true, 20160104, 'local', 'wellness'); } return $result; }
function xmldb_trainingevent_upgrade($oldversion) { global $CFG, $DB; $result = true; $dbman = $DB->get_manager(); if ($oldversion < 2011111701) { // Define table trainingevent_users to be created. $table = new xmldb_table('trainingevent_users'); // Adding fields to table trainingevent_users. $table->add_field('id', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, XMLDB_SEQUENCE, null); $table->add_field('userid', XMLDB_TYPE_INTEGER, '20', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, null); $table->add_field('trainingeventid', XMLDB_TYPE_INTEGER, '20', XMLDB_UNSIGNED, null, null, null); // Adding keys to table trainingevent_users. $table->add_key('primary', XMLDB_KEY_PRIMARY, array('id')); // Conditionally launch create table for trainingevent_users. if (!$dbman->table_exists($table)) { $dbman->create_table($table); } // Label savepoint reached. upgrade_mod_savepoint(true, 2011111701, 'trainingevent'); } if ($oldversion < 2014012301) { // Define field approvaltype to be added to trainingevent. $table = new xmldb_table('trainingevent'); $field = new xmldb_field('approvaltype', XMLDB_TYPE_INTEGER, '1', null, XMLDB_NOTNULL, null, '0', 'classroomid'); // Conditionally launch add field approvaltype. if (!$dbman->field_exists($table, $field)) { $dbman->add_field($table, $field); } // Trainingevent savepoint reached. upgrade_mod_savepoint(true, 2014012301, 'trainingevent'); } return $result; }
/** * Upgrade the local_msaccount plugin. * * @param int $oldversion the version we are upgrading from * @return bool result */ function xmldb_local_msaccount_upgrade($oldversion) { global $CFG, $DB; $dbman = $DB->get_manager(); if ($oldversion < 2014111702) { // Define table to be created. $table = new xmldb_table('msaccount_refresh_tokens'); // Adding fields to table. $table->add_field('id', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, XMLDB_SEQUENCE, null); $table->add_field('user_id', XMLDB_TYPE_INTEGER, '10', null, null, null, null); $table->add_field('refresh_token', XMLDB_TYPE_CHAR, '500', null, null, null, null); // Adding keys to table. $table->add_key('primary', XMLDB_KEY_PRIMARY, array('id')); // Create table. if ($dbman->table_exists($table)) { $dbman->drop_table($table); } $dbman->create_table($table); // Msaccount savepoint reached. upgrade_plugin_savepoint(true, 2014111702, 'local', 'msaccount'); } // Moodle v2.3.0 release upgrade line. // Put any upgrade step following this. // Moodle v2.4.0 release upgrade line. // Put any upgrade step following this. // Moodle v2.5.0 release upgrade line. // Put any upgrade step following this. // Moodle v2.6.0 release upgrade line. // Put any upgrade step following this. // Moodle v2.7.0 release upgrade line. // Put any upgrade step following this. return true; }
/** * * @param int $oldversion * @param object $block */ function xmldb_block_community_upgrade($oldversion) { global $CFG, $DB; $dbman = $DB->get_manager(); if ($oldversion < 2010042701) { /// Define table block_community to be created $table = new xmldb_table('block_community'); /// Adding fields to table block_community $table->add_field('id', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, XMLDB_SEQUENCE, null); $table->add_field('userid', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, null); $table->add_field('coursename', XMLDB_TYPE_CHAR, '255', null, XMLDB_NOTNULL, null, null); $table->add_field('coursedescription', XMLDB_TYPE_TEXT, 'big', null, null, null, null); $table->add_field('courseurl', XMLDB_TYPE_CHAR, '255', null, XMLDB_NOTNULL, null, null); $table->add_field('imageurl', XMLDB_TYPE_CHAR, '255', null, XMLDB_NOTNULL, null, null); /// Adding keys to table block_community $table->add_key('primary', XMLDB_KEY_PRIMARY, array('id')); /// Conditionally launch create table for block_community if (!$dbman->table_exists($table)) { $dbman->create_table($table); } /// community savepoint reached upgrade_block_savepoint(true, 2010042701, 'community'); } return true; }
/** * Upgrade code for the recent activity block. * * @global moodle_database $DB * @param int $oldversion * @param object $block */ function xmldb_block_recent_activity_upgrade($oldversion, $block) { global $CFG, $DB; $dbman = $DB->get_manager(); // loads ddl manager and xmldb classes if ($oldversion < 2014012000) { // Define table block_recent_activity to be created. $table = new xmldb_table('block_recent_activity'); // Adding fields to table block_recent_activity. $table->add_field('id', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, XMLDB_SEQUENCE, null); $table->add_field('courseid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, null); $table->add_field('cmid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, null); $table->add_field('timecreated', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, null); $table->add_field('userid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, null); $table->add_field('action', XMLDB_TYPE_INTEGER, '1', null, XMLDB_NOTNULL, null, null); $table->add_field('modname', XMLDB_TYPE_CHAR, '20', null, null, null, null); // Adding keys to table block_recent_activity. $table->add_key('primary', XMLDB_KEY_PRIMARY, array('id')); // Adding indexes to table block_recent_activity. $table->add_index('coursetime', XMLDB_INDEX_NOTUNIQUE, array('courseid', 'timecreated')); // Conditionally launch create table for block_recent_activity. if (!$dbman->table_exists($table)) { $dbman->create_table($table); // Insert dummy log record for each existing course to notify that their logs need to be migrated. $DB->execute('INSERT INTO {block_recent_activity} (timecreated, userid, courseid, cmid, action) ' . 'SELECT ?, 0, id, 0, 3 FROM {course}', array(time())); } // Recent_activity savepoint reached. upgrade_block_savepoint(true, 2014012000, 'recent_activity'); } // Moodle v2.7.0 release upgrade line. // Put any upgrade step following this. return true; }
/** * MOODLE VERSION INFORMATION * * * @package local * @copyright Renzo Tassara Miller (rtassara@alumnos.uai.cl) * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ function xmldb_local_fitness_upgrade($oldversion) { global $CFG, $DB; $dbman = $DB->get_manager(); if ($oldversion < 2015060210) { // Define table local_fitness to be created. $table = new xmldb_table('local_fitness'); // Adding fields to table local_fitness. $table->add_field('id', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, XMLDB_SEQUENCE, null); $table->add_field('nombre', XMLDB_TYPE_CHAR, '30', null, XMLDB_NOTNULL, null, null); $table->add_field('apellido', XMLDB_TYPE_CHAR, '30', null, XMLDB_NOTNULL, null, null); $table->add_field('email', XMLDB_TYPE_CHAR, '50', null, XMLDB_NOTNULL, null, null); $table->add_field('talla', XMLDB_TYPE_NUMBER, '5, 2', null, XMLDB_NOTNULL, null, null); $table->add_field('peso', XMLDB_TYPE_NUMBER, '5, 2', null, XMLDB_NOTNULL, null, null); $table->add_field('imc', XMLDB_TYPE_NUMBER, '5, 2', null, XMLDB_NOTNULL, null, null); $table->add_field('sumamm', XMLDB_TYPE_NUMBER, '5, 2', null, XMLDB_NOTNULL, null, null); $table->add_field('grasa', XMLDB_TYPE_NUMBER, '5, 2', null, XMLDB_NOTNULL, null, null); $table->add_field('sitandreachr', XMLDB_TYPE_INTEGER, '5', null, XMLDB_NOTNULL, null, null); $table->add_field('sitandreachl', XMLDB_TYPE_INTEGER, '5', null, XMLDB_NOTNULL, null, null); $table->add_field('trunklift', XMLDB_TYPE_INTEGER, '5', null, XMLDB_NOTNULL, null, null); $table->add_field('abd', XMLDB_TYPE_INTEGER, '5', null, XMLDB_NOTNULL, null, null); $table->add_field('pushup', XMLDB_TYPE_INTEGER, '5', null, XMLDB_NOTNULL, null, null); $table->add_field('pacerlvl', XMLDB_TYPE_INTEGER, '5', null, XMLDB_NOTNULL, null, null); $table->add_field('vo2max', XMLDB_TYPE_NUMBER, '6, 2', null, XMLDB_NOTNULL, null, null); // Adding keys to table local_fitness. $table->add_key('primary', XMLDB_KEY_PRIMARY, array('id')); // Conditionally launch create table for local_fitness. if (!$dbman->table_exists($table)) { $dbman->create_table($table); } // Fitness savepoint reached. upgrade_plugin_savepoint(true, 2015060210, 'local', 'fitness'); } }
/** * EditPDF upgrade code * @param int $oldversion * @return bool */ function xmldb_assignfeedback_editpdf_upgrade($oldversion) { global $CFG, $DB; $dbman = $DB->get_manager(); // Moodle v2.8.0 release upgrade line. // Put any upgrade step following this. // Moodle v2.9.0 release upgrade line. // Put any upgrade step following this. // Moodle v3.0.0 release upgrade line. // Put any upgrade step following this. if ($oldversion < 2016021600) { // Define table assignfeedback_editpdf_queue to be created. $table = new xmldb_table('assignfeedback_editpdf_queue'); // Adding fields to table assignfeedback_editpdf_queue. $table->add_field('id', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, XMLDB_SEQUENCE, null); $table->add_field('submissionid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, null); $table->add_field('submissionattempt', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, null); // Adding keys to table assignfeedback_editpdf_queue. $table->add_key('primary', XMLDB_KEY_PRIMARY, array('id')); // Conditionally launch create table for assignfeedback_editpdf_queue. if (!$dbman->table_exists($table)) { $dbman->create_table($table); } // Editpdf savepoint reached. upgrade_plugin_savepoint(true, 2016021600, 'assignfeedback', 'editpdf'); } // Moodle v3.1.0 release upgrade line. // Put any upgrade step following this. return true; }
/** * @param int $oldversion the version we are upgrading from * @return bool result */ function xmldb_repository_onenote_upgrade($oldversion) { global $CFG, $DB; $dbman = $DB->get_manager(); if ($oldversion < 2014103001) { // Define table repository_onenote to be created. $table = new xmldb_table('repository_onenote'); // Adding fields to table repository_onenote. $table->add_field('id', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, XMLDB_SEQUENCE, null); // Adding keys to table repository_onenote. $table->add_key('primary', XMLDB_KEY_PRIMARY, array('id')); // Conditionally launch create table for repository_onenote. if (!$dbman->table_exists($table)) { $dbman->create_table($table); } // Onenote savepoint reached. upgrade_plugin_savepoint(true, 2014103001, 'repository', 'onenote'); } // Moodle v2.3.0 release upgrade line. // Put any upgrade step following this. // Moodle v2.4.0 release upgrade line. // Put any upgrade step following this. // Moodle v2.5.0 release upgrade line. // Put any upgrade step following this. // Moodle v2.6.0 release upgrade line. // Put any upgrade step following this. // Moodle v2.7.0 release upgrade line. // Put any upgrade step following this. return true; }
/** * Custom authentication for WHIA project * * Upgrade script * * @package auth_whia * @author Bevan Holman <*****@*****.**>, Pukunui * @copyright 2015 onwards, Pukunui * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ function xmldb_auth_whia_upgrade($oldversion) { global $DB; $dbman = $DB->get_manager(); /// Add a new table mdl_auth_whia_domain to plugin if ($oldversion < 2016020802) { // Define table auth_rsa_cpdlog to be created. $table = new xmldb_table('auth_whia_domain'); // Adding fields to table auth_rsa_cpdlog. $table->add_field('id', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, XMLDB_SEQUENCE, null); $table->add_field('name', XMLDB_TYPE_CHAR, '50', null, XMLDB_NOTNULL, null, null); // Adding keys to table auth_rsa_cpdlog. $table->add_key('primary', XMLDB_KEY_PRIMARY, array('id')); // Conditionally launch create table for auth_rsa_cpdlog. if (!$dbman->table_exists($table)) { $dbman->create_table($table); } // WHIA savepoint reached. upgrade_plugin_savepoint(true, 2016020802, 'auth', 'whia'); } if ($oldversion < 2016020813) { // Define field cohortid to be added to auth_whia_domain. $table = new xmldb_table('auth_whia_domain'); $field = new xmldb_field('cohortid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, '0', 'name'); // Conditionally launch add field cohortid. if (!$dbman->field_exists($table, $field)) { $dbman->add_field($table, $field); } // Monitor savepoint reached. upgrade_plugin_savepoint(true, 2016020813, 'auth', 'whia'); } return true; }
/** * Execute studyplan upgrade from the given old version * * @param int $oldversion * @return bool */ function xmldb_studyplan_upgrade($oldversion) { global $DB; $dbman = $DB->get_manager(); // loads ddl manager and xmldb classes if ($oldversion < 2014071400) { // Change field 'name' column to default null $table = new xmldb_table('studyplan'); $field = new xmldb_field('name', XMLDB_TYPE_CHAR, '255', null, null, null, null, 'quiz'); // apply the change if the field is here to fix if ($dbman->field_exists($table, $field)) { $dbman->change_field_type($table, $field); } upgrade_mod_savepoint(true, 2014071400, 'studyplan'); } if ($oldversion < 2014080700) { // Create the studyplan_progress table if (!$dbman->table_exists('studyplan_progress')) { $table = new xmldb_table('studyplan_progress'); $table->add_field('id', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, XMLDB_SEQUENCE, null); $table->add_field('studyplan', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, '0', 'id'); $table->add_field('user', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, '0', 'studyplan'); $table->add_field('percent', XMLDB_TYPE_NUMBER, '10,5', null, XMLDB_NOTNULL, null, '0', 'user'); $table->add_field('timecreated', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, '0', 'percent'); $table->add_field('timemodified', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, '0', 'timecreated'); $table->add_key('primary', XMLDB_KEY_PRIMARY, array('id')); $table->add_index('studyplan', XMLDB_INDEX_NOTUNIQUE, array('studyplan')); $table->add_index('user', XMLDB_INDEX_NOTUNIQUE, array('user')); $dbman->create_table($table); } upgrade_mod_savepoint(true, 2014080700, 'studyplan'); } return true; }
/** * @global moodle_database $DB * @param int $oldversion * @return bool */ function xmldb_scorm_upgrade($oldversion) { global $CFG, $DB; $dbman = $DB->get_manager(); // Moodle v2.2.0 release upgrade line // Put any upgrade step following this if ($oldversion < 2012032100) { unset_config('updatetime', 'scorm'); upgrade_mod_savepoint(true, 2012032100, 'scorm'); } // Adding completion fields to scorm table if ($oldversion < 2012032101) { $table = new xmldb_table('scorm'); $field = new xmldb_field('completionstatusrequired', XMLDB_TYPE_INTEGER, '1', XMLDB_UNSIGNED, null, null, null, 'timemodified'); if (!$dbman->field_exists($table, $field)) { $dbman->add_field($table, $field); } $field = new xmldb_field('completionscorerequired', XMLDB_TYPE_INTEGER, '2', XMLDB_UNSIGNED, null, null, null, 'completionstatusrequired'); if (!$dbman->field_exists($table, $field)) { $dbman->add_field($table, $field); } upgrade_mod_savepoint(true, 2012032101, 'scorm'); } // Moodle v2.3.0 release upgrade line // Put any upgrade step following this //rename config var from maxattempts to maxattempt if ($oldversion < 2012061701) { $maxattempts = get_config('scorm', 'maxattempts'); $maxattempts_adv = get_config('scorm', 'maxattempts_adv'); set_config('maxattempt', $maxattempts, 'scorm'); set_config('maxattempt_adv', $maxattempts_adv, 'scorm'); unset_config('maxattempts', 'scorm'); //remove old setting. unset_config('maxattempts_adv', 'scorm'); //remove old setting. upgrade_mod_savepoint(true, 2012061701, 'scorm'); } // Moodle v2.4.0 release upgrade line // Put any upgrade step following this if ($oldversion < 2015101301) { // Define table scorm_scoes_item to be created. $table = new xmldb_table('scorm_scoes_item'); // Adding fields to table scorm_scoes_item. $table->add_field('id', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, XMLDB_SEQUENCE, null); $table->add_field('scorm_scoes_track_id', XMLDB_TYPE_INTEGER, '10', null, null, null, null); $table->add_field('field_id', XMLDB_TYPE_CHAR, '255', null, null, null, null); $table->add_field('field_text', XMLDB_TYPE_CHAR, '255', null, null, null, null); $table->add_field('field_value', XMLDB_TYPE_CHAR, '255', null, null, null, null); // Adding keys to table scorm_scoes_item. $table->add_key('primary', XMLDB_KEY_PRIMARY, array('id')); // Conditionally launch create table for scorm_scoes_item. if (!$dbman->table_exists($table)) { $dbman->create_table($table); } // Scorm savepoint reached. upgrade_mod_savepoint(true, 2015101301, 'scorm'); } return true; }
function xmldb_block_oppia_mobile_export_upgrade($oldversion) { global $CFG, $DB, $OUTPUT; $dbman = $DB->get_manager(); if ($oldversion < 2013111402) { // block savepoint reached upgrade_block_savepoint(true, 2013111402, 'oppia_mobile_export'); } if ($oldversion < 2014032100) { // Define table block_oppia_mobile_server to be created. $table = new xmldb_table('block_oppia_mobile_server'); // Adding fields to table block_oppia_mobile_server. $table->add_field('id', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, XMLDB_SEQUENCE, null); $table->add_field('servername', XMLDB_TYPE_CHAR, '50', null, null, null, ''); $table->add_field('url', XMLDB_TYPE_CHAR, '50', null, null, null, ''); $table->add_field('moodleuserid', XMLDB_TYPE_INTEGER, '10', null, null, null, '0'); $table->add_field('username', XMLDB_TYPE_CHAR, '50', null, null, null, ''); $table->add_field('apikey', XMLDB_TYPE_CHAR, '50', null, null, null, ''); $table->add_field('defaultserver', XMLDB_TYPE_INTEGER, '10', null, null, null, '0'); // Adding keys to table block_oppia_mobile_server. $table->add_key('primary', XMLDB_KEY_PRIMARY, array('id')); // Conditionally launch create table for block_oppia_mobile_server. if (!$dbman->table_exists($table)) { $dbman->create_table($table); } // Blocks savepoint reached. upgrade_plugin_savepoint(true, 2014032100, 'error', 'blocks'); } if ($oldversion < 2015021802) { // Changing type of field value on table block_oppia_mobile_config to text. $table = new xmldb_table('block_oppia_mobile_config'); $field = new xmldb_field('value', XMLDB_TYPE_TEXT, null, null, null, null, null, 'name'); // Launch change of type for field value. $dbman->change_field_type($table, $field); // Blocks savepoint reached. upgrade_plugin_savepoint(true, 2015021802, 'error', 'blocks'); } if ($oldversion < 2016021500) { // Add the field serverid to table block_oppia_mobile_config $table = new xmldb_table('block_oppia_mobile_config'); if (!$dbman->field_exists($table, 'serverid')) { $field = new xmldb_field('serverid', XMLDB_TYPE_TEXT, null, null, null, null, null, 'value'); $dbman->add_field($table, $field); } // Blocks savepoint reached. upgrade_plugin_savepoint(true, 2016021500, 'error', 'blocks'); } if ($oldversion < 2016041301) { //Update the size for field value to support longer tag values $table = new xmldb_table('block_oppia_mobile_config'); $field = new xmldb_field('value', XMLDB_TYPE_TEXT, null, null, null, null, null, 'name'); // Launch change of type for field value. $dbman->change_field_type($table, $field); // Blocks savepoint reached. upgrade_plugin_savepoint(true, 2016041301, 'error', 'blocks'); } return true; }
/** * This is the upgrade script for the project. * * @package block_nurs_navigation * @category block * @copyright 2012 Craig Jamieson * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ function xmldb_block_nurs_navigation_upgrade($oldversion = 0) { global $DB; $dbman = $DB->get_manager(); $result = true; // June 17, 2013 version changed the way that contexts are stored in the files table. if ($oldversion < 2013061706) { $query = "SELECT * FROM {nurs_navigation} WHERE courseid <> 1"; $records = $DB->get_records_sql($query); $fs = get_file_storage(); foreach ($records as $record) { $coursecontext = context_course::instance($record->courseid); // Explicit check here since sometimes there are old nurs_navigation records that point to deleted courses. if (isset($coursecontext->id)) { $params = array($coursecontext->id, 'nurs_navigation'); $query = "SELECT * FROM {block_instances} WHERE parentcontextid = ? AND blockname = ?"; $block = $DB->get_record_sql($query, $params, IGNORE_MULTIPLE); $blockcontext = context_block::instance($block->id); // This can return multiple records because of how the multiple file terminator works. $filerecords = $DB->get_records('files', array('contextid' => $coursecontext->id, 'itemid' => $record->fileid)); foreach ($filerecords as $filerecord) { $filerecord->contextid = $blockcontext->id; // Path hash must be updated as well with a context change. $filerecord->pathnamehash = $fs->get_pathname_hash($filerecord->contextid, BNN_BLOCK_SAVE_COMPONENT, BNN_BLOCK_SAVE_AREA, $filerecord->itemid, $filerecord->filepath, $filerecord->filename); $DB->update_record('files', $filerecord); } } } } // Create the second table. if ($oldversion < 2012110200) { // Define table nurs_navigation_settings to be created. $table = new xmldb_table('nurs_navigation_settings'); // Adding fields to table nurs_navigation_settings. $table->add_field('id', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, XMLDB_SEQUENCE, null); $table->add_field('courseid', XMLDB_TYPE_INTEGER, '20', null, XMLDB_NOTNULL, null, null); $table->add_field('sectionname', XMLDB_TYPE_TEXT, 'big', null, null, null, null, null); $table->add_field('disableicon', XMLDB_TYPE_INTEGER, '20', null, XMLDB_NOTNULL, null, null); $table->add_field('customlabel', XMLDB_TYPE_TEXT, 'big', null, null, null, null); // Adding keys to table nurs_navigation_settings. $table->add_key('primary', XMLDB_KEY_PRIMARY, array('id')); // Conditionally launch create table for nurs_navigation_settings. if (!$dbman->table_exists($table)) { $dbman->create_table($table); } // Define field disableicon to be dropped from nurs_navigation. $table = new xmldb_table('nurs_navigation'); $field = new xmldb_field('disableicon'); // Conditionally launch drop field courseid. if ($dbman->field_exists($table, $field)) { $dbman->drop_field($table, $field); } // Update savepoint. upgrade_block_savepoint(true, 2012110200, 'nurs_navigation'); } return $result; }
/** * Execute virtualclass upgrade from the given old version * * @param int $oldversion * @return bool */ function xmldb_virtualclass_upgrade($oldversion) { global $DB; $dbman = $DB->get_manager(); // Loads ddl manager and xmldb classes. /* * 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 ($oldversion < YYYYMMDD00) { //New version in version.php * } * * Lines below (this included) MUST BE DELETED once you get the first version * of your module ready to be installed. They are here only * for demonstrative purposes and to show how the virtualclass * iself has been upgraded. * * For each upgrade block, the file virtualclass/version.php * needs to be updated . Such change allows Moodle to know * that this file has to be processed. * * To know more about how to write correct DB upgrade scripts it's * highly recommended to read information available at: * http://docs.moodle.org/en/Development:XMLDB_Documentation * and to play with the XMLDB Editor (in the admin menu) and its * PHP generation posibilities. * * First installation, no update */ /* * Finally, return of upgrade result (true, all went good) to Moodle. */ if ($oldversion < 2015072402) { // Define table virtualclass_files to virtualclass. $table = new xmldb_table('virtualclass_files'); $table->add_field('id', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, XMLDB_SEQUENCE, null, null); $table->add_field('courseid', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, 0, null); $table->add_field('vcid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, 0, null); $table->add_field('userid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, 0, null); $table->add_field('vcsessionkey', XMLDB_TYPE_CHAR, '100', null, XMLDB_NOTNULL, null, null, null); $table->add_field('vcsessionname', XMLDB_TYPE_CHAR, '225', null, null, null, null, null); $table->add_field('numoffiles', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, 0, null); $table->add_field('timecreated', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, 0, null); $table->add_key('primary', XMLDB_KEY_PRIMARY, array('id'), null, null); // Conditionally launch add table virtualclass_files. if (!$dbman->table_exists($table)) { $dbman->create_table($table); } // Virtualclass savepoint reached. upgrade_mod_savepoint(true, 2015072402, 'virtualclass'); } return true; }
function xmldb_local_email_upgrade($oldversion) { global $CFG, $DB; $result = true; $dbman = $DB->get_manager(); if ($oldversion < 2011111400) { // Define table email to be created. $table = new xmldb_table('email'); // Adding fields to table email. $table->add_field('id', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, XMLDB_SEQUENCE, null); $table->add_field('templatename', XMLDB_TYPE_CHAR, '100', null, null, null, null); $table->add_field('modifiedtime', XMLDB_TYPE_INTEGER, '20', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, null); $table->add_field('sent', XMLDB_TYPE_INTEGER, '20', XMLDB_UNSIGNED, null, null, null); $table->add_field('subject', XMLDB_TYPE_CHAR, '255', null, XMLDB_NOTNULL, null, null); $table->add_field('body', XMLDB_TYPE_TEXT, 'big', null, XMLDB_NOTNULL, null, null); $table->add_field('varsreplaced', XMLDB_TYPE_INTEGER, '20', XMLDB_UNSIGNED, null, null, null); $table->add_field('courseid', XMLDB_TYPE_INTEGER, '20', XMLDB_UNSIGNED, null, null, null); $table->add_field('userid', XMLDB_TYPE_INTEGER, '20', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, null); $table->add_field('invoiceid', XMLDB_TYPE_INTEGER, '20', XMLDB_UNSIGNED, null, null, null); $table->add_field('classroomid', XMLDB_TYPE_INTEGER, '20', XMLDB_UNSIGNED, null, null, null); // Adding keys to table email. $table->add_key('primary', XMLDB_KEY_PRIMARY, array('id')); // Conditionally launch create table for email. if (!$dbman->table_exists($table)) { $dbman->create_table($table); } // Email savepoint reached. upgrade_plugin_savepoint(true, 2011111400, 'local', 'email'); } if ($oldversion < 2012011300) { // Define field senderid to be added to email. $table = new xmldb_table('email'); $field = new xmldb_field('senderid', XMLDB_TYPE_INTEGER, '20', XMLDB_UNSIGNED, null, null, null, 'classroomid'); // Conditionally launch add field senderid. if (!$dbman->field_exists($table, $field)) { $dbman->add_field($table, $field); } // Email savepoint reached. upgrade_plugin_savepoint(true, 2012011300, 'local', 'email'); } if ($oldversion < 2012092600) { // Define field headers to be added to email. $table = new xmldb_table('email'); $field = new xmldb_field('headers', XMLDB_TYPE_TEXT, 'big', null, null, null, null, 'senderid'); // Conditionally launch add field headers. if (!$dbman->field_exists($table, $field)) { $dbman->add_field($table, $field); } // Email savepoint reached. upgrade_plugin_savepoint(true, 2012092600, 'local', 'email'); } return $result; }