Page MenuHomeWickedGov Phorge

BaseChecker.php
No OneTemporary

Size
2 KB
Referenced Files
None
Subscribers
None

BaseChecker.php

<?php
namespace MediaWiki\Extension\Math\InputCheck;
use MediaWiki\Extension\Math\MathConfig;
use MediaWiki\MediaWikiServices;
use MediaWiki\Message\Message;
use stdClass;
/**
* MediaWiki math extension
*
* @copyright 2002-2014 Tomasz Wegrzanowski, Brion Vibber, Moritz Schubotz,
* and other MediaWiki contributors
* @license GPL-2.0-or-later
* @author Moritz Schubotz
*/
abstract class BaseChecker {
protected string $inputTeX;
protected ?string $validTeX = null;
/** @var bool */
protected $isValid = false;
protected bool $purge = false;
/**
* @param string $tex the TeX InputString to be checked
* @param bool $purge if true, the cache will be purged
*/
public function __construct( $tex = '', bool $purge = false ) {
$this->inputTeX = $tex;
$this->purge = $purge;
$this->isValid = false;
}
/**
* Returns true if the TeX input String is valid
* @return bool
*/
public function isValid() {
return $this->isValid;
}
/**
* Returns the string of the last error.
* @return ?Message
*/
abstract public function getError(): ?Message;
/**
* Some TeX checking programs may return
* a modified tex string after having checked it.
* You can get the altered tex string with this method
* @return ?string A valid Tex string
*/
public function getValidTex(): ?string {
return $this->validTeX;
}
public function setPurge( bool $purge ) {
$this->purge = $purge;
}
/**
* @see https://phabricator.wikimedia.org/T119300
* @param stdClass $e
* @param string $host
* @return Message
*/
protected function errorObjectToMessage( stdClass $e, $host = 'invalid' ): Message {
if ( isset( $e->error->message ) ) {
if ( $e->error->message === 'Illegal TeX function' ) {
return Message::newFromKey( 'math_unknown_function', $e->error->found );
} elseif ( preg_match( '/Math extension/', $e->error->message ) ) {
// TODO: inject once checker is refactored more
$mode = MediaWikiServices::getInstance()
->get( 'Math.Config' )
->getRenderingModeName( MathConfig::MODE_MATHML );
$msg = $e->error->message;
return Message::newFromKey( 'math_invalidresponse', $mode, $host, $msg );
}
return Message::newFromKey( 'math_syntax_error' );
}
return Message::newFromKey( 'math_unknown_error' );
}
}

File Metadata

Mime Type
text/x-php
Expires
Wed, Aug 19, 13:28 (3 w, 3 d ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
0b/21/8c0fa0c57f26be8a839fddf1ce35
Default Alt Text
BaseChecker.php (2 KB)

Event Timeline