Update INSTALL info a bit, remove old experimental texvc.phtml
This commit is contained in:
parent
dad39a0317
commit
c9cd39df37
2 changed files with 14 additions and 167 deletions
16
INSTALL
16
INSTALL
|
|
@ -14,6 +14,13 @@ Required software:
|
|||
* A MySQL server. 4.0.x is preferred, but 3.2.x should
|
||||
work as well.
|
||||
|
||||
WARNING: MySQL 4.1 and later have introduced several
|
||||
incompatibilities with old client software (such as most
|
||||
available PHP installations). You may have problems with
|
||||
a mixed configuration. For details, please see:
|
||||
|
||||
http://dev.mysql.com/doc/mysql/en/Old_client.html
|
||||
|
||||
MediaWiki is developed and tested mainly on Unix/Linux
|
||||
platforms, but should work on Windows as well.
|
||||
|
||||
|
|
@ -73,7 +80,12 @@ provide enough information to work with, and preferably be aware
|
|||
of what you're doing!) and keep track of major changes to the
|
||||
software, including performance improvements and security patches.
|
||||
|
||||
http://mail.wikipedia.org/mailman/listinfo/mediawiki-l (site admin support)
|
||||
http://mail.wikipedia.org/mailman/listinfo/mediawiki-announce
|
||||
(low traffic, announcements only)
|
||||
|
||||
http://mail.wikipedia.org/mailman/listinfo/wikitech-l (development)
|
||||
http://mail.wikipedia.org/mailman/listinfo/mediawiki-l
|
||||
(announcements and site admin support)
|
||||
|
||||
http://mail.wikipedia.org/mailman/listinfo/wikitech-l
|
||||
(development)
|
||||
|
||||
|
|
|
|||
165
texvc.phtml
165
texvc.phtml
|
|
@ -1,165 +0,0 @@
|
|||
<?php
|
||||
include( "./LocalSettings.php" );
|
||||
include( "Setup.php" );
|
||||
header( "Content-type: text/xml; charset={$wgInputEncoding}" );
|
||||
print "<";
|
||||
print "?xml version=\"1.0\" encoding=\"utf-8\"?";
|
||||
print ">";
|
||||
?>
|
||||
<!DOCTYPE html
|
||||
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>texvc</title></head><body>
|
||||
<?php
|
||||
print "<form method=\"post\" action=\"{$wgServer}{$wgScriptPath}/texvc_cgi.phtml\">"
|
||||
?>
|
||||
<textarea name='math' rows='10' cols='80'><?php
|
||||
global $math;
|
||||
$math = preg_replace ("/\\\\\\\\/", '\\', $math);
|
||||
print $math;
|
||||
?></textarea><br /><input type="submit" value="Preview" name="preview" /></form>
|
||||
<?php
|
||||
function xlinkToMathImage ( $tex, $outputhash )
|
||||
{
|
||||
global $wgMathPath;
|
||||
return "<img src=\"".$wgMathPath."/".$outputhash.".png\" alt=\"".wfEscapeHTML($tex)."\" />";
|
||||
}
|
||||
|
||||
function texvc_cgi_renderMath( $tex )
|
||||
{
|
||||
global $wgMathDirectory, $wgTmpDirectory, $wgInputEncoding;
|
||||
$dbr =& wfGetDB( DB_SLAVE );
|
||||
$mf = wfMsg( "math_failure" );
|
||||
$munk = wfMsg( "math_unknown_error" );
|
||||
|
||||
$image = "";
|
||||
$outhtml = "";
|
||||
$outtex = "";
|
||||
|
||||
$fname = "texvc_cgi_renderMath";
|
||||
|
||||
$md5 = md5($tex);
|
||||
$md5_sql = pack("H32", $md5);
|
||||
|
||||
$mathTable = $dbr->tableName( 'math' );
|
||||
$rpage = $dbr->selectRow( 'math', array('math_outputhash','math_html_conservativeness','math_html','math_mathml'),
|
||||
array( 'math_inputhash' => $md5_sql ) );
|
||||
|
||||
if ( $rpage === false )
|
||||
{
|
||||
$cmd = "./math/texvc ".wfEscapeShellArg($wgTmpDirectory)." ".
|
||||
wfEscapeShellArg($wgMathDirectory)." ".wfEscapeShellArg($tex)." ".wfEscapeShellArg($wgInputEncoding);
|
||||
$contents = `$cmd`;
|
||||
|
||||
if (strlen($contents) == 0)
|
||||
return "<h3>".$mf." (".$munk."): ".wfEscapeHTML($tex)."</h3>";
|
||||
$retval = substr ($contents, 0, 1);
|
||||
|
||||
if (($retval == "C") || ($retval == "M") || ($retval == "L")) {
|
||||
if ($retval == "C")
|
||||
$conservativeness = 2;
|
||||
else if ($retval == "M")
|
||||
$conservativeness = 1;
|
||||
else
|
||||
$conservativeness = 0;
|
||||
$outdata = substr ($contents, 33);
|
||||
|
||||
$i = strpos($outdata, "\000");
|
||||
|
||||
$outhtml = substr($outdata, 0, $i);
|
||||
$mathml = substr($outdata, $i+1);
|
||||
|
||||
#$sql_html = "'".mysql_escape_string($outhtml)."'";
|
||||
#$sql_mathml = "'".mysql_escape_string($mathml)."'";
|
||||
} else if (($retval == "c") || ($retval == "m") || ($retval == "l")) {
|
||||
$outhtml = substr ($contents, 33);
|
||||
if ($retval == "c")
|
||||
$conservativeness = 2;
|
||||
else if ($retval == "m")
|
||||
$conservativeness = 1;
|
||||
else
|
||||
$conservativeness = 0;
|
||||
#$sql_html = "'".mysql_escape_string($outhtml)."'";
|
||||
$mathml = NULL;
|
||||
#$sql_mathml = 'NULL';
|
||||
} else if ($retval == "X") {
|
||||
$outhtml = NULL;
|
||||
$mathml = substr ($contents, 33);
|
||||
#$sql_html = 'NULL';
|
||||
#$sql_mathml = "'".mysql_escape_string($mathml)."'";
|
||||
$conservativeness = 0;
|
||||
} else if ($retval == "+") {
|
||||
$outhtml = NULL;
|
||||
$mathml = NULL;
|
||||
#$sql_html = 'NULL';
|
||||
#$sql_mathml = 'NULL';
|
||||
$conservativeness = 0;
|
||||
} else {
|
||||
if ($retval == "E")
|
||||
$errmsg = wfMsg( "math_lexing_error" );
|
||||
else if ($retval == "S")
|
||||
$errmsg = wfMsg( "math_syntax_error" );
|
||||
else if ($retval == "F")
|
||||
$errmsg = wfMsg( "math_unknown_function" );
|
||||
else
|
||||
$errmsg = $munk;
|
||||
return "<h3>".$mf." (".$errmsg.substr($contents, 1)."): ".wfEscapeHTML($tex)."</h3>";
|
||||
}
|
||||
|
||||
$outmd5 = substr ($contents, 1, 32);
|
||||
if (!preg_match("/^[a-f0-9]{32}$/", $outmd5))
|
||||
return "<h3>".$mf." (".$munk."): ".wfEscapeHTML($tex)."</h3>";
|
||||
|
||||
$outmd5_sql = pack("H32", $outmd5);
|
||||
|
||||
# Someone may have inserted the same hash since the SELECT, but that's no big deal, just ignore errors
|
||||
$dbw =& wfGetDB( DB_MASTER );
|
||||
$dbw->insert( 'math',
|
||||
array(
|
||||
'math_inputhash' => $md5_sql,
|
||||
'math_outputhash' => $outmd5_sql,
|
||||
'math_html_conservativeness' => $conservativeness,
|
||||
'math_html' => $outhtml,
|
||||
'math_mathml' => $mathml,
|
||||
), $fname, array( 'IGNORE' )
|
||||
);
|
||||
|
||||
// we don't really care if it fails
|
||||
} else {
|
||||
$outmd5 = unpack ("H32md5", $rpage->math_outputhash);
|
||||
$outmd5 = $outmd5 ['md5'];
|
||||
$outhtml = $rpage->math_html;
|
||||
$conservativeness = $rpage->math_html_conservativeness;
|
||||
$mathml = $rpage->math_mathml;
|
||||
}
|
||||
if ( is_null( $mathml ) || $mathml === '' )
|
||||
$mathml = "<h3>Failed to generate MathML</h3>";
|
||||
else
|
||||
$mathml = "<h3>MathML</h3><math xmlns=\"http://www.w3.org/1998/Math/MathML\">$mathml</math>";
|
||||
$image = "<h3>Image</h3>" . xlinkToMathImage ( $tex, $outmd5 );
|
||||
$cmd = "./math/texvc_tex ".escapeshellarg($tex)." ".escapeshellarg($wgInputEncoding);
|
||||
$outtex = `$cmd`;
|
||||
|
||||
if ( is_null( $outhtml ) || $outhtml === '' )
|
||||
$outhtml = "<h3>Failed to generate HTML</h3>";
|
||||
else
|
||||
if ( $conservativeness == 2)
|
||||
$outhtml = "<h3>HTML (conservative)</h3>" . $outhtml;
|
||||
else if ( $conservativeness == 1)
|
||||
$outhtml = "<h3>HTML (moderate)</h3>" . $outhtml;
|
||||
else
|
||||
$outhtml = "<h3>HTML (liberal)</h3>" . $outhtml;
|
||||
|
||||
if ( $outtex == '' )
|
||||
$outtex = "<h3>Failed to generate TeX</h3>";
|
||||
else
|
||||
$outtex = "<h3>TeX</h3>" . wfEscapeHTML($outtex);
|
||||
|
||||
return $outtex . $outhtml . $mathml . $image;
|
||||
}
|
||||
|
||||
global $math;
|
||||
if ($math != '')
|
||||
print texvc_cgi_renderMath($math);
|
||||
?>
|
||||
</body></html>
|
||||
Loading…
Reference in a new issue