From 510c1d1fd027a90e10d89b249351dec8ab8cb98a Mon Sep 17 00:00:00 2001 From: mrbluesky Date: Sat, 16 Feb 2013 01:43:38 +0100 Subject: [PATCH] (bug 43467) Add invert selection for ns in Special:Newpages Add invert selection checkbox for namespace on Special:NewPages. Change-Id: Ie3f72d97e2ba217ba39f6c1b4bf747e71c7a5ae3 --- includes/specials/SpecialNewpages.php | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/includes/specials/SpecialNewpages.php b/includes/specials/SpecialNewpages.php index cc301a591d..0499e57296 100644 --- a/includes/specials/SpecialNewpages.php +++ b/includes/specials/SpecialNewpages.php @@ -59,6 +59,7 @@ class SpecialNewpages extends IncludableSpecialPage { $opts->add( 'username', '' ); $opts->add( 'feed', '' ); $opts->add( 'tagfilter', '' ); + $opts->add( 'invert', false ); $this->customFilters = array(); wfRunHooks( 'SpecialNewPagesFilters', array( $this, &$this->customFilters ) ); @@ -211,6 +212,7 @@ class SpecialNewpages extends IncludableSpecialPage { $namespace = $this->opts->consumeValue( 'namespace' ); $username = $this->opts->consumeValue( 'username' ); $tagFilterVal = $this->opts->consumeValue( 'tagfilter' ); + $nsinvert = $this->opts->consumeValue( 'invert' ); // Check username input validity $ut = Title::makeTitleSafe( NS_USER, $username ); @@ -246,6 +248,13 @@ class SpecialNewpages extends IncludableSpecialPage { 'id' => 'namespace', 'class' => 'namespaceselector', ) + ) . ' ' . + Xml::checkLabel( + $this->msg( 'invert' )->text(), + 'invert', + 'nsinvert', + $nsinvert, + array( 'title' => $this->msg( 'tooltip-invert' )->text() ) ) . ' ' . ( $tagFilter ? ( @@ -499,7 +508,11 @@ class NewPagesPager extends ReverseChronologicalPager { $user = Title::makeTitleSafe( NS_USER, $username ); if( $namespace !== false ) { - $conds['rc_namespace'] = $namespace; + if ( $this->opts->getValue( 'invert' ) ) { + $conds[] = 'rc_namespace != ' . $this->mDb->addQuotes( $namespace ); + } else { + $conds['rc_namespace'] = $namespace; + } $rcIndexes = array( 'new_name_timestamp' ); } else { $rcIndexes = array( 'rc_timestamp' ); -- 2.20.1