From: Brion Vibber Date: Tue, 25 Sep 2007 14:14:49 +0000 (+0000) Subject: Revert r26090 -- breaks parameters for Special:Newpages with no explanation other... X-Git-Tag: 1.31.0-rc.0~51294 X-Git-Url: http://git.cyclocoop.org///%22%40url%40//%22?a=commitdiff_plain;h=384688f39cbb5af345b8ee9cc4a5a8e8a4964d85;p=lhc%2Fweb%2Fwiklou.git Revert r26090 -- breaks parameters for Special:Newpages with no explanation other than a claim that they're unused o_O --- diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 197bfc4e0a..bdb140c2e5 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -67,9 +67,6 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN * (bug 11331) Add buildConcat() and use CASE not IF for DB compatibility. Make oldimage cascade delete via image table for Postgres, change fa_storage_key TEXT. * (bug 11438) Live Preview chops returned text -* (bug 8376) Special:Newpages accepts namespace in subpage form -* Make input form of Special:Newpages nicer for RTL wikis -* Fix namespace selection after submit of Special:Newpages * Show the right message on account creation when the user is blocked === API changes in 1.12 === diff --git a/includes/SpecialNewpages.php b/includes/SpecialNewpages.php index eb510d92f5..abd5e0180d 100644 --- a/includes/SpecialNewpages.php +++ b/includes/SpecialNewpages.php @@ -138,28 +138,19 @@ class NewPagesPage extends QueryPage { * @return string */ function getPageHeader() { - global $wgScript, $wgContLang; - $align = $wgContLang->isRTL() ? 'left' : 'right'; + global $wgScript; $self = SpecialPage::getTitleFor( $this->getName() ); - $form = Xml::openElement( 'form', array( 'method' => 'get', 'action' => $wgScript ) ) . - Xml::hidden( 'title', $self->getPrefixedDBkey() ) . - Xml::openElement( 'table' ) . - " - " . Xml::label( wfMsg( 'namespace' ), 'namespace' ) . " - " . Xml::namespaceSelector( intval( $this->namespace ), 'all' ) . " - - - " . Xml::label( wfMsg( 'newpages-username' ), 'mw-np-username' ) . " - " . Xml::input( 'username', 30, $this->username, array( 'id' => 'mw-np-username' ) ) . " - - - - " . Xml::submitButton( wfMsg( 'allpagessubmit' ) ) . " - " . - Xml::closeElement( 'table' ) . - Xml::hidden( 'offset', $this->offset ) . - Xml::hidden( 'limit', $this->limit ) . - Xml::closeElement( 'form' ); + $form = Xml::openElement( 'form', array( 'method' => 'get', 'action' => $wgScript ) ); + $form .= Xml::hidden( 'title', $self->getPrefixedDBkey() ); + # Namespace selector + $form .= ''; + $form .= ''; + # Username filter + $form .= ''; + $form .= ''; + + $form .= '
' . Xml::label( wfMsg( 'namespace' ), 'namespace' ) . '' . Xml::namespaceSelector( $this->namespace, 'all' ) . '
' . Xml::label( wfMsg( 'newpages-username' ), 'mw-np-username' ) . '' . Xml::input( 'username', 30, $this->username, array( 'id' => 'mw-np-username' ) ) . '
' . Xml::submitButton( wfMsg( 'allpagessubmit' ) ) . '
'; + $form .= Xml::hidden( 'offset', $this->offset ) . Xml::hidden( 'limit', $this->limit ) . ''; return $form; } @@ -177,7 +168,7 @@ class NewPagesPage extends QueryPage { /** * constructor */ -function wfSpecialNewpages( $par, $specialPage ) { +function wfSpecialNewpages($par, $specialPage) { global $wgRequest, $wgContLang; list( $limit, $offset ) = wfCheckLimits(); @@ -185,13 +176,32 @@ function wfSpecialNewpages( $par, $specialPage ) { $username = ''; if ( $par ) { - $namespace = $wgContLang->getNsIndex( $par ); + $bits = preg_split( '/\s*,\s*/', trim( $par ) ); + foreach ( $bits as $bit ) { + if ( 'shownav' == $bit ) + $shownavigation = true; + if ( is_numeric( $bit ) ) + $limit = $bit; + + $m = array(); + if ( preg_match( '/^limit=(\d+)$/', $bit, $m ) ) + $limit = intval($m[1]); + if ( preg_match( '/^offset=(\d+)$/', $bit, $m ) ) + $offset = intval($m[1]); + if ( preg_match( '/^namespace=(.*)$/', $bit, $m ) ) { + $ns = $wgContLang->getNsIndex( $m[1] ); + if( $ns !== false ) { + $namespace = $ns; + } + } + } } else { if( $ns = $wgRequest->getText( 'namespace', NS_MAIN ) ) $namespace = $ns; + if( $un = $wgRequest->getText( 'username' ) ) + $username = $un; } - if( $un = $wgRequest->getText( 'username' ) ) - $username = $un; + if ( ! isset( $shownavigation ) ) $shownavigation = ! $specialPage->including(); @@ -199,4 +209,4 @@ function wfSpecialNewpages( $par, $specialPage ) { if ( ! $npp->doFeed( $wgRequest->getVal( 'feed' ), $limit ) ) $npp->doQuery( $offset, $limit, $shownavigation ); -} +} \ No newline at end of file