mediawiki-extensions-Math/MathSource.php
physikerwelt bf33d51320 Add separate database table for LaTeXML (step 3)
Currently the PNG and the LaTeXML rendering mode
use a common table in the database. If both rendering
modes are allowed in a wiki simultaneously this causes
problems, because the fields are continuously overwritten.

This change adds the method getMathTableName that will
allow renderers to access their specific table in the
database.

Change-Id: I8b11ffd0a39fadd7d3c8de1e94e74ff5f490430d
2014-05-27 05:33:20 +00:00

53 lines
1.3 KiB
PHP

<?php
/**
* MediaWiki math extension
*
* (c) 2002-2012 Tomasz Wegrzanowski, Brion Vibber, Moritz Schubotz and other MediaWiki contributors
* GPLv2 license; info in main package.
*
* Contains everything related to <math> </math> parsing
* @file
*/
/**
* Takes LaTeX fragments and outputs the source directly to the browser
*
* @author Tomasz Wegrzanowski
* @author Brion Vibber
* @author Moritz Schubotz
* @ingroup Parser
*/
class MathSource extends MathRenderer {
/**
* Renders TeX by outputting it to the browser in a span tag
*
* @return string span tag with TeX
*/
function render() {
# No need to render or parse anything more!
# New lines are replaced with spaces, which avoids confusing our parser (bugs 23190, 22818)
if ( $this->getMathStyle() == MW_MATHSTYLE_DISPLAY ) {
$class = 'mwe-math-fallback-source-display';
} else {
$class = 'mwe-math-fallback-source-inline';
}
return Xml::element( 'span',
$this->getAttributes(
'span',
array(
// the former class name was 'tex'
// for backwards compatibility we keep this classname
'class' => $class. ' tex',
'dir' => 'ltr'
)
),
'$ ' . str_replace( "\n", " ", $this->getTex() ) . ' $'
);
}
protected function getMathTableName() {
throw new MWException ( 'in math source mode no database caching should happen');
}
}