Merge "Add option for confirmation prompts on rollbacks"
[lhc/web/wiklou.git] / includes / specials / SpecialNewpages.php
index 5ba7c88..2bbc0bf 100644 (file)
@@ -76,19 +76,19 @@ class SpecialNewpages extends IncludableSpecialPage {
        protected function parseParams( $par ) {
                $bits = preg_split( '/\s*,\s*/', trim( $par ) );
                foreach ( $bits as $bit ) {
-                       if ( 'shownav' == $bit ) {
+                       if ( $bit === 'shownav' ) {
                                $this->showNavigation = true;
                        }
-                       if ( 'hideliu' === $bit ) {
+                       if ( $bit === 'hideliu' ) {
                                $this->opts->setValue( 'hideliu', true );
                        }
-                       if ( 'hidepatrolled' == $bit ) {
+                       if ( $bit === 'hidepatrolled' ) {
                                $this->opts->setValue( 'hidepatrolled', true );
                        }
-                       if ( 'hidebots' == $bit ) {
+                       if ( $bit === 'hidebots' ) {
                                $this->opts->setValue( 'hidebots', true );
                        }
-                       if ( 'showredirs' == $bit ) {
+                       if ( $bit === 'showredirs' ) {
                                $this->opts->setValue( 'hideredirs', false );
                        }
                        if ( is_numeric( $bit ) ) {
@@ -192,9 +192,12 @@ class SpecialNewpages extends IncludableSpecialPage {
                // wfArrayToCgi(), called from LinkRenderer/Title, will not output null and false values
                // to the URL, which would omit some options (T158504). Fix it by explicitly setting them
                // to 0 or 1.
-               $changed = array_map( function ( $value ) {
-                       return $value ? '1' : '0';
-               }, $changed );
+               // Also do this only for boolean options, not eg. namespace or tagfilter
+               foreach ( $changed as $key => $value ) {
+                       if ( array_key_exists( $key, $filters ) ) {
+                               $changed[$key] = $changed[$key] ? '1' : '0';
+                       }
+               }
 
                $self = $this->getPageTitle();
                $linkRenderer = $this->getLinkRenderer();