mirror of
https://github.com/moodle/moodle.git
synced 2025-05-29 20:15:18 +02:00
Changed the name of all filters to be consistent.
Removed texh filter
This commit is contained in:
parent
830e238d58
commit
4da85078e9
@ -6,9 +6,9 @@
|
|||||||
// printed text, replacing words with other words
|
// printed text, replacing words with other words
|
||||||
//
|
//
|
||||||
// To activate this filter, add a line like this to your
|
// To activate this filter, add a line like this to your
|
||||||
// config.php:
|
// list of filters in your Filter configuration:
|
||||||
//
|
//
|
||||||
// $CFG->textfilter1 = 'filter/censor/censor.php';
|
// filter/censor/filter.php
|
||||||
//
|
//
|
||||||
//////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////
|
||||||
|
|
@ -5,10 +5,10 @@
|
|||||||
// This filter will replace any links to a media file with
|
// This filter will replace any links to a media file with
|
||||||
// a media plugin that plays that media inline
|
// a media plugin that plays that media inline
|
||||||
//
|
//
|
||||||
// To activate this filter, add his to your list of filters
|
// To activate this filter, add a line like this to your
|
||||||
// in Admin -> Configuration -> Variables
|
// list of filters in your Filter configuration:
|
||||||
//
|
//
|
||||||
// filter/mediaplugin/mediaplugin.php';
|
// filter/mediaplugin/filter.php
|
||||||
//
|
//
|
||||||
//////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////
|
||||||
|
|
@ -22,6 +22,11 @@
|
|||||||
// //
|
// //
|
||||||
///////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
||||||
// //
|
// //
|
||||||
|
// To activate this filter, add a line like this to your //
|
||||||
|
// list of filters in your Filter configuration: //
|
||||||
|
// //
|
||||||
|
// filter/multilang/filter.php //
|
||||||
|
// //
|
||||||
// See README.txt for more information about this module //
|
// See README.txt for more information about this module //
|
||||||
// //
|
// //
|
||||||
///////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
@ -24,13 +24,17 @@
|
|||||||
// NOTE: This Moodle text filter converts TeX expressions delimited
|
// NOTE: This Moodle text filter converts TeX expressions delimited
|
||||||
// by either $$...$$ or by <tex...>...</tex> tags to gif images using
|
// by either $$...$$ or by <tex...>...</tex> tags to gif images using
|
||||||
// mimetex.cgi obtained from http://www.forkosh.com/mimetex.html authored by
|
// mimetex.cgi obtained from http://www.forkosh.com/mimetex.html authored by
|
||||||
// John Forkosh john@forkosh.com. The mimetex.cgi ELF binary compiled for Linux i386
|
// John Forkosh john@forkosh.com. Several binaries of this areincluded with
|
||||||
// is included with this distribution.
|
// this distribution.
|
||||||
// Note that there may be patent restrictions on the production of gif images
|
// Note that there may be patent restrictions on the production of gif images
|
||||||
// in Canada and some parts of Western Europe and Japan until July 2004.
|
// in Canada and some parts of Western Europe and Japan until July 2004.
|
||||||
//-------------------------------------------------------------------------
|
//-------------------------------------------------------------------------
|
||||||
// You will then need to edit your moodle/config.php to invoke tex_filter.php
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
//-------------------------------------------------------------------------
|
// To activate this filter, add a line like this to your //
|
||||||
|
// list of filters in your Filter configuration: //
|
||||||
|
// //
|
||||||
|
// filter/tex/filter.php //
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
$CFG->texfilterdir = "filter/tex";
|
$CFG->texfilterdir = "filter/tex";
|
||||||
|
|
@ -1,131 +0,0 @@
|
|||||||
<?php
|
|
||||||
///////////////////////////////////////////////////////////////////////////
|
|
||||||
// //
|
|
||||||
// NOTICE OF COPYRIGHT //
|
|
||||||
// //
|
|
||||||
// TeXH - convert TeX code in <tex> tags into images, using HeVeA //
|
|
||||||
// //
|
|
||||||
// Copyright (C) 2001-2003 Bruno Vernier bruno@vsbeducation.ca //
|
|
||||||
// //
|
|
||||||
// This program 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 2 of the License, or //
|
|
||||||
// (at your option) any later version. //
|
|
||||||
// //
|
|
||||||
// This program 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: //
|
|
||||||
// //
|
|
||||||
// http://www.gnu.org/copyleft/gpl.html //
|
|
||||||
// //
|
|
||||||
///////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------
|
|
||||||
//
|
|
||||||
// README PREREQUISITES:
|
|
||||||
//
|
|
||||||
// 1: install HeVeA on your server http://pauillac.inria.fr/~maranget/hevea/
|
|
||||||
// (debian and rpm available) (it is a TeX to HTML/MathML filter)
|
|
||||||
//
|
|
||||||
// 2: must include this file "texh.php" in the filters in config.php
|
|
||||||
//
|
|
||||||
// 3: must include TEX in the legal tags list in lib/weblib.php
|
|
||||||
// CAVEAT: if above not yet done, <TEX> gets converted to <TEX>
|
|
||||||
// and can only be fixed by editing in HTML conversion mode
|
|
||||||
//
|
|
||||||
// 4: if you are using Windows then the hevea.bat file that comes with the
|
|
||||||
// windows distribution needs to have the line
|
|
||||||
// if "%1"=="" goto syn
|
|
||||||
// removed.
|
|
||||||
//
|
|
||||||
//-------------------------------------------------------------------------
|
|
||||||
|
|
||||||
/// These lines are important - the variable must match the name
|
|
||||||
/// of the actual function below
|
|
||||||
|
|
||||||
$textfilter_function='texh_filter';
|
|
||||||
|
|
||||||
if (function_exists($textfilter_function)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function texh_pipe_cmd($cmd, $text) {
|
|
||||||
// general function for external system calls to $cmd, piping in $text, retrieving output
|
|
||||||
// taken mostly from a php tutorial on php.net website (modified slightly)
|
|
||||||
$spec = array(
|
|
||||||
0 => array("pipe", "r"), // stdin
|
|
||||||
1 => array("pipe", "w"), // stdout
|
|
||||||
);
|
|
||||||
$process = proc_open($cmd , $spec, $pipes);
|
|
||||||
$output="";
|
|
||||||
if (is_resource($process)) {
|
|
||||||
fwrite($pipes[0], $text);
|
|
||||||
fclose($pipes[0]);
|
|
||||||
while (!feof($pipes[1])) {
|
|
||||||
$buffer = fgets($pipes[1], 1024);
|
|
||||||
$output .= $buffer;
|
|
||||||
}
|
|
||||||
fclose($pipes[1]);
|
|
||||||
proc_close($process);
|
|
||||||
}
|
|
||||||
return $output;
|
|
||||||
}
|
|
||||||
|
|
||||||
function texh_filter ($courseid, $text) {
|
|
||||||
// TeX conversion with $$ tex code $$
|
|
||||||
// written by Bruno Vernier (c) 2004 GPL
|
|
||||||
|
|
||||||
/// Do a quick check using stripos to avoid unnecessary work
|
|
||||||
if (!(stripos($text, '<tex') or stripos($text, '$$'))) {
|
|
||||||
return $text;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isadmin()) { error_reporting (E_ALL); }; //for debugging
|
|
||||||
|
|
||||||
// <TEX> some general TeX expression </TEX>
|
|
||||||
preg_match_all('/<tex>(.+?)<\/tex>/is', $text, $matches);
|
|
||||||
for ($i=0; $i<count($matches[0]); $i++) {
|
|
||||||
$pipe = texh_pipe_cmd("hevea",$matches[1][$i]); // take the content only (non-math TeX expected)
|
|
||||||
$text = str_replace( $matches[0][$i], $pipe, $text);
|
|
||||||
}
|
|
||||||
|
|
||||||
// $$ some MATHEMATICAL TeX expression $$
|
|
||||||
preg_match_all('/\$\$(.+?)\$\$/', $text, $matches);
|
|
||||||
for ($i=0; $i<count($matches[0]); $i++) {
|
|
||||||
$pipe = texh_pipe_cmd("hevea",$matches[0][$i]); // take everything since the $$ is part of the TeX syntax for math
|
|
||||||
$text = str_replace( $matches[0][$i], $pipe, $text);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $text;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Various Notes and Possibilities for Developers only:
|
|
||||||
|
|
||||||
// Note to self: the following did not work consistently:
|
|
||||||
// $text = preg_replace('/\$\$(.*?)\$\$/', texh_pipe_cmd('hevea',"\\$0"), $text);
|
|
||||||
// whereas this seems to work consistently:
|
|
||||||
// $text = str_replace( $matches[0][$i], texh_pipe_cmd("hevea",$matches[0][$i]), $text);
|
|
||||||
|
|
||||||
|
|
||||||
// TODO:
|
|
||||||
//
|
|
||||||
// - user-friendly guide to inputting TeX (at least enough for up to high school level math)
|
|
||||||
// - caveat regarding square-roots and roots being converted to fractional exponents
|
|
||||||
// - integrate memaid http://memaid.sourceforge.net
|
|
||||||
// - compile a list of useful shortcuts and shorthands worth doing here
|
|
||||||
|
|
||||||
|
|
||||||
// future possibilities
|
|
||||||
// $text = str_replace("my_marks", "my marks are ...%", $text); // insert SQL/php_function results here
|
|
||||||
// $text = str_replace("my_uptime", "uptime: ". shell_exec("/usr/bin/uptime") , $text); // a shortcut to a safe system call
|
|
||||||
// $text = preg_replace("/vernier/", "Mr. Bruno Vernier" , $text); // a shortcut expanded
|
|
||||||
|
|
||||||
// Version 0.1 Jan 24,2004
|
|
||||||
|
|
||||||
?>
|
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user