X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fapi%2FApiQueryRevisions.php;h=5858bc726d13385254ae6fdc24a2683191525d19;hb=7583ead42626fba866096f6ffef6594df0321065;hp=ef0223aae55d2733158cd00bce966fed79cc1e34;hpb=ee56f00ddf0609082f8ae9a4dc3e6e1b6f54ddfd;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/api/ApiQueryRevisions.php b/includes/api/ApiQueryRevisions.php index ef0223aae5..5858bc726d 100644 --- a/includes/api/ApiQueryRevisions.php +++ b/includes/api/ApiQueryRevisions.php @@ -286,20 +286,17 @@ class ApiQueryRevisions extends ApiQueryRevisionsBase { $this->addWhereFld( 'rev_page', reset( $ids ) ); if ( $params['user'] !== null ) { - $user = User::newFromName( $params['user'] ); - if ( $user && $user->getId() > 0 ) { - $this->addWhereFld( 'rev_user', $user->getId() ); - } else { - $this->addWhereFld( 'rev_user_text', $params['user'] ); - } + $actorQuery = ActorMigration::newMigration() + ->getWhere( $db, 'rev_user', User::newFromName( $params['user'], false ) ); + $this->addTables( $actorQuery['tables'] ); + $this->addJoinConds( $actorQuery['joins'] ); + $this->addWhere( $actorQuery['conds'] ); } elseif ( $params['excludeuser'] !== null ) { - $user = User::newFromName( $params['excludeuser'] ); - if ( $user && $user->getId() > 0 ) { - $this->addWhere( 'rev_user != ' . $user->getId() ); - } else { - $this->addWhere( 'rev_user_text != ' . - $db->addQuotes( $params['excludeuser'] ) ); - } + $actorQuery = ActorMigration::newMigration() + ->getWhere( $db, 'rev_user', User::newFromName( $params['excludeuser'], false ) ); + $this->addTables( $actorQuery['tables'] ); + $this->addJoinConds( $actorQuery['joins'] ); + $this->addWhere( 'NOT(' . $actorQuery['conds'] . ')' ); } if ( $params['user'] !== null || $params['excludeuser'] !== null ) { // Paranoia: avoid brute force searches (T19342)