MDL-48543 filter_mathjaxloader: Fixing upgrade version
[moodle.git] / filter / mathjaxloader / db / upgrade.php
CommitLineData
0b51b466
DW
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/>.
16
17/**
18 * MathJAX filter upgrade code.
19 *
20 * @package filter_mathjaxloader
21 * @copyright 2014 Damyon Wiese (damyon@moodle.com)
22 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
23 */
24
25/**
26 * @param int $oldversion the version we are upgrading from
27 * @return bool result
28 */
29function xmldb_filter_mathjaxloader_upgrade($oldversion) {
30 global $CFG, $DB;
31
32 $dbman = $DB->get_manager();
33
34 // Moodle v2.7.0 release upgrade line.
35 // Put any upgrade step following this.
36
37 if ($oldversion < 2014081100) {
38
39 $sslcdnurl = get_config('filter_mathjaxloader', 'httpsurl');
40 if ($sslcdnurl === "https://c328740.ssl.cf1.rackcdn.com/mathjax/2.3-latest/MathJax.js") {
41 set_config('httpsurl', 'https://cdn.mathjax.org/mathjax/2.3-latest/MathJax.js', 'filter_mathjaxloader');
42 }
43
44 upgrade_plugin_savepoint(true, 2014081100, 'filter', 'mathjaxloader');
45 }
46
147bae8f
EL
47 // Moodle v2.8.0 release upgrade line.
48 // Put any upgrade step following this.
bbc009f2
DM
49
50 if ($oldversion < 2015021200) {
51
52 $httpurl = get_config('filter_mathjaxloader', 'httpurl');
53 // Don't change the config if it has been manually changed to something besides the default setting value.
54 if ($httpurl === "http://cdn.mathjax.org/mathjax/2.3-latest/MathJax.js") {
55 set_config('httpurl', 'http://cdn.mathjax.org/mathjax/2.5-latest/MathJax.js', 'filter_mathjaxloader');
56 }
57
58 $httpsurl = get_config('filter_mathjaxloader', 'httpsurl');
59 // Don't change the config if it has been manually changed to something besides the default setting value.
60 if ($httpsurl === "https://cdn.mathjax.org/mathjax/2.3-latest/MathJax.js") {
61 set_config('httpsurl', 'https://cdn.mathjax.org/mathjax/2.5-latest/MathJax.js', 'filter_mathjaxloader');
62 }
63
64 upgrade_plugin_savepoint(true, 2015021200, 'filter', 'mathjaxloader');
65 }
66
67 if ($oldversion < 2015021700) {
b1a55c5f
DW
68
69 $oldconfig = get_config('filter_mathjaxloader', 'mathjaxconfig');
70 $olddefault = 'MathJax.Hub.Config({
71 config: ["MMLorHTML.js", "Safe.js"],
72 jax: ["input/TeX","input/MathML","output/HTML-CSS","output/NativeMML"],
73 extensions: ["tex2jax.js","mml2jax.js","MathMenu.js","MathZoom.js"],
74 TeX: {
75 extensions: ["AMSmath.js","AMSsymbols.js","noErrors.js","noUndefined.js"]
76 },
77 menuSettings: {
78 zoom: "Double-Click",
79 mpContext: true,
80 mpMouse: true
81 },
82 errorSettings: { message: ["!"] },
83 skipStartupTypeset: true,
84 messageStyle: "none"
85});
86';
87 $newdefault = '
88MathJax.Hub.Config({
89 config: ["Accessible.js", "Safe.js"],
90 errorSettings: { message: ["!"] },
91 skipStartupTypeset: true,
92 messageStyle: "none"
93});
94';
95
96 // Ignore white space changes.
97 $oldconfig = trim(preg_replace('/\s+/', ' ', $oldconfig));
98 $olddefault = trim(preg_replace('/\s+/', ' ', $olddefault));
99
100 // Update the default config for mathjax only if it has not been customised.
101
102 if ($oldconfig == $olddefault) {
103 set_config('mathjaxconfig', $newdefault, 'filter_mathjaxloader');
104 }
105
bbc009f2 106 upgrade_plugin_savepoint(true, 2015021700, 'filter', 'mathjaxloader');
01dfdf7e
AG
107 }
108
0b51b466
DW
109 return true;
110}