X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fapi%2FApiQueryAllDeletedRevisions.php;h=7b4f15e517a6fed938d0ad8f53c8d2965c2f89c8;hb=33397ae8b6b46c367a5d94cd94f652be8f5940ef;hp=50afc7de3d9f8f1324695819ed0aab817b0d5a46;hpb=f36bb485814d01988e6ef820ccf136a953d0094e;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/api/ApiQueryAllDeletedRevisions.php b/includes/api/ApiQueryAllDeletedRevisions.php index 50afc7de3d..7b4f15e517 100644 --- a/includes/api/ApiQueryAllDeletedRevisions.php +++ b/includes/api/ApiQueryAllDeletedRevisions.php @@ -24,7 +24,8 @@ */ use MediaWiki\MediaWikiServices; -use MediaWiki\Storage\RevisionRecord; +use MediaWiki\Revision\RevisionRecord; +use MediaWiki\Storage\NameTableAccessException; /** * Query module to enumerate all deleted revisions. @@ -42,6 +43,8 @@ class ApiQueryAllDeletedRevisions extends ApiQueryRevisionsBase { * @return void */ protected function run( ApiPageSet $resultPageSet = null ) { + global $wgChangeTagsSchemaMigrationStage; + // Before doing anything at all, let's check permissions $this->checkUserRightsAny( 'deletedhistory' ); @@ -73,7 +76,7 @@ class ApiQueryAllDeletedRevisions extends ApiQueryRevisionsBase { if ( !is_null( $params[$param] ) ) { $p = $this->getModulePrefix(); $this->dieWithError( - [ 'apierror-invalidparammix-cannotusewith', $p.$param, "{$p}user" ], + [ 'apierror-invalidparammix-cannotusewith', $p . $param, "{$p}user" ], 'invalidparammix' ); } @@ -83,7 +86,7 @@ class ApiQueryAllDeletedRevisions extends ApiQueryRevisionsBase { if ( !is_null( $params[$param] ) ) { $p = $this->getModulePrefix(); $this->dieWithError( - [ 'apierror-invalidparammix-mustusewith', $p.$param, "{$p}user" ], + [ 'apierror-invalidparammix-mustusewith', $p . $param, "{$p}user" ], 'invalidparammix' ); } @@ -136,7 +139,17 @@ class ApiQueryAllDeletedRevisions extends ApiQueryRevisionsBase { $this->addJoinConds( [ 'change_tag' => [ 'INNER JOIN', [ 'ar_rev_id=ct_rev_id' ] ] ] ); - $this->addWhereFld( 'ct_tag', $params['tag'] ); + if ( $wgChangeTagsSchemaMigrationStage > MIGRATION_WRITE_BOTH ) { + $changeTagDefStore = MediaWikiServices::getInstance()->getChangeTagDefStore(); + try { + $this->addWhereFld( 'ct_tag_id', $changeTagDefStore->getId( $params['tag'] ) ); + } catch ( NameTableAccessException $exception ) { + // Return nothing. + $this->addWhere( '1=0' ); + } + } else { + $this->addWhereFld( 'ct_tag', $params['tag'] ); + } } if ( $this->fetchContent ) {