* Initialize the printer function and prepare the output headers.
* @param bool $unused Always false since 1.25
*/
- function initPrinter( $unused = false ) {
+ public function initPrinter( $unused = false ) {
if ( $this->mDisabled ) {
return;
}
$header = $msg->parseAsBlock();
$out->addHTML(
- Html::rawElement( 'div', array( 'class' => 'api-pretty-header' ),
+ Html::rawElement( 'div', [ 'class' => 'api-pretty-header' ],
ApiHelp::fixHelpLinks( $header )
)
);
}
- if ( Hooks::run( 'ApiFormatHighlight', array( $context, $result, $mime, $format ) ) ) {
+ if ( Hooks::run( 'ApiFormatHighlight', [ $context, $result, $mime, $format ] ) ) {
$out->addHTML(
- Html::element( 'pre', array( 'class' => 'api-pretty-content' ), $result )
+ Html::element( 'pre', [ 'class' => 'api-pretty-content' ], $result )
);
}
// This is a special output mode mainly intended for ApiSandbox use
$time = microtime( true ) - $this->getConfig()->get( 'RequestTime' );
$json = FormatJson::encode(
- array(
+ [
'html' => $out->getHTML(),
'modules' => array_values( array_unique( array_merge(
$out->getModules(),
$out->getModuleStyles()
) ) ),
'time' => round( $time * 1000 ),
- ),
+ ],
false, FormatJson::ALL_OK
);
}
public function getAllowedParams() {
- $ret = array();
+ $ret = [];
if ( $this->getIsHtml() ) {
- $ret['wrappedhtml'] = array(
+ $ret['wrappedhtml'] = [
ApiBase::PARAM_DFLT => false,
ApiBase::PARAM_HELP_MSG => 'apihelp-format-param-wrappedhtml',
- );
+ ];
}
return $ret;
}
protected function getExamplesMessages() {
- return array(
+ return [
'action=query&meta=siteinfo&siprop=namespaces&format=' . $this->getModuleName()
- => array( 'apihelp-format-example-generic', $this->getFormat() )
- );
+ => [ 'apihelp-format-example-generic', $this->getFormat() ]
+ ];
}
public function getHelpUrls() {
return 'https://www.mediawiki.org/wiki/API:Data_formats';
}
- /************************************************************************//**
- * @name Deprecated
- * @{
- */
-
- /**
- * Specify whether or not sequences like " 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.
- *
- * @deprecated since 1.25
- * @param bool $b Whether or not ampersands should be escaped.
- */
- public function setUnescapeAmps( $b ) {
- wfDeprecated( __METHOD__, '1.25' );
- $this->mUnescapeAmps = $b;
- }
-
- /**
- * 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
- * @deprecated since 1.25
- * @return bool
- */
- public function getWantsHelp() {
- wfDeprecated( __METHOD__, '1.25' );
- return $this->getIsHtml();
- }
-
- /**
- * Sets whether the pretty-printer should format *bold*
- * @deprecated since 1.25
- * @param bool $help
- */
- public function setHelp( $help = true ) {
- wfDeprecated( __METHOD__, '1.25' );
- $this->mHelp = $help;
- }
-
- /**
- * Pretty-print various elements in HTML format, such as xml tags and
- * URLs. This method also escapes characters like <
- * @deprecated since 1.25
- * @param string $text
- * @return string
- */
- protected function formatHTML( $text ) {
- wfDeprecated( __METHOD__, '1.25' );
-
- // Escape everything first for full coverage
- $text = htmlspecialchars( $text );
-
- if ( $this->mFormat === 'XML' ) {
- // encode all comments or tags as safe blue strings
- $text = str_replace( '<', '<span style="color:blue;"><', $text );
- $text = str_replace( '>', '></span>', $text );
- }
-
- // identify requests to api.php
- $text = preg_replace( '#^(\s*)(api\.php\?[^ <\n\t]+)$#m', '\1<a href="\2">\2</a>', $text );
- if ( $this->mHelp ) {
- // make lines inside * bold
- $text = preg_replace( '#^(\s*)(\*[^<>\n]+\*)(\s*)$#m', '$1<b>$2</b>$3', $text );
- }
-
- // Armor links (bug 61362)
- $masked = array();
- $text = preg_replace_callback( '#<a .*?</a>#', function ( $matches ) use ( &$masked ) {
- $sha = sha1( $matches[0] );
- $masked[$sha] = $matches[0];
- return "<$sha>";
- }, $text );
-
- // identify URLs
- $protos = wfUrlProtocolsWithoutProtRel();
- // This regex hacks around bug 13218 (" included in the URL)
- $text = preg_replace(
- "#(((?i)$protos).*?)(")?([ \\'\"<>\n]|<|>|")#",
- '<a href="\\1">\\1</a>\\3\\4',
- $text
- );
-
- // Unarmor links
- $text = preg_replace_callback( '#<([0-9a-f]{40})>#', function ( $matches ) use ( &$masked ) {
- $sha = $matches[1];
- return isset( $masked[$sha] ) ? $masked[$sha] : $matches[0];
- }, $text );
-
- /**
- * Temporary fix for bad links in help messages. As a special case,
- * XML-escaped metachars are de-escaped one level in the help message
- * for legibility. Should be removed once we have completed a fully-HTML
- * version of the help message.
- */
- if ( $this->mUnescapeAmps ) {
- $text = preg_replace( '/&(amp|quot|lt|gt);/', '&\1;', $text );
- }
-
- return $text;
- }
-
- /**
- * @see ApiBase::getDescription
- * @deprecated since 1.25
- */
- public function getDescription() {
- return $this->getIsHtml() ? ' (pretty-print in HTML)' : '';
- }
-
- /**
- * Set the flag to buffer the result instead of printing it.
- * @deprecated since 1.25, output is always buffered
- * @param bool $value
- */
- public function setBufferResult( $value ) {
- }
-
- /**
- * Formerly indicated whether the formatter needed metadata from ApiResult.
- *
- * ApiResult previously (indirectly) used this to decide whether to add
- * metadata or to ignore calls to metadata-setting methods, which
- * unfortunately made several methods that should have been static have to
- * be dynamic instead. Now ApiResult always stores metadata and formatters
- * are required to ignore it or filter it out.
- *
- * @deprecated since 1.25
- * @return bool Always true
- */
- public function getNeedsRawData() {
- wfDeprecated( __METHOD__, '1.25' );
- return true;
- }
-
- /**@}*/
}
/**