mirror of
https://github.com/moodle/moodle.git
synced 2025-01-17 21:49:15 +01:00
MDL-48213 filter_algebra,filter_tex: Require sesskey for debug actions
This commit is contained in:
parent
35fc96ae2e
commit
ece1e519f6
@ -12,20 +12,21 @@
|
||||
require_once($CFG->libdir.'/filelib.php');
|
||||
require_once($CFG->dirroot.'/filter/tex/lib.php');
|
||||
|
||||
$action = optional_param('action', '', PARAM_ALPHANUM);
|
||||
$algebra = optional_param('algebra', '', PARAM_RAW);
|
||||
|
||||
require_login();
|
||||
require_capability('moodle/site:config', context_system::instance());
|
||||
if ($action || $algebra) {
|
||||
require_sesskey();
|
||||
}
|
||||
|
||||
$query = urldecode($_SERVER['QUERY_STRING']);
|
||||
|
||||
if ($query) {
|
||||
$output = $query;
|
||||
$splitpos = strpos($query,'&')-8;
|
||||
$algebra = substr($query,8,$splitpos);
|
||||
if ($algebra && $action) {
|
||||
$md5 = md5($algebra);
|
||||
if (strpos($query,'ShowDB') || strpos($query,'DeleteDB')) {
|
||||
if ($action == 'ShowDB' || $action == 'DeleteDB') {
|
||||
$texcache = $DB->get_record("cache_filters", array("filter"=>"algebra", "md5key"=>$md5));
|
||||
}
|
||||
if (strpos($query,'ShowDB')) {
|
||||
if ($action == 'ShowDB') {
|
||||
if ($texcache) {
|
||||
$output = "DB cache_filters entry for $algebra\n";
|
||||
$output .= "id = $texcache->id\n";
|
||||
@ -38,7 +39,7 @@
|
||||
$output = "DB cache_filters entry for $algebra not found\n";
|
||||
}
|
||||
}
|
||||
if (strpos($query,'DeleteDB')) {
|
||||
if ($action == 'DeleteDB') {
|
||||
if ($texcache) {
|
||||
$output = "Deleting DB cache_filters entry for $algebra\n";
|
||||
$result = $DB->delete_records("cache_filters", array("id"=>$texcache->id));
|
||||
@ -52,17 +53,17 @@
|
||||
$output = "Could not delete DB cache_filters entry for $algebra\nbecause it could not be found.\n";
|
||||
}
|
||||
}
|
||||
if (strpos($query,'TeXStage1')) {
|
||||
if ($action == 'TeXStage1') {
|
||||
$output = algebra2tex($algebra);
|
||||
}
|
||||
if (strpos($query,'TeXStage2')) {
|
||||
if ($action == 'TexStage2') {
|
||||
$output = algebra2tex($algebra);
|
||||
$output = refineTeX($output);
|
||||
}
|
||||
if (strpos($query,'ShowImage')||strpos($query,'SlashArguments')) {
|
||||
if ($action == 'ShowImage'|| $action == 'SlashArguments') {
|
||||
$output = algebra2tex($algebra);
|
||||
$output = refineTeX($output);
|
||||
if (strpos($query,'ShowImage')) {
|
||||
if ($action == 'ShowImage') {
|
||||
tex2image($output, $md5);
|
||||
} else {
|
||||
slasharguments($output, $md5);
|
||||
@ -283,19 +284,20 @@ function slasharguments($texexp, $md5) {
|
||||
value="sin(z)/(x^2+y^2)" />
|
||||
</center>
|
||||
<ol>
|
||||
<li>First click on this button <input type="submit" name="ShowDB" value="Show DB Entry" />
|
||||
<li>First click on this button <button type="submit" name="action" value="ShowDB">Show DB Entry</button>
|
||||
to see the cache_filters database entry for this expression.</li>
|
||||
<li>If the database entry looks corrupt, click on this button to delete it:
|
||||
<input type="submit" name="DeleteDB" value="Delete DB Entry" /></li>
|
||||
<li>Now click on this button <input type="submit" name="TeXStage1" value="First Stage Tex Translation" />.
|
||||
<button type="submit" name="action" value="DeleteDB">Delete DB Entry</button></li>
|
||||
<li>Now click on this button <button type="submit" name="action" value="TeXStage1">First Stage Tex Translation</button>.
|
||||
A preliminary translation into TeX will appear in the box below.</li>
|
||||
<li>Next click on this button <input type="submit" name="TeXStage2" value="Second Stage Tex Translation" />.
|
||||
<li>Next click on this button <button type="submit" name="action" value="TexStage2">Second Stage Tex Translation</button>.
|
||||
A more refined translation into TeX will appear in the box below.</li>
|
||||
<li>Then click on this button <input type="submit" name="ShowImage" value="Show Image" />
|
||||
<li>Then click on this button <button type="submit" name="action" value="ShowImage">Show Image</button>
|
||||
to show a graphic image of the algebraic expression.</li>
|
||||
<li>Finally check your slash arguments setting
|
||||
<input type="submit" name="SlashArguments" value="Check Slash Arguments" /></li>
|
||||
<button type="submit" name="action" value="SlashArguments">Check Slash Arguments</button></li>
|
||||
</ol>
|
||||
<input type="hidden" name="sesskey" value="<?php echo sesskey(); ?>" />
|
||||
</form> <br /> <br />
|
||||
<center>
|
||||
<iframe name="inlineframe" align="middle" width="80%" height="200">
|
||||
|
@ -41,6 +41,9 @@
|
||||
|
||||
require_login();
|
||||
require_capability('moodle/site:config', context_system::instance(), $USER->id); /// Required cap to run this. MDL-18552
|
||||
if ($action || $texexp) {
|
||||
require_sesskey();
|
||||
}
|
||||
|
||||
$output = '';
|
||||
|
||||
@ -89,6 +92,7 @@
|
||||
// Action: Check Slasharguments
|
||||
if ($action=='SlashArguments') {
|
||||
slasharguments($texexp);
|
||||
exit;
|
||||
}
|
||||
|
||||
// Action: Show Tex command line output
|
||||
@ -335,6 +339,7 @@
|
||||
<label for="SlashArguments">Check slasharguments setting.</label></li>
|
||||
</ol>
|
||||
<input type="submit" value="Do it!" />
|
||||
<input type="hidden" name="sesskey" value="<?php echo sesskey(); ?>" />
|
||||
</form> <br /> <br />
|
||||
<center>
|
||||
<iframe name="inlineframe" align="middle" width="80%" height="200">
|
||||
|
Loading…
x
Reference in New Issue
Block a user