From afd054065bfdb75f66132ecf36637a49fe710d3c Mon Sep 17 00:00:00 2001 From: umherirrender Date: Fri, 9 Nov 2012 16:57:54 +0100 Subject: [PATCH] Simplify cached check in Special:SpecialPages There is no need to repeat the condition from QueryPage::isCached and check the misermode self. Moved the method QueryPage::isCached to SpecialPage::isCached for easy calling. Maybe in future some special pages would get cached and define its own condition for that, so making false as default. Simplify a count and add some spaces. Change-Id: I71c9991e136f9c1a6a0123ae5305b39777d9135c --- includes/SpecialPage.php | 13 +++++++++++++ includes/specials/SpecialSpecialpages.php | 13 ++++++++----- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/includes/SpecialPage.php b/includes/SpecialPage.php index 9442869774..f5eccd5389 100644 --- a/includes/SpecialPage.php +++ b/includes/SpecialPage.php @@ -513,6 +513,19 @@ class SpecialPage { return false; } + /** + * Is this page cached? + * Expensive pages are cached or disabled in miser mode. + * Used by QueryPage and subclasses, moved here so that + * Special:SpecialPages can safely call it for all special pages. + * + * @return Boolean + * @since 1.21 + */ + public function isCached() { + return false; + } + /** * Can be overridden by subclasses with more complicated permissions * schemes. diff --git a/includes/specials/SpecialSpecialpages.php b/includes/specials/SpecialSpecialpages.php index e973ddc89d..1e7c8bb565 100644 --- a/includes/specials/SpecialSpecialpages.php +++ b/includes/specials/SpecialSpecialpages.php @@ -66,7 +66,11 @@ class SpecialSpecialpages extends UnlistedSpecialPage { if( !isset( $groups[$group] ) ) { $groups[$group] = array(); } - $groups[$group][$page->getDescription()] = array( $page->getTitle(), $page->isRestricted(), $page->isExpensive() ); + $groups[$group][$page->getDescription()] = array( + $page->getTitle(), + $page->isRestricted(), + $page->isCached() + ); } } @@ -88,15 +92,14 @@ class SpecialSpecialpages extends UnlistedSpecialPage { } private function outputPageList( $groups ) { - global $wgMiserMode; $out = $this->getOutput(); $includesRestrictedPages = false; $includesCachedPages = false; foreach ( $groups as $group => $sortedPages ) { - $middle = ceil( count( $sortedPages )/2 ); $total = count( $sortedPages ); + $middle = ceil( $total / 2 ); $count = 0; $out->wrapWikiMsg( "

$1

\n", "specialpages-group-$group" ); @@ -107,10 +110,10 @@ class SpecialSpecialpages extends UnlistedSpecialPage { Html::openElement( 'ul' ) . "\n" ); foreach( $sortedPages as $desc => $specialpage ) { - list( $title, $restricted, $expensive) = $specialpage; + list( $title, $restricted, $cached ) = $specialpage; $pageClasses = array(); - if ( $expensive && $wgMiserMode ){ + if ( $cached ) { $includesCachedPages = true; $pageClasses[] = 'mw-specialpagecached'; } -- 2.20.1