It helps when you don't break things...
[lhc/web/wiklou.git] / includes / SpecialNewpages.php
index 48037a7..02ba885 100644 (file)
@@ -36,12 +36,19 @@ class NewPagesPage extends QueryPage {
                }
        }
 
+       private function makeNamespaceWhere() {
+               return $this->namespace !== 'all'
+                       ? ' AND rc_namespace = ' . intval( $this->namespace )
+                       : '';
+       }
+
        function getSQL() {
                global $wgUser, $wgUseRCPatrol;
                $usepatrol = ( $wgUseRCPatrol && $wgUser->isAllowed( 'patrol' ) ) ? 1 : 0;
                $dbr = wfGetDB( DB_SLAVE );
                list( $recentchanges, $page ) = $dbr->tableNamesN( 'recentchanges', 'page' );
 
+               $nsfilter = $this->makeNamespaceWhere();
                $uwhere = $this->makeUserWhere( $dbr );
 
                # FIXME: text will break with compression
@@ -62,7 +69,8 @@ class NewPagesPage extends QueryPage {
                                page_latest as rev_id
                        FROM $recentchanges,$page
                        WHERE rc_cur_id=page_id AND rc_new=1
-                       AND rc_namespace=" . $this->namespace . " AND page_is_redirect=0
+                       {$nsfilter}
+                       AND page_is_redirect = 0
                        {$uwhere}";
        }
        
@@ -134,7 +142,7 @@ class NewPagesPage extends QueryPage {
                $form = Xml::openElement( 'form', array( 'method' => 'post', 'action' => $self->getLocalUrl() ) );
                # Namespace selector
                $form .= '<table><tr><td align="right">' . Xml::label( wfMsg( 'namespace' ), 'namespace' ) . '</td>';
-               $form .= '<td>' . Xml::namespaceSelector( $this->namespace ) . '</td></tr>';
+               $form .= '<td>' . Xml::namespaceSelector( $this->namespace, 'all' ) . '</td></tr>';
                # Username filter
                $form .= '<tr><td align="right">' . Xml::label( wfMsg( 'newpages-username' ), 'mw-np-username' ) . '</td>';
                $form .= '<td>' . Xml::input( 'username', 30, $this->username, array( 'id' => 'mw-np-username' ) ) . '</td></tr>';
@@ -186,7 +194,7 @@ function wfSpecialNewpages($par, $specialPage) {
                        }
                }
        } else {
-               if( $ns = $wgRequest->getInt( 'namespace', 0 ) )
+               if( $ns = $wgRequest->getText( 'namespace', NS_MAIN ) )
                        $namespace = $ns;
                if( $un = $wgRequest->getText( 'username' ) )
                        $username = $un;
@@ -201,4 +209,4 @@ function wfSpecialNewpages($par, $specialPage) {
                $npp->doQuery( $offset, $limit, $shownavigation );
 }
 
-?>
+