X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fapi%2FApiQueryRevisionsBase.php;h=ebc5c2e0104156f5af4336780778b90405f95be4;hb=376879ee06871beb31ca540bbcc87843aa2fb744;hp=d57dc3ccd908267c76f8e97f24224e8b2e1daefc;hpb=02f609e06889a172c64a863481cc5f692f86e64a;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/api/ApiQueryRevisionsBase.php b/includes/api/ApiQueryRevisionsBase.php index d57dc3ccd9..ebc5c2e010 100644 --- a/includes/api/ApiQueryRevisionsBase.php +++ b/includes/api/ApiQueryRevisionsBase.php @@ -31,8 +31,8 @@ */ abstract class ApiQueryRevisionsBase extends ApiQueryGeneratorBase { - protected $limit, $diffto, $difftotext, $expandTemplates, $generateXML, $section, - $parseContent, $fetchContent, $contentFormat, $setParsedLimit = true; + protected $limit, $diffto, $difftotext, $difftotextpst, $expandTemplates, $generateXML, + $section, $parseContent, $fetchContent, $contentFormat, $setParsedLimit = true; protected $fld_ids = false, $fld_flags = false, $fld_timestamp = false, $fld_size = false, $fld_sha1 = false, $fld_comment = false, @@ -61,6 +61,7 @@ abstract class ApiQueryRevisionsBase extends ApiQueryGeneratorBase { protected function parseParameters( $params ) { if ( !is_null( $params['difftotext'] ) ) { $this->difftotext = $params['difftotext']; + $this->difftotextpst = $params['difftotextpst']; } elseif ( !is_null( $params['diffto'] ) ) { if ( $params['diffto'] == 'cur' ) { $params['diffto'] = 0; @@ -307,7 +308,7 @@ abstract class ApiQueryRevisionsBase extends ApiQueryGeneratorBase { $text = null; if ( $this->expandTemplates && !$this->parseContent ) { - #XXX: implement template expansion for all content types in ContentHandler? + # XXX: implement template expansion for all content types in ContentHandler? if ( $content->getModel() === CONTENT_MODEL_WIKITEXT ) { $text = $content->getNativeData(); @@ -385,6 +386,11 @@ abstract class ApiQueryRevisionsBase extends ApiQueryGeneratorBase { $this->contentFormat ); + if ( $this->difftotextpst ) { + $popts = ParserOptions::newFromContext( $this->getContext() ); + $difftocontent = $difftocontent->preSaveTransform( $title, $user, $popts ); + } + $engine = $handler->createDifferenceEngine( $context ); $engine->setContent( $content, $difftocontent ); } @@ -479,20 +485,20 @@ abstract class ApiQueryRevisionsBase extends ApiQueryGeneratorBase { ApiBase::PARAM_HELP_MSG => 'apihelp-query+revisions+base-param-parse', ), 'section' => array( - ApiBase::PARAM_DFLT => null, ApiBase::PARAM_HELP_MSG => 'apihelp-query+revisions+base-param-section', ), 'diffto' => array( - ApiBase::PARAM_DFLT => null, ApiBase::PARAM_HELP_MSG => 'apihelp-query+revisions+base-param-diffto', ), 'difftotext' => array( - ApiBase::PARAM_DFLT => null, ApiBase::PARAM_HELP_MSG => 'apihelp-query+revisions+base-param-difftotext', ), + 'difftotextpst' => array( + ApiBase::PARAM_DFLT => false, + ApiBase::PARAM_HELP_MSG => 'apihelp-query+revisions+base-param-difftotextpst', + ), 'contentformat' => array( ApiBase::PARAM_TYPE => ContentHandler::getAllContentFormats(), - ApiBase::PARAM_DFLT => null, ApiBase::PARAM_HELP_MSG => 'apihelp-query+revisions+base-param-contentformat', ), );