MediaWiki  1.23.2
ApiFormatBase Class Reference

This is the abstract base class for API formatters. More...

Inheritance diagram for ApiFormatBase:
Collaboration diagram for ApiFormatBase:

Public Member Functions

 __construct ( $main, $format)
 Constructor If $format ends with 'fm', pretty-print the output in HTML. More...
 
 canPrintErrors ()
 Whether this formatter can handle printing API errors. More...
 
else closePrinter ()
 Finish printing. More...
 
 disable ()
 Disable the formatter completely. More...
 
 getBuffer ()
 Get the contents of the buffer. More...
 
 getDescription ()
 Returns the description string for this module. More...
 
 getExamples ()
 Returns usage examples for this module. More...
 
 getFormat ()
 Get the internal format name. More...
 
 getHelpUrls ()
 
 getIsHtml ()
 Returns true when the HTML pretty-printer should be used. More...
 
 getMimeType ()
 Overriding class returns the mime type that should be sent to the client. More...
 
 getNeedsRawData ()
 Whether this formatter needs raw data such as _element tags. More...
 
 getWantsHelp ()
 Whether this formatter can format the help message in a nice way. More...
 
 initPrinter ( $isHelpScreen)
 Initialize the printer function and prepare the output headers, etc. More...
 
 isDisabled ()
 
 printText ( $text)
 The main format printing function. More...
 
 setBufferResult ( $value)
 Set the flag to buffer the result instead of printing it. More...
 
 setHelp ( $help=true)
 Sets whether the pretty-printer should format bold More...
 
 setUnescapeAmps ( $b)
 Specify whether or not sequences like " should be unescaped to " . More...
 
