MediaWiki  REL1_31
ApiErrorFormatter Class Reference

Formats errors and warnings for the API, and add them to the associated ApiResult. More...

Inheritance diagram for ApiErrorFormatter:
Collaboration diagram for ApiErrorFormatter:

Public Member Functions

 __construct (ApiResult $result, Language $lang, $format, $useDB=false)
 
 addError ( $modulePath, $msg, $code=null, $data=null)
 Add an error to the result. More...
 
 addMessagesFromStatus ( $modulePath, StatusValue $status, $types=[ 'warning', 'error'])
 Add warnings and errors from a StatusValue object to the result. More...
 
 addWarning ( $modulePath, $msg, $code=null, $data=null)
 Add a warning to the result. More...
 
 arrayFromStatus (StatusValue $status, $type='error', $format=null)
 Format messages from a StatusValue as an array. More...
 
 formatException ( $exception, array $options=[])
 Format an exception as an array. More...
 
 formatMessage ( $msg, $format=null)
 Format a message as an array. More...
 
 getLanguage ()
 Fetch the Language for this formatter. More...
 
 getMessageFromException ( $exception, array $options=[])
 Get an ApiMessage from an exception. More...
 

Static Public Member Functions

static stripMarkup ( $text)
 Turn wikitext into something resembling plaintext. More...
 

Protected Member Functions

 addWarningOrError ( $tag, $modulePath, $msg)
 Actually add the warning or error to the result. More...
 
 formatMessageInternal ( $msg, $format)
 Format a message as an array. More...
 
 getDummyTitle ()
 Fetch a dummy title to set on Messages. More...
 

Protected Attributes

 $format = 'none'
 
Language $lang
 
ApiResult $result
 
 $useDB = false
 

Private Member Functions

 formatRawMessage (MessageSpecifier $msg)
 Format a Message object for raw format. More...
 

Static Private Attributes

static Title $dummyTitle = null
 Dummy title to silence warnings from MessageCache::parse() More...
 

Detailed Description

Formats errors and warnings for the API, and add them to the associated ApiResult.

Since
1.25

Definition at line 30 of file ApiErrorFormatter.php.

Constructor & Destructor Documentation

◆ __construct()

