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