- Public Member Functions inherited from ApiBase
 __construct ( $mainModule, $moduleName, $modulePrefix='')
 Constructor. More...
 
 createContext ()
 Create a new RequestContext object to use e.g. More...
 
 dieReadOnly ()
 Helper function for readonly errors. More...
 
 dieStatus ( $status)
 Throw a UsageException based on the errors in the Status object. More...
 
 dieUsage ( $description, $errorCode, $httpRespCode=0, $extradata=null)
 Throw a UsageException, which will (if uncaught) call the main module's error handler and die with an error message. More...
 
 dieUsageMsg ( $error)
 Output the error message related to a certain array. More...
 
 dieUsageMsgOrDebug ( $error)
 Will only set a warning instead of failing if the global $wgDebugAPI is set to true. More...
 
 encodeParamName ( $paramName)
 This method mangles parameter name based on the prefix supplied to the constructor. More...
 
 execute ()
 Evaluates the parameters, performs the requested query, and sets up the result. More...
 
 extractRequestParams ( $parseLimit=true)
 Using getAllowedParams(), this function makes an array of the values provided by the user, with key being the name of the variable, and value - validated value from user or default. More...
 
 getCustomPrinter ()
 If the module may only be used with a certain format module, it should override this method to return an instance of that formatter. More...
 
 getErrorFromStatus ( $status)
 Get error (as code, string) from a Status object. More...
 
 getFinalDescription ()
 Get final module description, after hooks have had a chance to tweak it as needed. More...
 
 getFinalParamDescription ()
 Get final parameter descriptions, after hooks have had a chance to tweak it as needed. More...
 
 getFinalParams ( $flags=0)
 Get final list of parameters, after hooks have had a chance to tweak it as needed. More...
 
 getFinalPossibleErrors ()
 Get final list of possible errors, after hooks have had a chance to tweak it as needed. More...
 
 getFinalResultProperties ()
 Get final possible result properties, after hooks have had a chance to tweak it as needed. More...
 
 getMain ()
 Get the main module. More...
 
 getModuleManager ()
 Get the module manager, or null if this module has no sub-modules. More...
 
 getModuleName ()
 Get the name of the module being executed by this instance. More...
 
 getModulePrefix ()
 Get parameter prefix (usually two letters or an empty string). More...
 
 getModuleProfileName ( $db=false)
 Get the name of the module as shown in the profiler log. More...
 
 getPossibleErrors ()
 Returns a list of all possible errors returned by the module. More...
 
 getProfileDBTime ()
 Total time the module used the database. More...
 
 getProfileTime ()
 Total time the module was executed. More...
 
 getRequireAtLeastOneParameterErrorMessages ( $params)
 Generates the possible errors requireAtLeastOneParameter() can die with. More...
 
 getRequireMaxOneParameterErrorMessages ( $params)
 Generates the possible error requireMaxOneParameter() can die with. More...
 
 getRequireOnlyOneParameterErrorMessages ( $params)
 Generates the possible errors requireOnlyOneParameter() can die with. More...
 
 getResult ()
 Get the result object. More...
 
 getResultData ()
 Get the result data array (read-only) More...
 
 getTitleOrPageId ( $params, $load=false)
 
 getTitleOrPageIdErrorMessage ()
 
 getTokenSalt ()
 Returns the token salt if there is one, '' if the module doesn't require a salt, else false if the module doesn't need a token You have also to override needsToken() Value is passed to User::getEditToken. More...
 
 getVersion ()
 Returns a string that identifies the version of the extending class. More...
 
 getWatchlistUser ( $params)
 Gets the user for whom to get the watchlist. More...
 
 isMain ()
 Returns true if this module is the main module ($this === $this->mMainModule), false otherwise. More...
 
 isReadMode ()
 Indicates whether this module requires read rights. More...
 
 isWriteMode ()
 Indicates whether this module requires write mode. More...
 
 makeHelpMsg ()
 Generates help message for this module, or false if there is no description. More...
 
 makeHelpMsgParameters ()
 Generates the parameter descriptions for this module, to be displayed in the module's help. More...
 
 mustBePosted ()
 Indicates whether this module must be called with a POST request. More...
 
 needsToken ()
 Returns whether this module requires a token to execute It is used to show possible errors in action=paraminfo see bug 25248. More...
 
 parseErrors ( $errors)
 Parses a list of errors into a standardised format. More...
 
 parseMsg ( $error)
 Return the error message related to a certain array. More...
 
 profileDBIn ()
 Start module profiling. More...
 
 profileDBOut ()
 End database profiling. More...
 
 profileIn ()
 Start module profiling. More...
 
 profileOut ()
 End module profiling. More...
 
 requireAtLeastOneParameter ( $params)
 Die if none of a certain set of parameters is set and not false. More...
 
 requireMaxOneParameter ( $params)
 Die if more than one of a certain set of parameters is set and not false. More...
 
 requireOnlyOneParameter ( $params)
 Die if none or more than one of a certain set of parameters is set and not false. More...
 
 safeProfileOut ()
 When modules crash, sometimes it is needed to do a profileOut() regardless of the profiling state the module was in. More...
 
 setWarning ( $warning)
 Set warning section for this module. More...
 
 shouldCheckMaxlag ()
 Indicates if this module needs maxlag to be checked. More...
 
 validateLimit ( $paramName, &$value, $min, $max, $botMax=null, $enforceLimits=false)
 Validate the value against the minimum and user/bot maximum limits. More...
 
 validateTimestamp ( $value, $encParamName)
 Validate and normalize of parameters of type 'timestamp'. More...
 
- Public Member Functions inherited from ContextSource
 canUseWikiPage ()
 Check whether a WikiPage object can be get with getWikiPage(). More...
 
 exportSession ()
 Export the resolved user IP, HTTP headers, user ID, and session ID. More...
 
 getConfig ()
 Get the Config object. More...
 
 getContext ()
 Get the RequestContext object. More...
 
 getLang ()
 Get the Language object. More...
 
 getLanguage ()
 Get the Language object. More...
 
 getOutput ()
 Get the OutputPage object. More...
 
 getRequest ()
 Get the WebRequest object. More...
 
 getSkin ()
 Get the Skin object. More...
 
 getTitle ()
 Get the Title object. More...
 
 getUser ()
 Get the User object. More...
 
 getWikiPage ()
 Get the WikiPage object. More...
 
 msg ()
 Get a Message object with context set Parameters are the same as wfMessage() More...
 
 setContext (IContextSource $context)
 Set the IContextSource object. More...
 

