a26cfe71d3
This just deletes all the upgrade steps previous to 3.5.0. Some small adjustments, like tweaking globals can also be applied when needed. Also includes an upgrade step to prevent upgrading from any version < 2018051700 (v3.5.0) as anti-cheating measure. Previous commits have removed/deprecated all the upgradelib functions not used anymore in codebase. Deletion has been documented in corresponding upgrade.txt files: - upgrade_fix_block_instance_configuration() - upgrade_theme_is_from_family(), upgrade_find_theme_location() and linkcoursesectionsupgradescriptwasrun setting - upgrade_block_positions - upgrade_fix_config_auth_plugin_names() and upgrade_fix_config_auth_plugin_defaults() - format_xxx_upgrade_remove_numsections(), format_xxx_upgrade_hide_extra_sections() and format_xxx_upgrade_add_empty_sections() - filter_mathjaxloader_upgrade_cdn_cloudflare() and filter_mathjaxloader_upgrade_mathjaxconfig_equal() - get_assignments_with_rescaled_null_grades() These have been kept because continue being used by restore: - \core\task\refresh_mod_calendar_events_task
97 lines
3.4 KiB
PHP
97 lines
3.4 KiB
PHP
<?php
|
|
// This file is part of Moodle - http://moodle.org/
|
|
//
|
|
// Moodle is free software: you can redistribute it and/or modify
|
|
// it under the terms of the GNU General Public License as published by
|
|
// the Free Software Foundation, either version 3 of the License, or
|
|
// (at your option) any later version.
|
|
//
|
|
// Moodle is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU General Public License for more details.
|
|
//
|
|
// You should have received a copy of the GNU General Public License
|
|
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
/**
|
|
* Keeps track of upgrades to the workshop module
|
|
*
|
|
* @package mod_workshop
|
|
* @category upgrade
|
|
* @copyright 2009 David Mudrak <david.mudrak@gmail.com>
|
|
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
|
*/
|
|
|
|
defined('MOODLE_INTERNAL') || die();
|
|
|
|
/**
|
|
* Performs upgrade of the database structure and data
|
|
*
|
|
* Workshop supports upgrades from version 1.9.0 and higher only. During 1.9 > 2.0 upgrade,
|
|
* there are significant database changes.
|
|
*
|
|
* @param int $oldversion the version we are upgrading from
|
|
* @return bool result
|
|
*/
|
|
function xmldb_workshop_upgrade($oldversion) {
|
|
global $DB;
|
|
|
|
$dbman = $DB->get_manager();
|
|
|
|
// Automatically generated Moodle v3.5.0 release upgrade line.
|
|
// Put any upgrade step following this.
|
|
|
|
if ($oldversion < 2018062600) {
|
|
|
|
// Define field submissiontypetext to be added to workshop.
|
|
$table = new xmldb_table('workshop');
|
|
$field = new xmldb_field('submissiontypetext', XMLDB_TYPE_INTEGER, '1', null, XMLDB_NOTNULL, null, '1', 'gradedecimals');
|
|
|
|
// Conditionally launch add field submissiontypetext.
|
|
if (!$dbman->field_exists($table, $field)) {
|
|
$dbman->add_field($table, $field);
|
|
}
|
|
|
|
$field = new xmldb_field('submissiontypefile', XMLDB_TYPE_INTEGER, '1', null, XMLDB_NOTNULL, null, '1',
|
|
'submissiontypetext');
|
|
|
|
// Conditionally launch add field submissiontypefile.
|
|
if (!$dbman->field_exists($table, $field)) {
|
|
$dbman->add_field($table, $field);
|
|
}
|
|
|
|
// Convert existing workshops with attachments disabled to use the new settings.
|
|
$workshops = $DB->get_records('workshop', ['nattachments' => 0]);
|
|
foreach ($workshops as $workshop) {
|
|
$update = (object) [
|
|
'id' => $workshop->id,
|
|
'submissiontypefile' => 0,
|
|
'submissiontypetext' => 2,
|
|
'nattachments' => 1
|
|
];
|
|
$DB->update_record('workshop', $update);
|
|
}
|
|
|
|
// Changing the default of field nattachments on table workshop to 1.
|
|
$field = new xmldb_field('nattachments', XMLDB_TYPE_INTEGER, '3', null, null, null, '1', 'submissiontypefile');
|
|
|
|
// Launch change of default for field nattachments.
|
|
$dbman->change_field_default($table, $field);
|
|
|
|
// Workshop savepoint reached.
|
|
upgrade_mod_savepoint(true, 2018062600, 'workshop');
|
|
}
|
|
|
|
// Automatically generated Moodle v3.6.0 release upgrade line.
|
|
// Put any upgrade step following this.
|
|
|
|
// Automatically generated Moodle v3.7.0 release upgrade line.
|
|
// Put any upgrade step following this.
|
|
|
|
// Automatically generated Moodle v3.8.0 release upgrade line.
|
|
// Put any upgrade step following this.
|
|
|
|
return true;
|
|
}
|