From 3a0f8d4f318198cb05d500793893b111bdcaf061 Mon Sep 17 00:00:00 2001 From: Raimond Spekking Date: Mon, 24 Sep 2007 21:27:15 +0000 Subject: [PATCH] * (bug 8376) Special:Newpages accepts namespace in subpage form (again?) * Removing some code which seems useless/outdated, parameters &limit=, &offset=, &username=... works furthermore * Make input form nicer for RTL wikis * Found and fixed another bug: namespace selection was lost after submit --- RELEASE-NOTES | 3 ++ includes/SpecialNewpages.php | 62 +++++++++++++++--------------------- 2 files changed, 29 insertions(+), 36 deletions(-) diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 5a29d3b7aa..2bba63b7ba 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -67,6 +67,9 @@ 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 === API changes in 1.12 === diff --git a/includes/SpecialNewpages.php b/includes/SpecialNewpages.php index abd5e0180d..eb510d92f5 100644 --- a/includes/SpecialNewpages.php +++ b/includes/SpecialNewpages.php @@ -138,19 +138,28 @@ class NewPagesPage extends QueryPage { * @return string */ function getPageHeader() { - global $wgScript; + global $wgScript, $wgContLang; + $align = $wgContLang->isRTL() ? 'left' : 'right'; $self = SpecialPage::getTitleFor( $this->getName() ); - $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 ) . ''; + $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' ); return $form; } @@ -168,7 +177,7 @@ class NewPagesPage extends QueryPage { /** * constructor */ -function wfSpecialNewpages($par, $specialPage) { +function wfSpecialNewpages( $par, $specialPage ) { global $wgRequest, $wgContLang; list( $limit, $offset ) = wfCheckLimits(); @@ -176,32 +185,13 @@ function wfSpecialNewpages($par, $specialPage) { $username = ''; if ( $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; - } - } - } + $namespace = $wgContLang->getNsIndex( $par ); } 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(); @@ -209,4 +199,4 @@ function wfSpecialNewpages($par, $specialPage) { if ( ! $npp->doFeed( $wgRequest->getVal( 'feed' ), $limit ) ) $npp->doQuery( $offset, $limit, $shownavigation ); -} \ No newline at end of file +} -- 2.20.1