Public Attributes

 $mBuffer
 
 $mCleared
 
 $mDisabled = false
 
 $mFormat
 
 $mHelp
 
 $mUnescapeAmps
 
- Public Attributes inherited from ApiBase
 $mDBTime = 0
 
 $mModuleName
 
 $mModulePrefix
 
 $mModuleTime = 0
 
const GET_VALUES_FOR_HELP = 1
 getAllowedParams() flag: When set, the result could take longer to generate, but should be more thorough. More...
 
const LIMIT_BIG1 = 500
 
const LIMIT_BIG2 = 5000
 
const LIMIT_SML1 = 50
 
const LIMIT_SML2 = 500
 
const PARAM_ALLOW_DUPLICATES = 6
 
const PARAM_DEPRECATED = 7
 
const PARAM_DFLT = 0
 
const PARAM_ISMULTI = 1
 
const PARAM_MAX = 3
 
const PARAM_MAX2 = 4
 
const PARAM_MIN = 5
 
const PARAM_RANGE_ENFORCE = 9
 
const PARAM_REQUIRED = 8
 
const PARAM_TYPE = 2
 
const PROP_LIST = 'LIST'
 
const PROP_NULLABLE = 1
 
const PROP_ROOT = 'ROOT'
 
const PROP_TYPE = 0
 

Protected Member Functions

 formatHTML ( $text)
 Pretty-print various elements in HTML format, such as xml tags and URLs. More...
 
- Protected Member Functions inherited from ApiBase
 dieContinueUsageIf ( $condition)
 Die with the $prefix. More...
 
 getAllowedParams ()
 Returns an array of allowed parameters (parameter name) => (default value) or (parameter name) => (array with PARAM_* constants as keys) Don't call this function directly: use getFinalParams() to allow hooks to modify parameters as needed. More...
 
 getDB ()
 Gets a default slave database connection object. More...
 
 getParamDescription ()
 Returns an array of parameter descriptions. More...
 
 getParameter ( $paramName, $parseLimit=true)
 Get a value for the given parameter. More...
 
 getParameterFromSettings ( $paramName, $paramSettings, $parseLimit)
 Using the settings determine the value for the given parameter. More...
 
 getResultProperties ()
 Returns possible properties in the result, grouped by the value of the prop parameter that shows them. More...
 
 getWatchlistValue ( $watchlist, $titleObj, $userOption=null)
 Return true if we're to watch the page, false if not, null if no change. More...
 
 makeHelpArrayToString ( $prefix, $title, $input)
 
 parseMultiValue ( $valueName, $value, $allowMultiple, $allowedValues)
 Return an array of values that were given in a 'a|b|c' notation, after it optionally validates them against the list allowed values. More...
 
 setWatch ( $watch, $titleObj, $userOption=null)
 Set a watch (or unwatch) based the based on a watchlist parameter. More...
 

Private Attributes

 $mBufferResult = false
 
 $mIsHtml
 

Additional Inherited Members

- Static Public Member Functions inherited from ApiBase
static debugPrint ( $value, $name='unknown', $backtrace=false)
 Debugging function that prints a value and an optional backtrace. More...
 
static truncateArray (&$arr, $limit)
 Truncate an array to a certain length. More...
 
- Static Public Attributes inherited from ApiBase
static $messageMap
 Array that maps message keys to error messages. More...
 
- Static Protected Member Functions inherited from ApiBase
static addTokenProperties (&$props, $tokenFunctions)
 Add token properties to the array used by getResultProperties, based on a token functions mapping. More...
 
static dieDebug ( $method, $message)
 Internal code errors should be reported with this method. More...
 

Detailed Description

