X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fspecials%2Fpagers%2FNewPagesPager.php;h=f16a5cb61524e07ca6075a669cb4708d93048e7b;hb=3a106b6a9af8923341ae73e17b1a8cae371c0f05;hp=61b648d4f693ccbd41c03ff0f50c7e2aeded9493;hpb=6f7e982df6479e27c3b17f2deda8404ef55f50e6;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/specials/pagers/NewPagesPager.php b/includes/specials/pagers/NewPagesPager.php index 61b648d4f6..f16a5cb615 100644 --- a/includes/specials/pagers/NewPagesPager.php +++ b/includes/specials/pagers/NewPagesPager.php @@ -39,6 +39,8 @@ class NewPagesPager extends ReverseChronologicalPager { } function getQueryInfo() { + $rcQuery = RecentChange::getQueryInfo(); + $conds = []; $conds['rc_new'] = 1; @@ -68,18 +70,19 @@ class NewPagesPager extends ReverseChronologicalPager { } if ( $user ) { - $conds['rc_user_text'] = $user->getText(); - $rcIndexes = 'rc_user_text'; + $conds[] = ActorMigration::newMigration()->getWhere( + $this->mDb, 'rc_user', User::newFromName( $user->getText(), false ), false + )['conds']; } elseif ( User::groupHasPermission( '*', 'createpage' ) && $this->opts->getValue( 'hideliu' ) ) { # If anons cannot make new pages, don't "exclude logged in users"! - $conds['rc_user'] = 0; + $conds[] = ActorMigration::newMigration()->isAnon( $rcQuery['fields']['rc_user'] ); } # If this user cannot see patrolled edits or they are off, don't do dumb queries! if ( $this->opts->getValue( 'hidepatrolled' ) && $this->getUser()->useNPPatrol() ) { - $conds['rc_patrolled'] = 0; + $conds['rc_patrolled'] = RecentChange::PRC_UNPATROLLED; } if ( $this->opts->getValue( 'hidebots' ) ) { @@ -90,17 +93,12 @@ class NewPagesPager extends ReverseChronologicalPager { $conds['page_is_redirect'] = 0; } - $commentQuery = CommentStore::getStore()->getJoin( 'rc_comment' ); - // Allow changes to the New Pages query - $tables = [ 'recentchanges', 'page' ] + $commentQuery['tables']; - $fields = [ - 'rc_namespace', 'rc_title', 'rc_cur_id', 'rc_user', 'rc_user_text', - 'rc_timestamp', 'rc_patrolled', 'rc_id', 'rc_deleted', - 'length' => 'page_len', 'rev_id' => 'page_latest', 'rc_this_oldid', - 'page_namespace', 'page_title' - ] + $commentQuery['fields']; - $join_conds = [ 'page' => [ 'INNER JOIN', 'page_id=rc_cur_id' ] ] + $commentQuery['joins']; + $tables = array_merge( $rcQuery['tables'], [ 'page' ] ); + $fields = array_merge( $rcQuery['fields'], [ + 'length' => 'page_len', 'rev_id' => 'page_latest', 'page_namespace', 'page_title' + ] ); + $join_conds = [ 'page' => [ 'INNER JOIN', 'page_id=rc_cur_id' ] ] + $rcQuery['joins']; // Avoid PHP 7.1 warning from passing $this by reference $pager = $this;