diff options
author | Jean-Michel Vedrine <vedrine@vedrine.org> | 2013-01-04 14:24:55 +0100 |
---|---|---|
committer | Jean-Michel Vedrine <vedrine@vedrine.org> | 2013-01-04 14:24:55 +0100 |
commit | 5712bf7b91964e6dbbd2afdead94bb3dd8c0030a (patch) | |
tree | 2e87f78dc6c740e9a9d4c90166ec939e86575f13 /displayformula.php | |
parent | c4791e4bfdb54e6c1e2eeb1567196cc76662c28f (diff) |
Ability to use Mathjax for TeX rendering
Diffstat (limited to 'displayformula.php')
-rw-r--r-- | displayformula.php | 61 |
1 files changed, 41 insertions, 20 deletions
diff --git a/displayformula.php b/displayformula.php index e5051e5..dc495d6 100644 --- a/displayformula.php +++ b/displayformula.php @@ -1,36 +1,52 @@ <?php +// This file is part of Moodle - http://moodle.org/ +// +// Moodle 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. +// +// Moodle 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 Moodle. If not, see <http://www.gnu.org/licenses/>. -// Moodle algebra question type class -// Author: Roger Moore <rwmoore 'at' ualberta.ca> -// License: GNU Public License version 3 - /** - * Script which converts the given formula text into LaTeX code and then + * @package qtype_algebra + * @copyright Roger Moore <rwmoore@ualberta.ca> + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +/** + * Script which converts the given formula text into LaTeX code and then * displays the appropriate image file. It relies on the LaTeX filter to * be present. */ require_once('../../../config.php'); require_once("$CFG->dirroot/question/type/algebra/parser.php"); -global $PAGE; +global $PAGE, $CFG; $p = new qtype_algebra_parser; try { $query=urldecode($_SERVER['QUERY_STRING']); $m=array(); - - if(!preg_match('/vars=([^&]*)&expr=(.*)$/A',$query,$m)) { + + if (!preg_match('/vars=([^&]*)&expr=(.*)$/A', $query, $m)) { throw new Exception('Invalid query string received from http server!'); } - $vars=explode(',',$m[1]); - if(empty($m[2])) { + $vars=explode(',', $m[1]); + if (empty($m[2])) { $texexp=''; } else { - $exp = $p->parse($m[2],$vars); + $exp = $p->parse($m[2], $vars); $texexp = '$$'.$exp->tex().'$$'; } -} catch(Exception $e) { - $texexp = get_string('parseerror','qtype_algebra',$e->getMessage()); +} catch (Exception $e) { + $texexp = get_string('parseerror', 'qtype_algebra', $e->getMessage()); } $formatoptions = new stdClass; $formatoptions->para = false; @@ -38,11 +54,16 @@ $PAGE->set_context(get_context_instance(CONTEXT_SYSTEM)); $text = format_text($texexp, FORMAT_MOODLE, $formatoptions); ?> <html> - <head> - <title>Formula</title> - <meta http-equiv="content-type" content="text/html; charset=utf-8" /> - </head> - <body bgcolor="#FFFFFF"> - <?php echo $text; ?> - </body> + <head> + <title>Formula</title> + <meta http-equiv="content-type" content="text/html; charset=utf-8" /> +<?php +if (!empty($CFG->additionalhtmlhead) && stripos($CFG->additionalhtmlhead, 'MathJax') !== false) { + echo $CFG->additionalhtmlhead; +} +?> + </head> + <body bgcolor="#FFFFFF"> + <?php echo $text; ?> + </body> </html> |