diff options
author | Jean-Michel Vedrine <vedrine@vedrine.org> | 2018-02-02 16:53:59 +0100 |
---|---|---|
committer | Jean-Michel Vedrine <vedrine@vedrine.org> | 2018-02-02 16:53:59 +0100 |
commit | 8ad4a477c15f928323da24aff4188bd7f0dca1d9 (patch) | |
tree | 0f0e488eaacefc304154d6e68e1e2a41cb148cb5 /ajax.php | |
parent | ec3cabf60551be0c589b11fa5db8de302645988e (diff) |
Ajax dynamic formula display
Diffstat (limited to 'ajax.php')
-rw-r--r-- | ajax.php | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/ajax.php b/ajax.php new file mode 100644 index 0000000..156db22 --- /dev/null +++ b/ajax.php @@ -0,0 +1,55 @@ +<?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/>. + +/** + * @package qtype_algebra + * @copyright 2018 Jean-Michel Vedrine + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +define('AJAX_SCRIPT', true); + +require_once(__DIR__ . '/../../../config.php'); +require_once(__DIR__ . '/parser.php'); + +$p = new qtype_algebra_parser; + +$vars = required_param('vars', PARAM_RAW); +$expr = required_param('expr', PARAM_RAW); +/* +if (!confirm_sesskey()) { + header('HTTP/1.1 403 Forbidden'); + die(); +} +*/ +try { + $vars = explode(',', $vars); + if (empty($expr)) { + $texexp = ''; + } else { + $exp = $p->parse($expr, $vars); + $texexp = $exp->tex(); + } +} catch (Exception $e) { + $texexp = ''; +} +if ($CFG->qtype_algebra_texdelimiters == 'old') { + $texexp = '$$' . $texexp . '$$'; +} else { + $texexp = '\\[' . $texexp . '\\]'; +} +header('Content-Type: application/json; charset: utf-8'); +echo json_encode($texexp); |