Revision: 48714
Author: aaron
Date: 2009-03-23 20:00:45 +0000 (Mon, 23 Mar 2009)
Log Message:
-----------
Added stability filter
Modified Paths:
--------------
trunk/extensions/FlaggedRevs/language/OldReviewedPages.i18n.php
trunk/extensions/FlaggedRevs/specialpages/OldReviewedPages_body.php
Modified: trunk/extensions/FlaggedRevs/language/OldReviewedPages.i18n.php
===================================================================
--- trunk/extensions/FlaggedRevs/language/OldReviewedPages.i18n.php
2009-03-23 19:58:07 UTC (rev 48713)
+++ trunk/extensions/FlaggedRevs/language/OldReviewedPages.i18n.php
2009-03-23 20:00:45 UTC (rev 48714)
@@ -17,6 +17,7 @@
'oldreviewedpages-recent' => '(less than 1 hour)',
'oldreviewed-category' => 'Category:',
'oldreviewed-watched' => 'On my watchlist',
+ 'oldreviewed-stable' => 'Stabilized',
'oldreviewed-diff' => 'review',
'oldreviewed-size' => 'Max change (bytes):',
'oldreviewedpages-unwatched' => '(unwatched)',
Modified: trunk/extensions/FlaggedRevs/specialpages/OldReviewedPages_body.php
===================================================================
--- trunk/extensions/FlaggedRevs/specialpages/OldReviewedPages_body.php
2009-03-23 19:58:07 UTC (rev 48713)
+++ trunk/extensions/FlaggedRevs/specialpages/OldReviewedPages_body.php
2009-03-23 20:00:45 UTC (rev 48714)
@@ -22,6 +22,7 @@
$this->category = trim( $wgRequest->getVal( 'category' ) );
$this->size = $wgRequest->getIntOrNull( 'size' );
$this->watched = $wgRequest->getCheck( 'watched' );
+ $this->stable = $wgRequest->getCheck( 'stable' );
$feedType = $wgRequest->getVal( 'feed' );
if( $feedType ) {
return $this->feed( $feedType );
@@ -45,36 +46,51 @@
global $wgOut, $wgScript, $wgUser, $wgFlaggedRevsNamespaces;
$limit = $this->parseParams( $par );
$pager = new OldReviewedPagesPager( $this, $this->namespace,
$this->level,
- $this->category, $this->size, $this->watched );
+ $this->category, $this->size, $this->watched,
$this->stable );
+ // Apply limit if transcluded
$pager->mLimit = $limit ? $limit : $pager->mLimit;
// Viewing the page normally...
if( !$this->including() ) {
$action = htmlspecialchars( $wgScript );
- $wgOut->addHTML(
+ $wgOut->addHTML(
"<form action=\"$action\" method=\"get\">\n" .
'<fieldset><legend>' .
wfMsg('oldreviewedpages-legend') . '</legend>' .
Xml::hidden( 'title',
$this->getTitle()->getPrefixedDBKey() )
);
- # Display dropdowns as needed
- if( count($wgFlaggedRevsNamespaces) > 1 ) {
- $wgOut->addHTML(
FlaggedRevsXML::getNamespaceMenu( $this->namespace, '' ) . ' ' );
- }
- if( FlaggedRevs::qualityVersions() ) {
- $wgOut->addHTML( FlaggedRevsXML::getLevelMenu(
$this->level ) . ' ' );
- }
- $wgOut->addHTML(
- Xml::label( wfMsg("oldreviewed-category"),
'wpCategory' ) . ' ' .
- Xml::input( 'category', 30, $this->category,
array('id' => 'wpCategory') ) . '<br/>' .
- Xml::label( wfMsg('oldreviewed-size'), 'wpSize'
) . ' ' .
- Xml::input( 'size', 5, $this->size, array( 'id'
=> 'wpSize' ) ) . ' ' .
+ $form =
+ ( count($wgFlaggedRevsNamespaces) > 1 ?
+ "<span style='white-space: nowrap;'>" .
+ FlaggedRevsXML::getNamespaceMenu(
$this->namespace, '' ) . '</span> '
+ : ""
+ ) .
+ ( FlaggedRevs::qualityVersions() ?
+ "<span style='white-space: nowrap;'>" .
+ FlaggedRevsXML::getLevelMenu(
$this->level ) . '</span> '
+ : ""
+ ) .
+ ( !FlaggedRevs::showStableByDefault() ?
+ "<span style='white-space: nowrap;'>" .
+ Xml::check( 'stable', $this->stable,
array( 'id' => 'wpStable' ) ) .
+ Xml::label(
wfMsg('oldreviewed-stable'), 'wpStable' ) . '</span> '
+ : ""
+ );
+ if( $form ) $form .= '<br/>';
+ $form .=
+ Xml::label( wfMsg("oldreviewed-category"),
'wpCategory' ) . ' ' .
+ Xml::input( 'category', 30, $this->category,
array('id' => 'wpCategory') ) . ' ' .
( $wgUser->getId() ?
- Xml::label(
wfMsg('oldreviewed-watched'), 'wpWatched' ) . ' ' .
- Xml::check( 'watched', $this->watched,
array( 'id' => 'wpWatched' ) )
- : ""
- ) .
- ' ' . Xml::submitButton( wfMsg(
'allpagessubmit' ) ) . "\n" .
- "</fieldset></form>"
- );
+ Xml::check( 'watched', $this->watched,
array( 'id' => 'wpWatched' ) ) .
+ Xml::label(
wfMsg('oldreviewed-watched'), 'wpWatched' ) . ' '
+ : ""
+ );
+ $form .= '<br/>' .
+ Xml::label( wfMsg('oldreviewed-size'), 'wpSize'
) .
+ Xml::input( 'size', 4, $this->size, array( 'id'
=> 'wpSize' ) ) . ' ' .
+ Xml::submitButton( wfMsg( 'allpagessubmit' ) )
. "\n" .
+ "</fieldset></form>";
+ # Add filter options
+ $wgOut->addHTML( $form );
+ # Add list output
$wgOut->addHTML( wfMsgExt('oldreviewedpages-list',
array('parse') ) );
if( $pager->getNumRows() ) {
$wgOut->addHTML( $pager->getNavigationBar() );
@@ -166,7 +182,8 @@
$curRev = Revision::newFromTitle( $title );
return new FeedItem(
$title->getPrefixedText(),
- FeedUtils::formatDiffRow( $title,
$row->fp_stable, $curRev->getId(), $row->fp_pending_since,
$curRev->getComment() ),
+ FeedUtils::formatDiffRow( $title,
$row->fp_stable, $curRev->getId(),
+ $row->fp_pending_since,
$curRev->getComment() ),
$title->getFullURL(),
$date,
$curRev->getUserText(),
@@ -266,7 +283,9 @@
public $mForm, $mConds;
private $category, $namespace;
- function __construct( $form, $namespace, $level=NULL, $category='',
$size=NULL, $watched=false ) {
+ function __construct( $form, $namespace, $level=NULL, $category='',
$size=NULL,
+ $watched=false, $stable=false )
+ {
$this->mForm = $form;
# Must be a content page...
global $wgFlaggedRevsNamespaces;
@@ -284,6 +303,7 @@
$this->category = $category ? str_replace(' ','_',$category) :
NULL;
$this->size = $size ? $size : NULL;
$this->watched = (bool)$watched;
+ $this->stable = $stable && !FlaggedRevs::showStableByDefault();
parent::__construct();
// Don't get to expensive
$this->mLimitsShown = array( 20, 50, 100 );
@@ -318,6 +338,12 @@
# 0 = sighted; 1 = quality/pristine
$conds[] = ( $this->level == 0 ) ? 'fp_quality = 0' :
'fp_quality >= 1';
}
+ # Filter by pages configured to be stable
+ if( $this->stable ) {
+ $tables[] = 'flaggedpage_config';
+ $conds[] = 'fp_page_id = fpc_page_id';
+ $conds['fpc_override'] = 1;
+ }
# Filter by category
if( $this->category ) {
$tables[] = 'categorylinks';
@@ -326,7 +352,7 @@
$useIndex['categorylinks'] = 'cl_from';
}
# Filter by watchlist
- if( $this->watched && $uid = $wgUser->getId() ) {
+ if( $this->watched && ($uid = $wgUser->getId()) ) {
$tables[] = 'watchlist';
$conds[] = "wl_user = '$uid'";
$conds[] = 'page_namespace = wl_namespace';
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs