MDL-59857 mod_scorm: use valid length for grade type field.
[moodle.git] / mod / scorm / 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  * Upgrade script for the scorm module.
19  *
20  * @package    mod_scorm
21  * @copyright  1999 onwards Martin Dougiamas  {@link http://moodle.com}
22  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
23  */
25 defined('MOODLE_INTERNAL') || die();
27 /**
28  * @global moodle_database $DB
29  * @param int $oldversion
30  * @return bool
31  */
32 function xmldb_scorm_upgrade($oldversion) {
33     global $CFG, $DB;
35     $dbman = $DB->get_manager();
37     // MDL-44712 improve multi-sco activity completion.
38     if ($oldversion < 2016080900) {
39         $table = new xmldb_table('scorm');
41         $field = new xmldb_field('completionstatusallscos', XMLDB_TYPE_INTEGER, '1', null, null, null, null, 'completionscorerequired');
42         if (!$dbman->field_exists($table, $field)) {
43             $dbman->add_field($table, $field);
44         }
46         upgrade_mod_savepoint(true, 2016080900, 'scorm');
47     }
49     // Automatically generated Moodle v3.2.0 release upgrade line.
50     // Put any upgrade step following this.
52     // Automatically generated Moodle v3.3.0 release upgrade line.
53     // Put any upgrade step following this.
55     // Automatically generated Moodle v3.4.0 release upgrade line.
56     // Put any upgrade step following this.
58     if ($oldversion < 2018032300) {
59         set_config('scormstandard', get_config('scorm', 'scorm12standard'), 'scorm');
60         unset_config('scorm12standard', 'scorm');
62         upgrade_mod_savepoint(true, 2018032300, 'scorm');
63     }
65     if ($oldversion < 2018041100) {
67         // Changing precision of field completionscorerequired on table scorm to (10).
68         $table = new xmldb_table('scorm');
69         $field = new xmldb_field('completionscorerequired', XMLDB_TYPE_INTEGER, '10', null, null, null, null, 'completionstatusrequired');
71         // Launch change of precision for field completionscorerequired.
72         $dbman->change_field_precision($table, $field);
74         // Scorm savepoint reached.
75         upgrade_mod_savepoint(true, 2018041100, 'scorm');
76     }
78     return true;
79 }