. /** * @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); // This should be accessed by only valid logged in user. require_login(null, false); /* 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 = ' '; } $delimiters = $CFG->qtype_algebra_texdelimiters; switch($delimiters) { case 'old': $texexp = '$$' . $texexp . '$$'; break; case 'new': $texexp = '\\[' . $texexp . '\\]'; break; case 'simple'; $texexp = '$' . $texexp . '$'; break; case 'inline': $texexp = '\\(' . $texexp . '\\)'; break; } header('Content-Type: application/json; charset: utf-8'); echo json_encode($texexp);