ApiErrorFormatter::__construct ( ApiResult  $result,
Language  $lang,
  $format,
  $useDB = false 
)
Parameters
ApiResult$resultInto which data will be added
Language$langUsed for i18n
string$format
  • plaintext: Error message as something vaguely like plaintext (it's basically wikitext with HTML tags stripped and entities decoded)
  • wikitext: Error message as wikitext
  • html: Error message as HTML
  • raw: Raw message key and parameters, no human-readable text
  • none: Code and data only, no human-readable text
bool$useDBWhether to use local translations for errors and warnings.

Definition at line 54 of file ApiErrorFormatter.php.

References $format, $lang, $result, $useDB, and format.

Member Function Documentation

◆ addError()

ApiErrorFormatter::addError (   $modulePath,
  $msg,
  $code = null,
  $data = null 
)

Add an error to the result.

Parameters
string | null$modulePath
Message | array | string$msgWarning message. See ApiMessage::create().
string | null$codeSee ApiMessage::create().
array | null$dataSee ApiMessage::create().

Definition at line 103 of file ApiErrorFormatter.php.

References $code, addWarningOrError(), ApiMessage\create(), and getDummyTitle().

◆ addMessagesFromStatus()

ApiErrorFormatter::addMessagesFromStatus (   $modulePath,
StatusValue  $status,
  $types = [ 'warning',
'error']   
)

Add warnings and errors from a StatusValue object to the result.

Parameters
string | null$modulePath
StatusValue$status
string[] | string$types'warning' and/or 'error'

Definition at line 117 of file ApiErrorFormatter.php.

References addWarningOrError(), array(), as, ApiMessage\create(), and getDummyTitle().

◆ addWarning()

ApiErrorFormatter::addWarning (   $modulePath,
  $msg,
  $code = null,
  $data = null 
)

Add a warning to the result.

Parameters
string | null$modulePath
Message | array | string$msgWarning message. See ApiMessage::create().
string | null$codeSee ApiMessage::create().
array | null$dataSee ApiMessage::create().

Definition at line 88 of file ApiErrorFormatter.php.

References $code, addWarningOrError(), ApiMessage\create(), and getDummyTitle().

◆ addWarningOrError()

ApiErrorFormatter::addWarningOrError (   $tag,
  $modulePath,
  $msg 
)
protected

Actually add the warning or error to the result.

Parameters
string$tag'warning' or 'error'
string | null$modulePath
ApiMessage | ApiRawMessage$msg

Reimplemented in ApiErrorFormatter_BackCompat.

Definition at line 339 of file ApiErrorFormatter.php.

References $path, $value, ApiResult\ADD_ON_TOP, format, formatMessageInternal(), and ApiResult\NO_SIZE_CHECK.

Referenced by addError(), addMessagesFromStatus(), and addWarning().

◆ arrayFromStatus()

ApiErrorFormatter::arrayFromStatus ( StatusValue  $status,
  $type = 'error',
  $format = null 
)

Format messages from a StatusValue as an array.

Parameters
StatusValue$status
string$type'warning' or 'error'
string | null$format
Returns
array

Reimplemented in ApiErrorFormatter_BackCompat.

Definition at line 231 of file ApiErrorFormatter.php.

References $format, $type, array(), and format.

◆ formatException()

ApiErrorFormatter::formatException (   $exception,
array  $options = [] 
)

Format an exception as an array.

Since
1.29
Parameters
Exception | Throwable$exception
array$optionsSee self::getMessageFromException(), plus
  • format: (string) Format override
Returns
array

Reimplemented in ApiErrorFormatter_BackCompat.

Definition at line 203 of file ApiErrorFormatter.php.

References $options, formatMessage(), and getMessageFromException().

◆ formatMessage()

ApiErrorFormatter::formatMessage (   $msg,
  $format = null 
)

Format a message as an array.

Parameters
Message | array | string$msgMessage. See ApiMessage::create().
string | null$format
Returns
array

Definition at line 216 of file ApiErrorFormatter.php.

References $format, ApiMessage\create(), format, formatMessageInternal(), and getDummyTitle().

Referenced by formatException().

◆ formatMessageInternal()

ApiErrorFormatter::formatMessageInternal (   $msg,
  $format 
)
protected

Format a message as an array.

Since
1.29
Parameters
ApiMessage | ApiRawMessage$msg
string | null$format
Returns
array

Reimplemented in ApiErrorFormatter_BackCompat.

Definition at line 293 of file ApiErrorFormatter.php.

References $format, $value, formatRawMessage(), ApiResult\META_CONTENT, ApiResult\META_TYPE, and stripMarkup().

Referenced by addWarningOrError(), and formatMessage().

◆ formatRawMessage()

ApiErrorFormatter::formatRawMessage ( MessageSpecifier  $msg)
private

Format a Message object for raw format.

Parameters
MessageSpecifier$msg
Returns
array

Definition at line 270 of file ApiErrorFormatter.php.

References $ret, as, MessageSpecifier\getKey(), MessageSpecifier\getParams(), and ApiResult\setIndexedTagName().

Referenced by formatMessageInternal().

◆ getDummyTitle()

ApiErrorFormatter::getDummyTitle ( )
protected

Fetch a dummy title to set on Messages.

Returns
Title

Definition at line 74 of file ApiErrorFormatter.php.

References $dummyTitle, Title\makeTitle(), and NS_SPECIAL.

Referenced by addError(), addMessagesFromStatus(), addWarning(), formatMessage(), and getMessageFromException().

◆ getLanguage()

ApiErrorFormatter::getLanguage ( )

Fetch the Language for this formatter.

Since
1.29
Returns
Language

Definition at line 66 of file ApiErrorFormatter.php.

References $lang.

◆ getMessageFromException()

ApiErrorFormatter::getMessageFromException (   $exception,
array  $options = [] 
)

Get an ApiMessage from an exception.

Since
1.29
Parameters
Exception | Throwable$exception
array$options
  • wrap: (string|array|MessageSpecifier) Used to wrap the exception's message if it's not an ILocalizedException. The exception's message will be added as the final parameter.
  • code: (string) Default code
  • data: (array) Default extra data
Returns
IApiMessage

Definition at line 157 of file ApiErrorFormatter.php.

References $options, $params, ApiMessage\create(), getDummyTitle(), Message\newFromSpecifier(), and wfEscapeWikiText().

Referenced by formatException().

◆ stripMarkup()

static ApiErrorFormatter::stripMarkup (   $text)
static

Member Data Documentation

◆ $dummyTitle

Title ApiErrorFormatter::$dummyTitle = null
staticprivate

Dummy title to silence warnings from MessageCache::parse()

Definition at line 32 of file ApiErrorFormatter.php.

Referenced by getDummyTitle().

◆ $format

ApiErrorFormatter::$format = 'none'
protected

◆ $lang

Language ApiErrorFormatter::$lang
protected

Definition at line 38 of file ApiErrorFormatter.php.

Referenced by __construct(), and getLanguage().

◆ $result

ApiResult ApiErrorFormatter::$result
protected

◆ $useDB

ApiErrorFormatter::$useDB = false
protected

Definition at line 39 of file ApiErrorFormatter.php.

Referenced by __construct().


The documentation for this class was generated from the following file: