From: mrbluesky Date: Sat, 16 Feb 2013 00:43:38 +0000 (+0100) Subject: (bug 43467) Add invert selection for ns in Special:Newpages X-Git-Tag: 1.31.0-rc.0~20656^2 X-Git-Url: http://git.cyclocoop.org/%24action?a=commitdiff_plain;h=510c1d1fd027a90e10d89b249351dec8ab8cb98a;p=lhc%2Fweb%2Fwiklou.git (bug 43467) Add invert selection for ns in Special:Newpages Add invert selection checkbox for namespace on Special:NewPages. Change-Id: Ie3f72d97e2ba217ba39f6c1b4bf747e71c7a5ae3 --- 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' );