Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F4135919
BaseChecker.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
BaseChecker.php
View Options
<?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
Details
Attached
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)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment