on-demand release 4.0dev+
[moodle.git] / question / type / essay / db / upgrade.php
1 <?php
2 // This file is part of Moodle - http://moodle.org/
3 //
4 // Moodle is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
8 //
9 // Moodle is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 // GNU General Public License for more details.
13 //
14 // You should have received a copy of the GNU General Public License
15 // along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
17 /**
18  * Essay question type upgrade code.
19  *
20  * @package    qtype
21  * @subpackage essay
22  * @copyright  2011 The Open University
23  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
24  */
26 defined('MOODLE_INTERNAL') || die();
28 /**
29  * Upgrade code for the essay question type.
30  * @param int $oldversion the version we are upgrading from.
31  */
32 function xmldb_qtype_essay_upgrade($oldversion) {
33     global $CFG, $DB;
35     $dbman = $DB->get_manager();
37     // Automatically generated Moodle v3.6.0 release upgrade line.
38     // Put any upgrade step following this.
40     // Automatically generated Moodle v3.7.0 release upgrade line.
41     // Put any upgrade step following this.
43     // Automatically generated Moodle v3.8.0 release upgrade line.
44     // Put any upgrade step following this.
46     // Automatically generated Moodle v3.9.0 release upgrade line.
47     // Put any upgrade step following this.
49     if ($oldversion < 2021052501) {
51         // Define field maxbytes to be added to qtype_essay_options.
52         $table = new xmldb_table('qtype_essay_options');
53         $field = new xmldb_field('maxbytes', XMLDB_TYPE_INTEGER, '10', null,
54             XMLDB_NOTNULL, null, '0', 'responsetemplateformat');
56         // Conditionally launch add field maxbytes.
57         if (!$dbman->field_exists($table, $field)) {
58             $dbman->add_field($table, $field);
59         }
61         // Essay savepoint reached.
62         upgrade_plugin_savepoint(true, 2021052501, 'qtype', 'essay');
63     }
65     if ($oldversion < 2021052502) {
67         // Define field minwordlimit to be added to qtype_essay_options.
68         $table = new xmldb_table('qtype_essay_options');
69         $field = new xmldb_field('minwordlimit', XMLDB_TYPE_INTEGER, '10', null, null, null, null, 'responsefieldlines');
71         // Conditionally launch add field minwordlimit.
72         if (!$dbman->field_exists($table, $field)) {
73             $dbman->add_field($table, $field);
74         }
76         // Define field maxwordlimit to be added to qtype_essay_options.
77         $table = new xmldb_table('qtype_essay_options');
78         $field = new xmldb_field('maxwordlimit', XMLDB_TYPE_INTEGER, '10', null, null, null, null, 'minwordlimit');
80         // Conditionally launch add field maxwordlimit.
81         if (!$dbman->field_exists($table, $field)) {
82             $dbman->add_field($table, $field);
83         }
85         // Essay savepoint reached.
86         upgrade_plugin_savepoint(true, 2021052502, 'qtype', 'essay');
87     }
89     return true;
90 }