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

Revision: 61883
Author:   aaron
Date:     2010-02-02 21:49:38 +0000 (Tue, 02 Feb 2010)

Log Message:
-----------
* Moved efLoadFlaggedRevsSpecialPages to the hooks class
* Added efSetFlaggedRevsConditionalHooks() and moved contribs hooks there

Modified Paths:
--------------
    trunk/extensions/FlaggedRevs/FlaggedRevs.hooks.php
    trunk/extensions/FlaggedRevs/FlaggedRevs.php

Modified: trunk/extensions/FlaggedRevs/FlaggedRevs.hooks.php
===================================================================
--- trunk/extensions/FlaggedRevs/FlaggedRevs.hooks.php  2010-02-02 21:46:51 UTC 
(rev 61882)
+++ trunk/extensions/FlaggedRevs/FlaggedRevs.hooks.php  2010-02-02 21:49:38 UTC 
(rev 61883)
@@ -1,6 +1,40 @@
 <?php
 
 class FlaggedRevsHooks {
+       /* 
+        * Register FlaggedRevs special pages as needed. 
+        * Also sets $wgSpecialPages just to be consistent.
+        */
+       public static function defineSpecialPages( &$list ) {
+               global $wgSpecialPages, $wgUseTagFilter;
+               global $wgFlaggedRevsNamespaces, $wgFlaggedRevsOverride, 
$wgFlaggedRevsProtectLevels;
+               // Show special pages only if FlaggedRevs is enabled on some 
namespaces
+               if ( empty( $wgFlaggedRevsNamespaces ) ) {
+                       return true;
+               }
+               $list['RevisionReview'] = $wgSpecialPages['RevisionReview'] = 
'RevisionReview';
+               $list['ReviewedVersions'] = $wgSpecialPages['ReviewedVersions'] 
= 'ReviewedVersions';
+               // Protect levels define allowed stability settings
+               if ( empty( $wgFlaggedRevsProtectLevels ) ) {
+                       $list['Stabilization'] = 
$wgSpecialPages['Stabilization'] = 'Stabilization';
+               }
+               $list['UnreviewedPages'] = $wgSpecialPages['UnreviewedPages'] = 
'UnreviewedPages';
+               $list['OldReviewedPages'] = $wgSpecialPages['OldReviewedPages'] 
= 'OldReviewedPages';
+               // Show tag filtered pending edit page if there are tags
+               if ( $wgUseTagFilter && ChangeTags::listDefinedTags() ) {
+                       $list['ProblemChanges'] = 
$wgSpecialPages['ProblemChanges'] = 'ProblemChanges';
+               }
+               $list['ReviewedPages'] = $wgSpecialPages['ReviewedPages'] = 
'ReviewedPages';
+               $list['QualityOversight'] = $wgSpecialPages['QualityOversight'] 
= 'QualityOversight';
+               $list['ValidationStatistics'] = 
$wgSpecialPages['ValidationStatistics'] = 'ValidationStatistics';
+               if ( !$wgFlaggedRevsOverride ) {
+                       $list['StablePages'] = $wgSpecialPages['StablePages'] = 
'StablePages';
+               } else {
+                       $list['UnstablePages'] = 
$wgSpecialPages['UnstablePages'] = 'UnstablePages';
+               }
+               return true;
+       }
+
        /**
        * Add FlaggedRevs css/js.
        */
@@ -1694,9 +1728,6 @@
        }
        
        public static function addToContribsQuery( $pager, &$queryInfo ) {
-               if ( FlaggedRevs::stableOnlyIfConfigured() ) {
-                       return true; // don't show colors if almost nothing 
will be highlighted
-               }
                # Highlight flaggedrevs
                $queryInfo['tables'][] = 'flaggedrevs';
                $queryInfo['fields'][] = 'fr_quality';
@@ -1828,8 +1859,6 @@
        }
        
        public static function addToContribsLine( $contribs, &$ret, $row ) {
-               if ( FlaggedRevs::stableOnlyIfConfigured() )
-                       return true; // don't show colors if almost nothing 
will be highlighted
                $namespaces = FlaggedRevs::getReviewNamespaces();
                if ( !in_array( $row->page_namespace, $namespaces ) ) {
                        // do nothing

Modified: trunk/extensions/FlaggedRevs/FlaggedRevs.php
===================================================================
--- trunk/extensions/FlaggedRevs/FlaggedRevs.php        2010-02-02 21:46:51 UTC 
(rev 61882)
+++ trunk/extensions/FlaggedRevs/FlaggedRevs.php        2010-02-02 21:49:38 UTC 
(rev 61883)
@@ -435,9 +435,6 @@
 $wgHooks['SpecialRecentChangesQuery'][] = 'FlaggedRevsHooks::addToRCQuery';
 $wgHooks['SpecialWatchlistQuery'][] = 'FlaggedRevsHooks::addToWatchlistQuery';
 $wgHooks['ChangesListInsertArticleLink'][] = 
'FlaggedRevsHooks::addToChangeListLine';
-# Mark items in user contribs
-$wgHooks['ContribsPager::getQueryInfo'][] = 
'FlaggedRevsHooks::addToContribsQuery';
-$wgHooks['ContributionsLineEnding'][] = 'FlaggedRevsHooks::addToContribsLine';
 # Page review on edit
 $wgHooks['ArticleUpdateBeforeRedirect'][] = 
'FlaggedRevsHooks::injectPostEditURLParams';
 # Diff-to-stable
@@ -515,7 +512,7 @@
 $wgHooks['MediaWikiPerformAction'][] = 'FlaggedRevsHooks::markUnderReview';
 
 # Actually register special pages
-$wgHooks['SpecialPage_initList'][] = 'efLoadFlaggedRevsSpecialPages';
+$wgHooks['SpecialPage_initList'][] = 'FlaggedRevsHooks::defineSpecialPages';
 
 # Stable dump hook
 $wgHooks['WikiExporter::dumpStableQuery'][] = 
'FlaggedRevsHooks::stableDumpQuery';
@@ -524,6 +521,19 @@
 $wgHooks['ParserTestTables'][] = 'FlaggedRevsHooks::onParserTestTables';
 # ########
 
+function efSetFlaggedRevsConditionalHooks() {
+       global $wgHooks, $wgFlaggedRevsVisible;
+       # Mark items in user contribs
+       if ( !FlaggedRevs::stableOnlyIfConfigured() ) {
+               $wgHooks['ContribsPager::getQueryInfo'][] = 
'FlaggedRevsHooks::addToContribsQuery';
+               $wgHooks['ContributionsLineEnding'][] = 
'FlaggedRevsHooks::addToContribsLine';
+       }
+       # Visibility - experimental
+       if ( !empty( $wgFlaggedRevsVisible ) ) {
+               $wgHooks['getUserPermissionsErrors'][] = 
'FlaggedRevsHooks::userCanView';
+       }
+}
+
 ######## END HOOK TRIGGERED FUNCTIONS  #########
 
 function efLoadFlaggedRevs() {
@@ -539,50 +549,13 @@
        if ( !empty( $wgFlaggedRevsNamespaces ) ) {
                $wgUseRCPatrol = true;
        }
-       # Visibility - experimental
-       if ( !empty( $wgFlaggedRevsVisible ) ) {
-               global $wgHooks;
-               $wgHooks['getUserPermissionsErrors'][] = 
'FlaggedRevsHooks::userCanView';
-       }
+       # Load hooks that aren't always set
+       efSetFlaggedRevsConditionalHooks();
        # Don't show autoreview group everywhere
        global $wgImplicitGroups;
        $wgImplicitGroups[] = 'autoreview';
 }
 
-/* 
- * Register FlaggedRevs special pages as needed. 
- * Also sets $wgSpecialPages just to be consistent.
- */
-function efLoadFlaggedRevsSpecialPages( &$list ) {
-       global $wgSpecialPages, $wgUseTagFilter;
-       global $wgFlaggedRevsNamespaces, $wgFlaggedRevsOverride, 
$wgFlaggedRevsProtectLevels;
-       // Show special pages only if FlaggedRevs is enabled on some namespaces
-       if ( empty( $wgFlaggedRevsNamespaces ) ) {
-               return true;
-       }
-       $list['RevisionReview'] = $wgSpecialPages['RevisionReview'] = 
'RevisionReview';
-       $list['ReviewedVersions'] = $wgSpecialPages['ReviewedVersions'] = 
'ReviewedVersions';
-       // Protect levels define allowed stability settings
-       if ( empty( $wgFlaggedRevsProtectLevels ) ) {
-               $list['Stabilization'] = $wgSpecialPages['Stabilization'] = 
'Stabilization';
-       }
-       $list['UnreviewedPages'] = $wgSpecialPages['UnreviewedPages'] = 
'UnreviewedPages';
-       $list['OldReviewedPages'] = $wgSpecialPages['OldReviewedPages'] = 
'OldReviewedPages';
-       // Show tag filtered pending edit page if there are tags
-       if ( $wgUseTagFilter && ChangeTags::listDefinedTags() ) {
-               $list['ProblemChanges'] = $wgSpecialPages['ProblemChanges'] = 
'ProblemChanges';
-       }
-       $list['ReviewedPages'] = $wgSpecialPages['ReviewedPages'] = 
'ReviewedPages';
-       $list['QualityOversight'] = $wgSpecialPages['QualityOversight'] = 
'QualityOversight';
-       $list['ValidationStatistics'] = $wgSpecialPages['ValidationStatistics'] 
= 'ValidationStatistics';
-       if ( !$wgFlaggedRevsOverride ) {
-               $list['StablePages'] = $wgSpecialPages['StablePages'] = 
'StablePages';
-       } else {
-               $list['UnstablePages'] = $wgSpecialPages['UnstablePages'] = 
'UnstablePages';
-       }
-       return true;
-}
-
 # Add review log
 $wgLogTypes[] = 'review';
 $wgFilterLogTypes['review'] = true;



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

Reply via email to