X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=includes%2Fapi%2FApiQueryAllRevisions.php;h=050bc0f81e10ba278e7f0101f19c68ec390d55d7;hb=06de7957785f3397ca6c88959aaf4735b4287590;hp=922d2c3e25e63c785723e9f2f0e4337d60581fbe;hpb=cb30399b4d03bc78e0abec0baad4b4fca7de198c;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/api/ApiQueryAllRevisions.php b/includes/api/ApiQueryAllRevisions.php index 922d2c3e25..050bc0f81e 100644 --- a/includes/api/ApiQueryAllRevisions.php +++ b/includes/api/ApiQueryAllRevisions.php @@ -44,7 +44,8 @@ class ApiQueryAllRevisions extends ApiQueryRevisionsBase { $db = $this->getDB(); $params = $this->extractRequestParams( false ); - $revisionStore = MediaWikiServices::getInstance()->getRevisionStore(); + $services = MediaWikiServices::getInstance(); + $revisionStore = $services->getRevisionStore(); $result = $this->getResult(); @@ -70,7 +71,7 @@ class ApiQueryAllRevisions extends ApiQueryRevisionsBase { if ( $params['namespace'] !== null ) { $params['namespace'] = array_unique( $params['namespace'] ); sort( $params['namespace'] ); - if ( $params['namespace'] != MWNamespace::getValidNamespaces() ) { + if ( $params['namespace'] != $services->getNamespaceInfo()->getValidNamespaces() ) { $needPageTable = true; if ( $this->getConfig()->get( 'MiserMode' ) ) { $miser_ns = $params['namespace']; @@ -82,9 +83,7 @@ class ApiQueryAllRevisions extends ApiQueryRevisionsBase { if ( $resultPageSet === null ) { $this->parseParameters( $params ); - $revQuery = $revisionStore->getQueryInfo( - $this->fetchContent ? [ 'page', 'text' ] : [ 'page' ] - ); + $revQuery = $revisionStore->getQueryInfo( [ 'page' ] ); } else { $this->limit = $this->getParameter( 'limit' ) ?: 10; $revQuery = [ @@ -105,7 +104,7 @@ class ApiQueryAllRevisions extends ApiQueryRevisionsBase { if ( $needPageTable ) { $revQuery['tables'][] = 'page'; - $revQuery['joins']['page'] = [ 'INNER JOIN', [ "$pageField = page_id" ] ]; + $revQuery['joins']['page'] = [ 'JOIN', [ "$pageField = page_id" ] ]; if ( (bool)$miser_ns ) { $revQuery['fields'][] = 'page_namespace'; } @@ -140,11 +139,7 @@ class ApiQueryAllRevisions extends ApiQueryRevisionsBase { $this->addTimestampWhereRange( $tsField, $dir, $params['start'], $params['end'] ); if ( $this->fld_tags ) { - $this->addTables( 'tag_summary' ); - $this->addJoinConds( - [ 'tag_summary' => [ 'LEFT JOIN', [ 'rev_id=ts_rev_id' ] ] ] - ); - $this->addFields( 'ts_tags' ); + $this->addFields( [ 'ts_tags' => ChangeTags::makeTagSummarySubquery( 'revision' ) ] ); } if ( $params['user'] !== null ) {