X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fapi%2FApiFormatBase.php;h=4c406a763b3ffac8c22923d9bd959a9e9aa51881;hb=92b2319de6a19f36b8a06d0d8ee31a2b020c5091;hp=69cedd76b2f2b157288b0044c9d255e85770fd44;hpb=554ca56fd5e76b0216c09543d447dbecd5773202;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/api/ApiFormatBase.php b/includes/api/ApiFormatBase.php index 69cedd76b2..4c406a763b 100644 --- a/includes/api/ApiFormatBase.php +++ b/includes/api/ApiFormatBase.php @@ -151,7 +151,7 @@ abstract class ApiFormatBase extends ApiBase { * 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; } @@ -208,15 +208,15 @@ abstract class ApiFormatBase extends ApiBase { $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 ) ); } @@ -224,15 +224,16 @@ abstract class ApiFormatBase extends ApiBase { // 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->getModuleScripts(), $out->getModuleStyles() ) ) ), + 'continue' => $this->getResult()->getResultData( 'continue' ), 'time' => round( $time * 1000 ), - ), + ], false, FormatJson::ALL_OK ); @@ -278,166 +279,28 @@ abstract class ApiFormatBase extends ApiBase { } 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 &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. - * - * @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( '<', '<', $text ); - $text = str_replace( '>', '>', $text ); - } - - // identify requests to api.php - $text = preg_replace( '#^(\s*)(api\.php\?[^ <\n\t]+)$#m', '\1\2', $text ); - if ( $this->mHelp ) { - // make lines inside * bold - $text = preg_replace( '#^(\s*)(\*[^<>\n]+\*)(\s*)$#m', '$1$2$3', $text ); - } - - // Armor links (bug 61362) - $masked = array(); - $text = preg_replace_callback( '##', 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]|<|>|")#", - '\\1\\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; - } - - /**@}*/ } /**