This is the abstract base class for API formatters.

Definition at line 32 of file ApiFormatBase.php.

Constructor & Destructor Documentation

◆ __construct()

ApiFormatBase::__construct (   $main,
  $format 
)

Constructor If $format ends with 'fm', pretty-print the output in HTML.

Parameters
$mainApiMain
string$formatFormat name

Reimplemented in ApiFormatJson, and ApiFormatRaw.

Definition at line 42 of file ApiFormatBase.php.

Member Function Documentation

◆ canPrintErrors()

ApiFormatBase::canPrintErrors ( )

Whether this formatter can handle printing API errors.

If this returns false, then on API errors the default printer will be instantiated.

Since
1.23
Returns
bool

Reimplemented in ApiFormatFeedWrapper.

Definition at line 129 of file ApiFormatBase.php.

◆ closePrinter()

else ApiFormatBase::closePrinter ( )

Finish printing.

Closes HTML tags.

Definition at line 209 of file ApiFormatBase.php.

References getIsHtml(), php, and pre.

◆ disable()

ApiFormatBase::disable ( )

Disable the formatter completely.

This causes calls to initPrinter(), printText() and closePrinter() to be ignored.

Definition at line 115 of file ApiFormatBase.php.

◆ formatHTML()

ApiFormatBase::formatHTML (   $text)
protected

Pretty-print various elements in HTML format, such as xml tags and URLs.

This method also escapes characters like <

Parameters
$textstring
Returns
string

Definition at line 278 of file ApiFormatBase.php.

References $matches, array(), and wfUrlProtocolsWithoutProtRel().

Referenced by printText().

◆ getBuffer()

ApiFormatBase::getBuffer ( )

Get the contents of the buffer.

Definition at line 252 of file ApiFormatBase.php.

References $mBuffer.

◆ getDescription()

ApiFormatBase::getDescription ( )

Returns the description string for this module.

Returns
mixed string or array of strings

Reimplemented from ApiBase.

Reimplemented in ApiFormatJson, ApiFormatDump, ApiFormatDbg, ApiFormatTxt, ApiFormatPhp, ApiFormatNone, and ApiFormatYaml.

Definition at line 339 of file ApiFormatBase.php.

References getIsHtml().

Referenced by ApiFormatYaml\getDescription().

◆ getExamples()

ApiFormatBase::getExamples ( )

Returns usage examples for this module.

Return false if no examples are available.

Returns
bool|string|array

Reimplemented from ApiBase.

Definition at line 328 of file ApiFormatBase.php.

References array(), and ApiBase\getModuleName().

◆ getFormat()

ApiFormatBase::getFormat ( )

Get the internal format name.

Returns
string

Definition at line 74 of file ApiFormatBase.php.

References $mFormat.

◆ getHelpUrls()

ApiFormatBase::getHelpUrls ( )
Returns
bool|string|array Returns a false if the module has no help URL, else returns a (array of) string

Reimplemented from ApiBase.

Definition at line 335 of file ApiFormatBase.php.

◆ getIsHtml()

ApiFormatBase::getIsHtml ( )

Returns true when the HTML pretty-printer should be used.

The default implementation assumes that formats ending with 'fm' should be formatted in HTML.

Returns
bool

Definition at line 97 of file ApiFormatBase.php.

References $mIsHtml.

Referenced by closePrinter(), ApiFormatJson\execute(), getDescription(), getWantsHelp(), initPrinter(), and printText().

◆ getMimeType()

ApiFormatBase::getMimeType ( )
abstract

Overriding class returns the mime type that should be sent to the client.

This method is not called if getIsHtml() returns true.

Returns
string

Reimplemented in ApiFormatFeedWrapper, ApiFormatRaw, ApiFormatJson, ApiFormatDbg, ApiFormatDump, ApiFormatNone, ApiFormatPhp, ApiFormatTxt, and ApiFormatYaml.

Referenced by initPrinter().

◆ getNeedsRawData()

