}
$retval = substr ($contents, 0, 1);
+ $errmsg = '';
if (($retval == 'C') || ($retval == 'M') || ($retval == 'L')) {
if ($retval == 'C')
$this->conservativeness = 2;
} else {
$errbit = htmlspecialchars( substr($contents, 1) );
switch( $retval ) {
- case 'E': return $this->_error( 'math_lexing_error', $errbit );
- case 'S': return $this->_error( 'math_syntax_error', $errbit );
- case 'F': return $this->_error( 'math_unknown_function', $errbit );
- default: return $this->_error( 'math_unknown_error', $errbit );
+ case 'E': $errmsg = $this->_error( 'math_lexing_error', $errbit );
+ case 'S': $errmsg = $this->_error( 'math_syntax_error', $errbit );
+ case 'F': $errmsg = $this->_error( 'math_unknown_function', $errbit );
+ default: $errmsg = $this->_error( 'math_unknown_error', $errbit );
}
}
- $this->hash = substr ($contents, 1, 32);
+ if ( !$errmsg ) {
+ $this->hash = substr ($contents, 1, 32);
+ }
+
+ $res = wfRunHooks( 'MathAfterTexvc', array( &$this, &$errmsg ) );
+
+ if ( $errmsg ) {
+ return $errmsg;
+ }
+
if (!preg_match("/^[a-f0-9]{32}$/", $this->hash)) {
return $this->_error( 'math_unknown_error' );
}
function _error( $msg, $append = '' ) {
$mf = htmlspecialchars( wfMsg( 'math_failure' ) );
- $munk = htmlspecialchars( wfMsg( 'math_unknown_error' ) );
$errmsg = htmlspecialchars( wfMsg( $msg ) );
$source = htmlspecialchars( str_replace( "\n", ' ', $this->tex ) );
return "<strong class='error'>$mf ($errmsg$append): $source</strong>\n";
return $path;
}
-
-}
-
-function renderMath( $tex ) {
- global $wgUser;
- $math = new MathRenderer( $tex );
- $math->setOutputMode( $wgUser->getOption('math'));
- return $math->render();
+ public static function renderMath( $tex ) {
+ global $wgUser;
+ $math = new MathRenderer( $tex );
+ $math->setOutputMode( $wgUser->getOption('math'));
+ return $math->render();
+ }
}
-
?>