From 25a0be8b27af76d29043c87c1828ece4c6c6cd73 Mon Sep 17 00:00:00 2001 From: Damyon Wiese Date: Mon, 11 Aug 2014 11:37:35 +0800 Subject: [PATCH 1/2] MDL-46748 MathJax filter: Make misconfigured mathjax url less "fatal" for Atto. --- ...oodle-filter_mathjaxloader-loader-debug.js | 20 ++++++++++++------- .../moodle-filter_mathjaxloader-loader-min.js | 2 +- .../moodle-filter_mathjaxloader-loader.js | 20 ++++++++++++------- .../mathjaxloader/yui/src/loader/js/loader.js | 20 ++++++++++++------- 4 files changed, 40 insertions(+), 22 deletions(-) diff --git a/filter/mathjaxloader/yui/build/moodle-filter_mathjaxloader-loader/moodle-filter_mathjaxloader-loader-debug.js b/filter/mathjaxloader/yui/build/moodle-filter_mathjaxloader-loader/moodle-filter_mathjaxloader-loader-debug.js index 934906a0ffb..1ab45afb087 100644 --- a/filter/mathjaxloader/yui/build/moodle-filter_mathjaxloader-loader/moodle-filter_mathjaxloader-loader-debug.js +++ b/filter/mathjaxloader/yui/build/moodle-filter_mathjaxloader-loader/moodle-filter_mathjaxloader-loader-debug.js @@ -76,11 +76,13 @@ M.filter_mathjaxloader = M.filter_mathjaxloader || { _setLocale: function() { if (!this._configured) { var lang = this._lang; - MathJax.Hub.Queue(function () { - MathJax.Localization.setLocale(lang); - }); - MathJax.Hub.Configured(); - this._configured = true; + if (typeof MathJax !== "undefined") { + MathJax.Hub.Queue(function () { + MathJax.Localization.setLocale(lang); + }); + MathJax.Hub.Configured(); + this._configured = true; + } } }, @@ -95,7 +97,9 @@ M.filter_mathjaxloader = M.filter_mathjaxloader || { Y.use('mathjax', function() { self._setLocale(); Y.all('.filter_mathjaxloader_equation').each(function(node) { - MathJax.Hub.Queue(["Typeset", MathJax.Hub, node.getDOMNode()]); + if (typeof MathJax !== "undefined") { + MathJax.Hub.Queue(["Typeset", MathJax.Hub, node.getDOMNode()]); + } }); }); } @@ -112,7 +116,9 @@ M.filter_mathjaxloader = M.filter_mathjaxloader || { self._setLocale(); event.nodes.each(function (node) { node.all('.filter_mathjaxloader_equation').each(function(node) { - MathJax.Hub.Queue(["Typeset", MathJax.Hub, node.getDOMNode()]); + if (typeof MathJax !== "undefined") { + MathJax.Hub.Queue(["Typeset", MathJax.Hub, node.getDOMNode()]); + } }); }); }); diff --git a/filter/mathjaxloader/yui/build/moodle-filter_mathjaxloader-loader/moodle-filter_mathjaxloader-loader-min.js b/filter/mathjaxloader/yui/build/moodle-filter_mathjaxloader-loader/moodle-filter_mathjaxloader-loader-min.js index 0009184a267..b125c401128 100644 --- a/filter/mathjaxloader/yui/build/moodle-filter_mathjaxloader-loader/moodle-filter_mathjaxloader-loader-min.js +++ b/filter/mathjaxloader/yui/build/moodle-filter_mathjaxloader-loader/moodle-filter_mathjaxloader-loader-min.js @@ -1 +1 @@ -YUI.add("moodle-filter_mathjaxloader-loader",function(e,t){M.filter_mathjaxloader=M.filter_mathjaxloader||{_lang:"",_configured:!1,configure:function(t){var n=document.createElement("script");n.type="text/x-mathjax-config",n[window.opera?"innerHTML":"text"]=t.mathjaxconfig,document.getElementsByTagName("head")[0].appendChild(n),this._lang=t.lang,e.on(M.core.event.FILTER_CONTENT_UPDATED,this.contentUpdated,this)},_setLocale:function(){if(!this._configured){var e=this._lang;MathJax.Hub.Queue(function(){MathJax.Localization.setLocale(e)}),MathJax.Hub.Configured(),this._configured=!0}},typeset:function(){if(!this._configured){var t=this;e.use("mathjax",function(){t._setLocale(),e.all(".filter_mathjaxloader_equation").each(function(e){MathJax.Hub.Queue(["Typeset",MathJax.Hub,e.getDOMNode()])})})}},contentUpdated:function(t){var n=this;e.use("mathjax",function(){n._setLocale(),t.nodes.each(function(e){e.all(".filter_mathjaxloader_equation").each(function(e){MathJax.Hub.Queue(["Typeset",MathJax.Hub,e.getDOMNode()])})})})}}},"@VERSION@",{requires:["moodle-core-event"]}); +YUI.add("moodle-filter_mathjaxloader-loader",function(e,t){M.filter_mathjaxloader=M.filter_mathjaxloader||{_lang:"",_configured:!1,configure:function(t){var n=document.createElement("script");n.type="text/x-mathjax-config",n[window.opera?"innerHTML":"text"]=t.mathjaxconfig,document.getElementsByTagName("head")[0].appendChild(n),this._lang=t.lang,e.on(M.core.event.FILTER_CONTENT_UPDATED,this.contentUpdated,this)},_setLocale:function(){if(!this._configured){var e=this._lang;typeof MathJax!="undefined"&&(MathJax.Hub.Queue(function(){MathJax.Localization.setLocale(e)}),MathJax.Hub.Configured(),this._configured=!0)}},typeset:function(){if(!this._configured){var t=this;e.use("mathjax",function(){t._setLocale(),e.all(".filter_mathjaxloader_equation").each(function(e){typeof MathJax!="undefined"&&MathJax.Hub.Queue(["Typeset",MathJax.Hub,e.getDOMNode()])})})}},contentUpdated:function(t){var n=this;e.use("mathjax",function(){n._setLocale(),t.nodes.each(function(e){e.all(".filter_mathjaxloader_equation").each(function(e){typeof MathJax!="undefined"&&MathJax.Hub.Queue(["Typeset",MathJax.Hub,e.getDOMNode()])})})})}}},"@VERSION@",{requires:["moodle-core-event"]}); diff --git a/filter/mathjaxloader/yui/build/moodle-filter_mathjaxloader-loader/moodle-filter_mathjaxloader-loader.js b/filter/mathjaxloader/yui/build/moodle-filter_mathjaxloader-loader/moodle-filter_mathjaxloader-loader.js index 934906a0ffb..1ab45afb087 100644 --- a/filter/mathjaxloader/yui/build/moodle-filter_mathjaxloader-loader/moodle-filter_mathjaxloader-loader.js +++ b/filter/mathjaxloader/yui/build/moodle-filter_mathjaxloader-loader/moodle-filter_mathjaxloader-loader.js @@ -76,11 +76,13 @@ M.filter_mathjaxloader = M.filter_mathjaxloader || { _setLocale: function() { if (!this._configured) { var lang = this._lang; - MathJax.Hub.Queue(function () { - MathJax.Localization.setLocale(lang); - }); - MathJax.Hub.Configured(); - this._configured = true; + if (typeof MathJax !== "undefined") { + MathJax.Hub.Queue(function () { + MathJax.Localization.setLocale(lang); + }); + MathJax.Hub.Configured(); + this._configured = true; + } } }, @@ -95,7 +97,9 @@ M.filter_mathjaxloader = M.filter_mathjaxloader || { Y.use('mathjax', function() { self._setLocale(); Y.all('.filter_mathjaxloader_equation').each(function(node) { - MathJax.Hub.Queue(["Typeset", MathJax.Hub, node.getDOMNode()]); + if (typeof MathJax !== "undefined") { + MathJax.Hub.Queue(["Typeset", MathJax.Hub, node.getDOMNode()]); + } }); }); } @@ -112,7 +116,9 @@ M.filter_mathjaxloader = M.filter_mathjaxloader || { self._setLocale(); event.nodes.each(function (node) { node.all('.filter_mathjaxloader_equation').each(function(node) { - MathJax.Hub.Queue(["Typeset", MathJax.Hub, node.getDOMNode()]); + if (typeof MathJax !== "undefined") { + MathJax.Hub.Queue(["Typeset", MathJax.Hub, node.getDOMNode()]); + } }); }); }); diff --git a/filter/mathjaxloader/yui/src/loader/js/loader.js b/filter/mathjaxloader/yui/src/loader/js/loader.js index 570a84ad5d3..0181304253b 100644 --- a/filter/mathjaxloader/yui/src/loader/js/loader.js +++ b/filter/mathjaxloader/yui/src/loader/js/loader.js @@ -74,11 +74,13 @@ M.filter_mathjaxloader = M.filter_mathjaxloader || { _setLocale: function() { if (!this._configured) { var lang = this._lang; - MathJax.Hub.Queue(function () { - MathJax.Localization.setLocale(lang); - }); - MathJax.Hub.Configured(); - this._configured = true; + if (typeof MathJax !== "undefined") { + MathJax.Hub.Queue(function () { + MathJax.Localization.setLocale(lang); + }); + MathJax.Hub.Configured(); + this._configured = true; + } } }, @@ -93,7 +95,9 @@ M.filter_mathjaxloader = M.filter_mathjaxloader || { Y.use('mathjax', function() { self._setLocale(); Y.all('.filter_mathjaxloader_equation').each(function(node) { - MathJax.Hub.Queue(["Typeset", MathJax.Hub, node.getDOMNode()]); + if (typeof MathJax !== "undefined") { + MathJax.Hub.Queue(["Typeset", MathJax.Hub, node.getDOMNode()]); + } }); }); } @@ -110,7 +114,9 @@ M.filter_mathjaxloader = M.filter_mathjaxloader || { self._setLocale(); event.nodes.each(function (node) { node.all('.filter_mathjaxloader_equation').each(function(node) { - MathJax.Hub.Queue(["Typeset", MathJax.Hub, node.getDOMNode()]); + if (typeof MathJax !== "undefined") { + MathJax.Hub.Queue(["Typeset", MathJax.Hub, node.getDOMNode()]); + } }); }); }); From c49e848571733ca3daf2df791ff0dc9053671266 Mon Sep 17 00:00:00 2001 From: Damyon Wiese Date: Mon, 11 Aug 2014 11:52:32 +0800 Subject: [PATCH 2/2] MDL-46748 MathJax filter: Update setting default for https cdn url. --- filter/mathjaxloader/db/upgrade.php | 48 +++++++++++++++++++++++++++++ filter/mathjaxloader/settings.php | 2 +- filter/mathjaxloader/upgrade.txt | 7 +++++ filter/mathjaxloader/version.php | 2 +- 4 files changed, 57 insertions(+), 2 deletions(-) create mode 100644 filter/mathjaxloader/db/upgrade.php create mode 100644 filter/mathjaxloader/upgrade.txt diff --git a/filter/mathjaxloader/db/upgrade.php b/filter/mathjaxloader/db/upgrade.php new file mode 100644 index 00000000000..fbdbf2a9da1 --- /dev/null +++ b/filter/mathjaxloader/db/upgrade.php @@ -0,0 +1,48 @@ +. + +/** + * MathJAX filter upgrade code. + * + * @package filter_mathjaxloader + * @copyright 2014 Damyon Wiese (damyon@moodle.com) + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +/** + * @param int $oldversion the version we are upgrading from + * @return bool result + */ +function xmldb_filter_mathjaxloader_upgrade($oldversion) { + global $CFG, $DB; + + $dbman = $DB->get_manager(); + + // Moodle v2.7.0 release upgrade line. + // Put any upgrade step following this. + + if ($oldversion < 2014051201) { + + $sslcdnurl = get_config('filter_mathjaxloader', 'httpsurl'); + if ($sslcdnurl === "https://c328740.ssl.cf1.rackcdn.com/mathjax/2.3-latest/MathJax.js") { + set_config('httpsurl', 'https://cdn.mathjax.org/mathjax/2.3-latest/MathJax.js', 'filter_mathjaxloader'); + } + + upgrade_plugin_savepoint(true, 2014051201, 'filter', 'mathjaxloader'); + } + + return true; +} diff --git a/filter/mathjaxloader/settings.php b/filter/mathjaxloader/settings.php index deeb9751e1f..978587ce798 100644 --- a/filter/mathjaxloader/settings.php +++ b/filter/mathjaxloader/settings.php @@ -40,7 +40,7 @@ if ($ADMIN->fulltree) { $item = new admin_setting_configtext('filter_mathjaxloader/httpsurl', new lang_string('httpsurl', 'filter_mathjaxloader'), new lang_string('httpsurl_help', 'filter_mathjaxloader'), - 'https://c328740.ssl.cf1.rackcdn.com/mathjax/2.3-latest/MathJax.js', + 'https://cdn.mathjax.org/mathjax/2.3-latest/MathJax.js', PARAM_RAW); $settings->add($item); diff --git a/filter/mathjaxloader/upgrade.txt b/filter/mathjaxloader/upgrade.txt new file mode 100644 index 00000000000..ca95016bc09 --- /dev/null +++ b/filter/mathjaxloader/upgrade.txt @@ -0,0 +1,7 @@ +Setting "httpsurl" default changed from: + +https://c328740.ssl.cf1.rackcdn.com/mathjax/2.3-latest/MathJax.js + +to: + +https://cdn.mathjax.org/mathjax/2.3-latest/MathJax.js diff --git a/filter/mathjaxloader/version.php b/filter/mathjaxloader/version.php index 92b4abcb669..394b706c025 100644 --- a/filter/mathjaxloader/version.php +++ b/filter/mathjaxloader/version.php @@ -24,6 +24,6 @@ defined('MOODLE_INTERNAL') || die(); -$plugin->version = 2014051200; +$plugin->version = 2014051201; $plugin->requires = 2014050800; // Requires this Moodle version $plugin->component= 'filter_mathjaxloader';