ApiFormatBase::getNeedsRawData ( )

Whether this formatter needs raw data such as _element tags.

Returns
bool

Reimplemented in ApiFormatFeedWrapper, and ApiFormatJson.

Definition at line 66 of file ApiFormatBase.php.

◆ getWantsHelp()

ApiFormatBase::getWantsHelp ( )

Whether this formatter can format the help message in a nice way.

By default, this returns the same as getIsHtml(). When action=help is set explicitly, the help will always be shown

Returns
bool

Reimplemented in ApiFormatJson.

Definition at line 107 of file ApiFormatBase.php.

References getIsHtml().

◆ initPrinter()

ApiFormatBase::initPrinter (   $isHelpScreen)

Initialize the printer function and prepare the output headers, etc.

This method must be the first outputting method during execution. A human-targeted notice about available formats is printed for the HTML-based output, except for help screens (caused by either an error in the API parameters, the calling of action=help, or requesting the root script api.php).

Parameters
bool$isHelpScreenWhether a help screen is going to be shown

Definition at line 141 of file ApiFormatBase.php.

References $mFormat, $mime, are, change, complete, format, getIsHtml(), ApiBase\getMain(), getMimeType(), global, href, is(), of, output(), php, pre, see, title, and wfScript().

◆ isDisabled()

ApiFormatBase::isDisabled ( )

Definition at line 119 of file ApiFormatBase.php.

References $mDisabled.

◆ printText()

ApiFormatBase::printText (   $text)

The main format printing function.

Call it to output the result string to the user. This function will automatically output HTML when format name ends in 'fm'.

Parameters
$textstring

Definition at line 229 of file ApiFormatBase.php.

References formatHTML(), and getIsHtml().

Referenced by ApiFormatPhp\execute(), ApiFormatDbg\execute(), ApiFormatDump\execute(), ApiFormatTxt\execute(), ApiFormatRaw\execute(), and ApiFormatJson\execute().

◆ setBufferResult()

ApiFormatBase::setBufferResult (   $value)

Set the flag to buffer the result instead of printing it.

Parameters
$valuebool

Definition at line 260 of file ApiFormatBase.php.

References $value.

◆ setHelp()

ApiFormatBase::setHelp (   $help = true)

Sets whether the pretty-printer should format bold

Parameters
$helpbool

Definition at line 268 of file ApiFormatBase.php.

References $help.

◆ setUnescapeAmps()

ApiFormatBase::setUnescapeAmps (   $b)

Specify whether or not sequences like &quot; should be unescaped to " .

This should only be set to true for the help message when rendered in the default (xmlfm) format. This is a temporary special-case fix that should be removed once the help has been reworked to use a fully HTML interface.

Parameters
bool$bWhether or not ampersands should be escaped.

Definition at line 87 of file ApiFormatBase.php.

Member Data Documentation

◆ $mBuffer

ApiFormatBase::$mBuffer

Definition at line 34 of file ApiFormatBase.php.

Referenced by getBuffer().

◆ $mBufferResult

ApiFormatBase::$mBufferResult = false
private

Definition at line 34 of file ApiFormatBase.php.

◆ $mCleared

ApiFormatBase::$mCleared

Definition at line 33 of file ApiFormatBase.php.

◆ $mDisabled

ApiFormatBase::$mDisabled = false

Definition at line 34 of file ApiFormatBase.php.

Referenced by isDisabled().

◆ $mFormat

ApiFormatBase::$mFormat

Definition at line 33 of file ApiFormatBase.php.

Referenced by getFormat(), and initPrinter().

◆ $mHelp

ApiFormatBase::$mHelp

Definition at line 33 of file ApiFormatBase.php.

◆ $mIsHtml

ApiFormatBase::$mIsHtml
private

Definition at line 33 of file ApiFormatBase.php.

Referenced by getIsHtml().

◆ $mUnescapeAmps

ApiFormatBase::$mUnescapeAmps

Definition at line 33 of file ApiFormatBase.php.


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