MediaWiki  REL1_23
ApiFormatBase Class Reference

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

Inheritance diagram for ApiFormatBase:
Collaboration diagram for ApiFormatBase:

List of all members.

Public Member Functions

 __construct ($main, $format)
 Constructor If $format ends with 'fm', pretty-print the output in HTML.
 canPrintErrors ()
 Whether this formatter can handle printing API errors.
 closePrinter ()
 Finish printing.
 disable ()
 Disable the formatter completely.
 getBuffer ()
 Get the contents of the buffer.
 getDescription ()
 Returns the description string for this module.
 getExamples ()
 Returns usage examples for this module.
 getFormat ()
 Get the internal format name.
 getHelpUrls ()
 getIsHtml ()
 Returns true when the HTML pretty-printer should be used.
 getMimeType ()
 Overriding class returns the mime type that should be sent to the client.
 getNeedsRawData ()
 Whether this formatter needs raw data such as _element tags.
 getWantsHelp ()
 Whether this formatter can format the help message in a nice way.
 initPrinter ($isHelpScreen)
 Initialize the printer function and prepare the output headers, etc.
 isDisabled ()
 printText ($text)
 The main format printing function.
 setBufferResult ($value)
 Set the flag to buffer the result instead of printing it.
 setHelp ($help=true)
 Sets whether the pretty-printer should format *bold*.
 setUnescapeAmps ($b)
 Specify whether or not sequences like " should be unescaped to " .

Public Attributes

 $mBuffer
 $mCleared
 $mDisabled = false
 $mFormat
 $mHelp
 $mUnescapeAmps

Protected Member Functions

 formatHTML ($text)
 Pretty-print various elements in HTML format, such as xml tags and URLs.

Private Attributes

 $mBufferResult = false
 $mIsHtml

Detailed Description

This is the abstract base class for API formatters.

Definition at line 32 of file ApiFormatBase.php.


Constructor & Destructor Documentation

ApiFormatBase::__construct ( main,
format 
)

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

Parameters:
$mainApiMain
string$formatFormat name

Reimplemented in ApiFormatXmlRsd, ApiFormatRaw, and ApiFormatJson.

Definition at line 42 of file ApiFormatBase.php.


Member Function Documentation

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.

Finish printing.

Closes HTML tags.

Definition at line 209 of file ApiFormatBase.php.

References getIsHtml(), php, and pre.

Disable the formatter completely.

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

Definition at line 115 of file ApiFormatBase.php.

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().

Get the contents of the buffer.

Definition at line 252 of file ApiFormatBase.php.

Returns the description string for this module.

Returns:
mixed string or array of strings

Reimplemented from ApiBase.

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

Definition at line 339 of file ApiFormatBase.php.

References getIsHtml().

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().

Get the internal format name.

Returns:
string

Definition at line 74 of file ApiFormatBase.php.

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.

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.

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

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, ApiFormatXmlRsd, ApiFormatRaw, ApiFormatJson, ApiFormatXml, ApiFormatDbg, ApiFormatDump, ApiFormatNone, ApiFormatPhp, ApiFormatTxt, ApiFormatWddx, and ApiFormatYaml.

Referenced by initPrinter().

Whether this formatter needs raw data such as _element tags.

Returns:
bool

Reimplemented in ApiFormatFeedWrapper, ApiFormatJson, and ApiFormatXml.

Definition at line 66 of file ApiFormatBase.php.

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().

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 $mime, are, at, change, complete, format, getIsHtml(), ApiBase\getMain(), getMimeType(), global, href, is, of, output(), php, pre, see, title, and wfScript().

Definition at line 119 of file ApiFormatBase.php.

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 ApiFormatXml\addXslt(), ApiFormatPhp\execute(), ApiFormatWddx\execute(), ApiFormatDump\execute(), ApiFormatDbg\execute(), ApiFormatTxt\execute(), ApiFormatXml\execute(), ApiFormatRaw\execute(), ApiFormatJson\execute(), and ApiFormatWddx\slowWddxPrinter().

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

Parameters:
$valuebool

Definition at line 260 of file ApiFormatBase.php.

References $value.

Sets whether the pretty-printer should format *bold*.

Parameters:
$helpbool

Definition at line 268 of file ApiFormatBase.php.

References $help.

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

ApiFormatBase::$mBuffer

Definition at line 34 of file ApiFormatBase.php.

ApiFormatBase::$mBufferResult = false [private]

Definition at line 34 of file ApiFormatBase.php.

ApiFormatBase::$mCleared

Definition at line 33 of file ApiFormatBase.php.

ApiFormatBase::$mDisabled = false

Definition at line 34 of file ApiFormatBase.php.

ApiFormatBase::$mFormat

Definition at line 33 of file ApiFormatBase.php.

ApiFormatBase::$mHelp

Definition at line 33 of file ApiFormatBase.php.

ApiFormatBase::$mIsHtml [private]

Definition at line 33 of file ApiFormatBase.php.

ApiFormatBase::$mUnescapeAmps

Definition at line 33 of file ApiFormatBase.php.


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