Update INSTALL info a bit, remove old experimental texvc.phtml

This commit is contained in:
Brion Vibber 2004-12-03 11:18:16 +00:00
parent dad39a0317
commit c9cd39df37
2 changed files with 14 additions and 167 deletions

16
INSTALL
View file

@ -14,6 +14,13 @@ Required software:
* A MySQL server. 4.0.x is preferred, but 3.2.x should * A MySQL server. 4.0.x is preferred, but 3.2.x should
work as well. 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 MediaWiki is developed and tested mainly on Unix/Linux
platforms, but should work on Windows as well. 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 of what you're doing!) and keep track of major changes to the
software, including performance improvements and security patches. 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)

View file

@ -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>