*
* @param $offset database query offset
* @param $limit database query limit
+ * @param $shownavigation show navigation like "next 200"?
*/
- function doQuery( $offset, $limit ) {
+ function doQuery( $offset, $limit, $shownavigation=true ) {
global $wgUser, $wgOut, $wgLang, $wgRequest, $wgContLang;
global $wgMiserMode;
$sk = $wgUser->getSkin( );
- $wgOut->addHTML( $this->getPageHeader() );
-
- $top = wfShowingResults( $offset, $num);
- $wgOut->addHTML( "<p>{$top}\n" );
-
- # often disable 'next' link when we reach the end
- if($num < $limit) { $atend = true; } else { $atend = false; }
-
- $sl = wfViewPrevNext( $offset, $limit , $wgContLang->specialPage( $sname ), "" ,$atend );
- $wgOut->addHTML( "<br />{$sl}</p>\n" );
-
+ if($shownavigation) {
+ $wgOut->addHTML( $this->getPageHeader() );
+ $top = wfShowingResults( $offset, $num);
+ $wgOut->addHTML( "<p>{$top}\n" );
+
+ # often disable 'next' link when we reach the end
+ if($num < $limit) { $atend = true; } else { $atend = false; }
+
+ $sl = wfViewPrevNext( $offset, $limit , $wgContLang->specialPage( $sname ), "" ,$atend );
+ $wgOut->addHTML( "<br />{$sl}</p>\n" );
+ }
if ( $num > 0 ) {
$s = "<ol start='" . ( $offset + 1 ) . "' class='special'>";
$s .= '</ol>';
$wgOut->addHTML( $s );
}
- $wgOut->addHTML( "<p>{$sl}</p>\n" );
+ if($shownavigation) {
+ $wgOut->addHTML( "<p>{$sl}</p>\n" );
+ }
return $num;
}
/**
* constructor
*/
-function wfSpecialNewpages()
+function wfSpecialNewpages($par, $specialPage)
{
global $wgRequest;
- list( $limit, $offset ) = wfCheckLimits();
+ list( $limit, $offset ) = wfCheckLimits();
+ if( $par ) {
+ $bits = preg_split( '/\s*,\s*/', trim( $par ) );
+ foreach ( $bits as $bit ) {
+ if ( 'shownav' == $bit ) $shownavigation = 1;
+ if ( is_numeric( $bit ) ) {
+ $limit = $bit;
+ }
+
+ if ( preg_match( '/^limit=(\d+)$/', $bit, $m ) ) {
+ $limit = intval($m[1]);
+ }
+ if ( preg_match( '/^offset=(\d+)$/', $bit, $m ) ) {
+ $offset = intval($m[1]);
+ }
+ }
+ }
+ if(!isset($shownavigation)) {
+ $shownavigation=!$specialPage->including();
+ }
- $npp = new NewPagesPage();
+ $npp = new NewPagesPage();
- if( !$npp->doFeed( $wgRequest->getVal( 'feed' ) ) ) {
- $npp->doQuery( $offset, $limit );
+ if( !$npp->doFeed( $wgRequest->getVal( 'feed' ) ) ) {
+ $npp->doQuery( $offset, $limit, $shownavigation );
}
}
'Wantedpages' => new SpecialPage( 'Wantedpages' ),
'Shortpages' => new SpecialPage( 'Shortpages' ),
'Longpages' => new SpecialPage( 'Longpages' ),
- 'Newpages' => new SpecialPage( 'Newpages' ),
+ 'Newpages' => new IncludableSpecialPage( 'Newpages' ),
'Ancientpages' => new SpecialPage( 'Ancientpages' ),
'Deadendpages' => new SpecialPage( 'Deadendpages' ),
'Allpages' => new IncludableSpecialPage( 'Allpages' ),