X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=includes%2Fapi%2FApiQueryRevisions.php;h=3259927a23b6b9599b4fd257041904858e9ef629;hp=0282fc593c8b38cd719f5dc25edb5fcd1e0fe3a3;hb=9964ca1a390c446397dcd466916ffed356cdc3c9;hpb=3368cccde53732c1278f51632e69b9865c4ee6ba diff --git a/includes/api/ApiQueryRevisions.php b/includes/api/ApiQueryRevisions.php index 0282fc593c..3259927a23 100644 --- a/includes/api/ApiQueryRevisions.php +++ b/includes/api/ApiQueryRevisions.php @@ -56,13 +56,13 @@ class ApiQueryRevisions extends ApiQueryRevisionsBase { // If we're in a mode that breaks the same-origin policy, no tokens can // be obtained if ( $this->lacksSameOriginSecurity() ) { - return array(); + return []; } - $this->tokenFunctions = array( - 'rollback' => array( 'ApiQueryRevisions', 'getRollbackToken' ) - ); - Hooks::run( 'APIQueryRevisionsTokens', array( &$this->tokenFunctions ) ); + $this->tokenFunctions = [ + 'rollback' => [ 'ApiQueryRevisions', 'getRollbackToken' ] + ]; + Hooks::run( 'APIQueryRevisionsTokens', [ &$this->tokenFunctions ] ); return $this->tokenFunctions; } @@ -80,8 +80,7 @@ class ApiQueryRevisions extends ApiQueryRevisionsBase { return false; } - return $wgUser->getEditToken( - array( $title->getPrefixedText(), $rev->getUserText() ) ); + return $wgUser->getEditToken( 'rollback' ); } protected function run( ApiPageSet $resultPageSet = null ) { @@ -135,9 +134,9 @@ class ApiQueryRevisions extends ApiQueryRevisionsBase { } $db = $this->getDB(); - $this->addTables( array( 'revision', 'page' ) ); + $this->addTables( [ 'revision', 'page' ] ); $this->addJoinConds( - array( 'page' => array( 'INNER JOIN', array( 'page_id = rev_page' ) ) ) + [ 'page' => [ 'INNER JOIN', [ 'page_id = rev_page' ] ] ] ); if ( $resultPageSet === null ) { @@ -149,13 +148,13 @@ class ApiQueryRevisions extends ApiQueryRevisionsBase { } } else { $this->limit = $this->getParameter( 'limit' ) ?: 10; - $this->addFields( array( 'rev_id', 'rev_timestamp', 'rev_page' ) ); + $this->addFields( [ 'rev_id', 'rev_timestamp', 'rev_page' ] ); } if ( $this->fld_tags ) { $this->addTables( 'tag_summary' ); $this->addJoinConds( - array( 'tag_summary' => array( 'LEFT JOIN', array( 'rev_id=ts_rev_id' ) ) ) + [ 'tag_summary' => [ 'LEFT JOIN', [ 'rev_id=ts_rev_id' ] ] ] ); $this->addFields( 'ts_tags' ); } @@ -163,7 +162,7 @@ class ApiQueryRevisions extends ApiQueryRevisionsBase { if ( $params['tag'] !== null ) { $this->addTables( 'change_tag' ); $this->addJoinConds( - array( 'change_tag' => array( 'INNER JOIN', array( 'rev_id=ct_rev_id' ) ) ) + [ 'change_tag' => [ 'INNER JOIN', [ 'rev_id=ct_rev_id' ] ] ] ); $this->addWhereFld( 'ct_tag', $params['tag'] ); } @@ -182,7 +181,7 @@ class ApiQueryRevisions extends ApiQueryRevisionsBase { $this->addTables( 'text' ); $this->addJoinConds( - array( 'text' => array( 'INNER JOIN', array( 'rev_text_id=old_id' ) ) ) + [ 'text' => [ 'INNER JOIN', [ 'rev_text_id=old_id' ] ] ] ); $this->addFields( 'old_id' ); $this->addFields( Revision::selectTextFields() ); @@ -191,7 +190,7 @@ class ApiQueryRevisions extends ApiQueryRevisionsBase { // add user name, if needed if ( $this->fld_user ) { $this->addTables( 'user' ); - $this->addJoinConds( array( 'user' => Revision::userJoinCond() ) ); + $this->addJoinConds( [ 'user' => Revision::userJoinCond() ] ); $this->addFields( Revision::selectUserFields() ); } @@ -302,10 +301,10 @@ class ApiQueryRevisions extends ApiQueryRevisionsBase { "rev_id >= $revid)" ); } - $this->addOption( 'ORDER BY', array( + $this->addOption( 'ORDER BY', [ 'rev_page', 'rev_id' - ) ); + ] ); } else { ApiBase::dieDebug( __METHOD__, 'param validation?' ); } @@ -313,8 +312,9 @@ class ApiQueryRevisions extends ApiQueryRevisionsBase { $this->addOption( 'LIMIT', $this->limit + 1 ); $count = 0; - $generated = array(); - $res = $this->select( __METHOD__ ); + $generated = []; + $hookData = []; + $res = $this->select( __METHOD__, [], $hookData ); foreach ( $res as $row ) { if ( ++$count > $this->limit ) { @@ -351,7 +351,8 @@ class ApiQueryRevisions extends ApiQueryRevisionsBase { } } - $fit = $this->addPageSubItem( $row->rev_page, $rev, 'rev' ); + $fit = $this->processRow( $row, $rev, $hookData ) && + $this->addPageSubItem( $row->rev_page, $rev, 'rev' ); if ( !$fit ) { if ( $enumRevMode ) { $this->setContinueEnumParameter( 'continue', @@ -380,58 +381,58 @@ class ApiQueryRevisions extends ApiQueryRevisionsBase { } public function getAllowedParams() { - $ret = parent::getAllowedParams() + array( - 'startid' => array( + $ret = parent::getAllowedParams() + [ + 'startid' => [ ApiBase::PARAM_TYPE => 'integer', - ApiBase::PARAM_HELP_MSG_INFO => array( array( 'singlepageonly' ) ), - ), - 'endid' => array( + ApiBase::PARAM_HELP_MSG_INFO => [ [ 'singlepageonly' ] ], + ], + 'endid' => [ ApiBase::PARAM_TYPE => 'integer', - ApiBase::PARAM_HELP_MSG_INFO => array( array( 'singlepageonly' ) ), - ), - 'start' => array( + ApiBase::PARAM_HELP_MSG_INFO => [ [ 'singlepageonly' ] ], + ], + 'start' => [ ApiBase::PARAM_TYPE => 'timestamp', - ApiBase::PARAM_HELP_MSG_INFO => array( array( 'singlepageonly' ) ), - ), - 'end' => array( + ApiBase::PARAM_HELP_MSG_INFO => [ [ 'singlepageonly' ] ], + ], + 'end' => [ ApiBase::PARAM_TYPE => 'timestamp', - ApiBase::PARAM_HELP_MSG_INFO => array( array( 'singlepageonly' ) ), - ), - 'dir' => array( + ApiBase::PARAM_HELP_MSG_INFO => [ [ 'singlepageonly' ] ], + ], + 'dir' => [ ApiBase::PARAM_DFLT => 'older', - ApiBase::PARAM_TYPE => array( + ApiBase::PARAM_TYPE => [ 'newer', 'older' - ), + ], ApiBase::PARAM_HELP_MSG => 'api-help-param-direction', - ApiBase::PARAM_HELP_MSG_INFO => array( array( 'singlepageonly' ) ), - ), - 'user' => array( + ApiBase::PARAM_HELP_MSG_INFO => [ [ 'singlepageonly' ] ], + ], + 'user' => [ ApiBase::PARAM_TYPE => 'user', - ApiBase::PARAM_HELP_MSG_INFO => array( array( 'singlepageonly' ) ), - ), - 'excludeuser' => array( + ApiBase::PARAM_HELP_MSG_INFO => [ [ 'singlepageonly' ] ], + ], + 'excludeuser' => [ ApiBase::PARAM_TYPE => 'user', - ApiBase::PARAM_HELP_MSG_INFO => array( array( 'singlepageonly' ) ), - ), + ApiBase::PARAM_HELP_MSG_INFO => [ [ 'singlepageonly' ] ], + ], 'tag' => null, - 'token' => array( + 'token' => [ ApiBase::PARAM_DEPRECATED => true, ApiBase::PARAM_TYPE => array_keys( $this->getTokenFunctions() ), ApiBase::PARAM_ISMULTI => true - ), - 'continue' => array( + ], + 'continue' => [ ApiBase::PARAM_HELP_MSG => 'api-help-param-continue', - ), - ); + ], + ]; - $ret['limit'][ApiBase::PARAM_HELP_MSG_INFO] = array( array( 'singlepageonly' ) ); + $ret['limit'][ApiBase::PARAM_HELP_MSG_INFO] = [ [ 'singlepageonly' ] ]; return $ret; } protected function getExamplesMessages() { - return array( + return [ 'action=query&prop=revisions&titles=API|Main%20Page&' . 'rvprop=timestamp|user|comment|content' => 'apihelp-query+revisions-example-content', @@ -450,7 +451,7 @@ class ApiQueryRevisions extends ApiQueryRevisionsBase { 'action=query&prop=revisions&titles=Main%20Page&rvlimit=5&' . 'rvprop=timestamp|user|comment&rvuser=MediaWiki%20default' => 'apihelp-query+revisions-example-first5-user', - ); + ]; } public function getHelpUrls() {