<?php
/**
- *
- * @addtogroup SpecialPage
+ * @file
+ * @ingroup SpecialPage
*/
/**
* implements Special:Newpages
- * @addtogroup SpecialPage
+ * @ingroup SpecialPage
*/
class NewPagesForm {
$opts->add( 'hidepatrolled', false );
$opts->add( 'hidebots', false );
$opts->add( 'limit', 50 );
- $opts->add( 'offset', 0 );
+ $opts->add( 'offset', '' );
$opts->add( 'namespace', '0' );
$opts->add( 'username', '' );
$opts->add( 'feed', '' );
}
protected function parseParams( $par ) {
+ global $wgLang;
$bits = preg_split( '/\s*,\s*/', trim( $par ) );
foreach ( $bits as $bit ) {
if ( 'shownav' == $bit )
$m = array();
if ( preg_match( '/^limit=(\d+)$/', $bit, $m ) )
$this->opts->setValue( 'limit', intval($m[1]) );
- if ( preg_match( '/^offset=(\d+)$/', $bit, $m ) )
+ // PG offsets not just digits!
+ if ( preg_match( '/^offset=([^=]+)$/', $bit, $m ) )
$this->opts->setValue( 'offset', intval($m[1]) );
if ( preg_match( '/^namespace=(.*)$/', $bit, $m ) ) {
$ns = $wgLang->getNsIndex( $m[1] );
if ( $wgGroupPermissions['*']['createpage'] !== true )
unset($filters['hideliu']);
- if ( $wgUser->useNPPatrol() )
+ if ( !$wgUser->useNPPatrol() )
unset($filters['hidepatrolled']);
$links = array();
$ulink = $this->skin->userLink( $result->rc_user, $result->rc_user_text ) . ' ' .
$this->skin->userToolLinks( $result->rc_user, $result->rc_user_text );
$comment = $this->skin->commentBlock( $result->rc_comment );
- $css = $this->patrollable( $result ) ? 'not-patrolled' : '';
+ $css = $this->patrollable( $result ) ? " class='not-patrolled'" : '';
- return "<li class='$css'>{$time} {$dm}{$plink} ({$hist}) {$dm}[{$length}] {$dm}{$ulink} {$comment}</li>\n";
+ return "<li{$css}>{$time} {$dm}{$plink} ({$hist}) {$dm}[{$length}] {$dm}{$ulink} {$comment}</li>\n";
}
/**
$this->title->getFullUrl() );
$pager = new NewPagesPager( $this, $this->opts );
+ $limit = $this->opts->getValue( 'limit' );
+ global $wgFeedLimit;
+ if( $limit > $wgFeedLimit ) {
+ $limit = $wgFeedLimit;
+ }
+ $pager->mLimit = $limit;
$feed->outHeader();
if( $pager->getNumRows() > 0 ) {
}
/**
- * @addtogroup Pager
+ * @ingroup SpecialPage Pager
*/
class NewPagesPager extends ReverseChronologicalPager {
// Stored opts