Skip to content
Snippets Groups Projects
Commit 02f223a1 authored by Tim Hunt's avatar Tim Hunt
Browse files

Add support for the new OU maths filter. #178

parent dba08de3
No related branches found
No related tags found
No related merge requests found
......@@ -333,7 +333,8 @@ $string['settingdefaultquestionoptions_desc'] = 'Used when creating a new questi
$string['settingmathsdisplay'] = 'Maths filter';
$string['settingmathsdisplay_mathjax'] = 'MathJax';
$string['settingmathsdisplay_tex'] = 'Moodle TeX filter';
$string['settingmathsdisplay_maths'] = 'OU maths filter';
$string['settingmathsdisplay_maths'] = 'Old OU maths filter';
$string['settingmathsdisplay_oumaths'] = 'New OU maths filter';
$string['settingmathsdisplay_desc'] = 'The method used to display maths. If you select MathJax, then you will need to follow the instructions on the Healthcheck page to set it up. If you select a filter, then you must ensure that filter is enabled on the Manage filters configuration page.';
$string['settingsmathsdisplayheading'] = 'Maths display options';
$string['settingsmaximasettings'] = 'Connecting to Maxima';
......
......@@ -56,6 +56,10 @@ class qtype_stack_admin_setting_maths_display_method extends admin_setting_confi
$this->choices['maths'] = get_string('settingmathsdisplay_maths', 'qtype_stack');
}
if (array_key_exists('oumaths', $filters)) {
$this->choices['oumaths'] = get_string('settingmathsdisplay_oumaths', 'qtype_stack');
}
return true;
}
}
......
<?php
// This file is part of Stack - http://stack.bham.ac.uk/
//
// Stack 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.
//
// Stack 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 Stack. If not, see <http://www.gnu.org/licenses/>.
global $CFG;
require_once($CFG->libdir . '/filterlib.php');
require_once(__DIR__ . '/mathsoutputfilterbase.class.php');
/**
* STACK maths output methods for using The OU's maths filter.
*
* @copyright 2012 The Open University
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class stack_maths_output_oumaths extends stack_maths_output_filter_base {
/**
* @return boolean is the OU maths filter installed?
*/
public static function filter_is_installed() {
global $CFG;
return file_exists($CFG->dirroot . '/filter/maths/filter.php');
}
protected function initialise_delimiters() {
$this->displaystart = '&lt;tex mode="display"&gt;';
$this->displayend = '&lt;/tex&gt;';
$this->inlinestart = '&lt;tex mode="inline"&gt;';
$this->inlineend = '&lt;/tex&gt;';
}
protected function make_filter() {
global $CFG;
if (!self::filter_is_installed()) {
throw new coding_exception('The OU maths filter is not installed.');
}
require_once($CFG->dirroot . '/filter/oumaths/filter.php');
return new filter_oumaths(context_system::instance(), array());
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment