Merge "Simplify cached check in Special:SpecialPages"
authorIAlex <ialex.wiki@gmail.com>
Sat, 10 Nov 2012 11:54:10 +0000 (11:54 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Sat, 10 Nov 2012 11:54:10 +0000 (11:54 +0000)
includes/SpecialPage.php
includes/specials/SpecialSpecialpages.php

index 816831f..67aa2b3 100644 (file)
@@ -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.
index e973ddc..1e7c8bb 100644 (file)
@@ -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( "<h2 class=\"mw-specialpagesgroup\" id=\"mw-specialpagesgroup-$group\">$1</h2>\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';
                                }