X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=maintenance%2FrollbackEdits.php;h=878eb9b09db4046f562e0a1ce15529561826420b;hb=c99e9beff7d7c1a5a48f8d6f869a42425021c62b;hp=ca9abb1ce3a2fbc9df6dd46eede93e888e6d71aa;hpb=3cc7f15766b65b9b3cba865760e590e948b5ba2a;p=lhc%2Fweb%2Fwiklou.git diff --git a/maintenance/rollbackEdits.php b/maintenance/rollbackEdits.php index ca9abb1ce3..878eb9b09d 100644 --- a/maintenance/rollbackEdits.php +++ b/maintenance/rollbackEdits.php @@ -91,25 +91,31 @@ class RollbackEdits extends Maintenance { /** * Get all pages that should be rolled back for a given user - * @param string $user A name to check against rev_user_text + * @param string $user A name to check against * @return array */ private function getRollbackTitles( $user ) { $dbr = $this->getDB( DB_REPLICA ); $titles = []; - $results = $dbr->select( - [ 'page', 'revision' ], - [ 'page_namespace', 'page_title' ], - [ 'page_latest = rev_id', 'rev_user_text' => $user ], - __METHOD__ - ); - foreach ( $results as $row ) { - $titles[] = Title::makeTitle( $row->page_namespace, $row->page_title ); + $actorQuery = ActorMigration::newMigration() + ->getWhere( $dbr, 'rev_user', User::newFromName( $user, false ) ); + foreach ( $actorQuery['orconds'] as $cond ) { + $results = $dbr->select( + [ 'page', 'revision' ] + $actorQuery['tables'], + [ 'page_namespace', 'page_title' ], + [ $cond ], + __METHOD__, + [], + [ 'revision' => [ 'JOIN', 'page_latest = rev_id' ] ] + $actorQuery['joins'] + ); + foreach ( $results as $row ) { + $titles[] = Title::makeTitle( $row->page_namespace, $row->page_title ); + } } return $titles; } } -$maintClass = 'RollbackEdits'; +$maintClass = RollbackEdits::class; require_once RUN_MAINTENANCE_IF_MAIN;