Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Wikipedia: Mediawiki-CVS

SVN: [59260] trunk/extensions/FlaggedRevs

 

 

Wikipedia mediawiki-cvs RSS feed   Index | Next | Previous | View Threaded


aaron at svn

Nov 19, 2009, 10:06 AM

Post #1 of 1 (72 views)
Permalink
SVN: [59260] trunk/extensions/FlaggedRevs

http://www.mediawiki.org/wiki/Special:Code/MediaWiki/59260

Revision: 59260
Author: aaron
Date: 2009-11-19 18:06:03 +0000 (Thu, 19 Nov 2009)

Log Message:
-----------
* Added reviewAfterEdit(),autoReviewEdits(),autoReviewNewPages(),getTagRestrictions()
* Removed redunant $frev check

Modified Paths:
--------------
trunk/extensions/FlaggedRevs/FlaggedArticleView.php
trunk/extensions/FlaggedRevs/FlaggedRevs.class.php
trunk/extensions/FlaggedRevs/FlaggedRevs.hooks.php
trunk/extensions/FlaggedRevs/specialpages/RevisionReview_body.php

Modified: trunk/extensions/FlaggedRevs/FlaggedArticleView.php
===================================================================
--- trunk/extensions/FlaggedRevs/FlaggedArticleView.php 2009-11-19 18:04:55 UTC (rev 59259)
+++ trunk/extensions/FlaggedRevs/FlaggedArticleView.php 2009-11-19 18:06:03 UTC (rev 59260)
@@ -635,12 +635,14 @@
# Check the newest stable version
$quality = 0;
if( $frev = $this->article->getStableRev() ) {
- global $wgLang, $wgUser, $wgFlaggedRevsAutoReview;
+ global $wgLang, $wgUser;
# Find out revision id
$revId = $editPage->oldid ?
$editPage->oldid : $this->article->getLatest();
# If this will be autoreviewed, notify the user...
- if( !FlaggedRevs::lowProfileUI() && $wgFlaggedRevsAutoReview && $wgUser->isAllowed('review') ) {
+ if( !FlaggedRevs::lowProfileUI() && FlaggedRevs::autoReviewEdits()
+ && $wgUser->isAllowed('review')
+ ) {
# If we are editing some reviewed revision, any changes this user
# makes will be autoreviewed...
$ofrev = FlaggedRevision::newFromTitle( $this->article->getTitle(), $revId );
@@ -1244,7 +1246,7 @@
* Only for people who can review and for pages that have a stable version.
*/
public function injectReviewDiffURLParams( &$sectionAnchor, &$extraQuery ) {
- global $wgUser, $wgReviewChangesAfterEdit;
+ global $wgUser;
$this->load();
# Don't show this for pages that are not reviewable
if( !$this->article->isReviewable() || $this->article->getTitle()->isTalkPage() )
@@ -1255,10 +1257,11 @@
$frev = $this->article->getStableRev( FR_MASTER );
if( !$frev )
return true;
+ # Get latest revision Id (lag safe)
$latest = $this->article->getTitle()->getLatestRevID(GAID_FOR_UPDATE);
// If we are supposed to review after edit, and it was not autoreviewed,
// and the user can actually make new stable version, take us to the diff...
- if( $wgReviewChangesAfterEdit && $frev && $latest > $frev->getRevId() && $frev->userCanSetFlags() ) {
+ if( FlaggedRevs::reviewAfterEdit() && $latest > $frev->getRevId() && $frev->userCanSetFlags() ) {
$extraQuery .= $extraQuery ? '&' : '';
$extraQuery .= "oldid={$frev->getRevId()}&diff=cur&diffonly=0"; // override diff-only
// ...otherwise, go to the current revision after completing an edit.

Modified: trunk/extensions/FlaggedRevs/FlaggedRevs.class.php
===================================================================
--- trunk/extensions/FlaggedRevs/FlaggedRevs.class.php 2009-11-19 18:04:55 UTC (rev 59259)
+++ trunk/extensions/FlaggedRevs/FlaggedRevs.class.php 2009-11-19 18:06:03 UTC (rev 59260)
@@ -108,6 +108,34 @@
global $wgUser, $wgSimpleFlaggedRevsUI;
return $wgUser->getOption( 'flaggedrevssimpleui', intval($wgSimpleFlaggedRevsUI) );
}
+
+ /**
+ * Redirect users out to review changes since stable version on save?
+ * @returns bool
+ */
+ public static function reviewAfterEdit() {
+ global $wgReviewChangesAfterEdit;
+ return (bool)$wgReviewChangesAfterEdit;
+ }
+
+ /**
+ * Allow auto-review edits directly to the stable version by reviewers?
+ * (1 to allow auto-sighting; 2 for auto-quality; 3 for auto-pristine)
+ * @returns bool
+ */
+ public static function autoReviewEdits() {
+ global $wgFlaggedRevsAutoReview;
+ return (int)$wgFlaggedRevsAutoReview;
+ }
+
+ /**
+ * Auto-review new pages with the minimal level?
+ * @returns bool
+ */
+ public static function autoReviewNewPages() {
+ global $wgFlaggedRevsAutoReviewNew;
+ return (bool)$wgFlaggedRevsAutoReviewNew;
+ }

/**
* Should pages have stable/draft tabs when not synced?
@@ -250,13 +278,24 @@
}

/**
- * Get the array of tag dimensions
+ * Get the associative array of tag dimensions
+ * (tags => array(levels => msgkey))
* @returns array
*/
public static function getTags() {
self::load();
return array_keys( self::$dimensions );
}
+
+ /**
+ * Get the associative array of tag restrictions
+ * (tags => array(rights => levels))
+ * @returns array
+ */
+ public static function getTagRestrictions() {
+ global $wgFlagRestrictions;
+ return $wgFlagRestrictions;
+ }

/**
* Get the message name for a tag
@@ -385,10 +424,10 @@
* @return mixed array or null
*/
public static function getAutoReviewTags( $quality, $config = array() ) {
- global $wgFlaggedRevsAutoReview;
- if( !$wgFlaggedRevsAutoReview ) return null; // shouldn't happen
+ if( !FlaggedRevs::autoReviewEdits() )
+ return null; // shouldn't happen
# Find the maximum auto-review quality level
- $qal = min($wgFlaggedRevsAutoReview-1,$quality);
+ $qal = min(FlaggedRevs::autoReviewEdits()-1,$quality);
# Pristine auto-review?
if( $qal == FR_PRISTINE ) {
$flags = self::quickTags( FR_PRISTINE );
@@ -746,7 +785,8 @@
$id = $rev ? $rev->getId() : null;
$title = $article->getTitle();
$options = self::makeParserOptions($anon);
- $currentOutput = $wgParser->parse( $text, $title, $options, /*$lineStart*/true, /*$clearState*/true, $id );
+ $currentOutput = $wgParser->parse( $text, $title, $options,
+ /*$lineStart*/true, /*$clearState*/true, $id );
# Might as well save the cache while we're at it
if( $wgEnableParserCache )
$parserCache->save( $currentOutput, $article, $anon );

Modified: trunk/extensions/FlaggedRevs/FlaggedRevs.hooks.php
===================================================================
--- trunk/extensions/FlaggedRevs/FlaggedRevs.hooks.php 2009-11-19 18:04:55 UTC (rev 59259)
+++ trunk/extensions/FlaggedRevs/FlaggedRevs.hooks.php 2009-11-19 18:06:03 UTC (rev 59260)
@@ -165,12 +165,11 @@
* Autoreview pages moved into content NS
*/
public static function onTitleMoveComplete( &$otitle, &$ntitle, $user, $pageId ) {
- global $wgFlaggedRevsAutoReviewNew;
$fa = FlaggedArticle::getTitleInstance( $ntitle );
// Re-validate NS/config (new title may not be reviewable)
if( $fa->isReviewable() ) {
// Moved from non-reviewable to reviewable NS?
- if( $wgFlaggedRevsAutoReviewNew && $user->isAllowed('autoreview')
+ if( FlaggedRevs::autoReviewNewPages() && $user->isAllowed('autoreview')
&& !FlaggedRevs::isPageReviewable( $otitle ) )
{
$rev = Revision::newFromTitle( $ntitle );
@@ -764,7 +763,7 @@
* Also automatically review if the "review this revision" box is checked.
*/
public static function maybeMakeEditReviewed( $article, $rev, $baseRevId = false, $user = null ) {
- global $wgFlaggedRevsAutoReview, $wgFlaggedRevsAutoReviewNew, $wgRequest;
+ global $wgRequest;
# Must be in reviewable namespace
$title = $article->getTitle();
if( !$rev || !FlaggedRevs::isPageReviewable( $title ) ) {
@@ -796,7 +795,7 @@
# Get sync cache key
$key = wfMemcKey( 'flaggedrevs', 'includesSynced', $rev->getPage() );
# Auto-reviewing must be enabled and user must have the required permissions
- if( !$wgFlaggedRevsAutoReview || !$user->isAllowed('autoreview') ) {
+ if( !FlaggedRevs::autoReviewEdits() || !$user->isAllowed('autoreview') ) {
$isAllowed = false; // untrusted user
} else {
# Get autoreview restriction settings...
@@ -854,7 +853,7 @@
}
// New pages
if( !$prevRevId ) {
- $reviewableNewPage = (bool)$wgFlaggedRevsAutoReviewNew;
+ $reviewableNewPage = FlaggedRevs::autoReviewNewPages();
// Edits to existing pages
} elseif( $baseRevId ) {
$frev = FlaggedRevision::newFromTitle( $title, $baseRevId, FR_MASTER );
@@ -1735,11 +1734,11 @@
}

public static function addReviewCheck( $editPage, &$checkboxes, &$tabindex ) {
- global $wgUser, $wgRequest, $wgFlaggedRevsAutoReviewNew;
+ global $wgUser, $wgRequest;
if( !$wgUser->isAllowed('review') ) {
return true;
}
- if( $wgFlaggedRevsAutoReviewNew && !$editPage->getArticle()->getId() ) {
+ if( FlaggedRevs::autoReviewNewPages() && !$editPage->getArticle()->getId() ) {
return true; // not needed
}
$fa = FlaggedArticleView::globalArticleInstance();

Modified: trunk/extensions/FlaggedRevs/specialpages/RevisionReview_body.php
===================================================================
--- trunk/extensions/FlaggedRevs/specialpages/RevisionReview_body.php 2009-11-19 18:04:55 UTC (rev 59259)
+++ trunk/extensions/FlaggedRevs/specialpages/RevisionReview_body.php 2009-11-19 18:06:03 UTC (rev 59260)
@@ -767,21 +767,22 @@
* @returns bool
*/
public static function userCan( $tag, $value, $config = null ) {
- global $wgFlagRestrictions, $wgUser;
+ global $wgUser;
+ $restrictions = FlaggedRevs::getTagRestrictions();
# Levels may not apply for some pages.
# Skip this check if $config is not given.
if( !is_null($config) && !self::levelAvailable($tag,$value,$config) ) {
return false;
}
# No restrictions -> full access
- if( !isset($wgFlagRestrictions[$tag]) )
+ if( !isset($restrictions[$tag]) )
return true;
# Validators always have full access
if( $wgUser->isAllowed('validate') )
return true;
# Check if this user has any right that lets him/her set
# up to this particular value
- foreach( $wgFlagRestrictions[$tag] as $right => $level ) {
+ foreach( $restrictions[$tag] as $right => $level ) {
if( $value <= $level && $level > 0 && $wgUser->isAllowed($right) ) {
return true;
}



_______________________________________________
MediaWiki-CVS mailing list
MediaWiki-CVS [at] lists
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Wikipedia mediawiki-cvs RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.