https://www.mediawiki.org/wiki/Special:Code/MediaWiki/114204

Revision: 114204
Author:   jeroendedauw
Date:     2012-03-19 22:25:17 +0000 (Mon, 19 Mar 2012)
Log Message:
-----------
caching of special:students, cas, oas

Modified Paths:
--------------
    trunk/extensions/EducationProgram/includes/EPCA.php
    trunk/extensions/EducationProgram/includes/EPOA.php
    trunk/extensions/EducationProgram/includes/EPStudent.php
    trunk/extensions/EducationProgram/specials/SpecialCAs.php
    trunk/extensions/EducationProgram/specials/SpecialOAs.php
    trunk/extensions/EducationProgram/specials/SpecialStudents.php

Modified: trunk/extensions/EducationProgram/includes/EPCA.php
===================================================================
--- trunk/extensions/EducationProgram/includes/EPCA.php 2012-03-19 22:24:16 UTC 
(rev 114203)
+++ trunk/extensions/EducationProgram/includes/EPCA.php 2012-03-19 22:25:17 UTC 
(rev 114204)
@@ -20,22 +20,23 @@
         *
         * @param IContextSource $context
         * @param array $conditions
+        *
+        * @return string
         */
-       public static function displayPager( IContextSource $context, array 
$conditions = array() ) {
+       public static function getPager( IContextSource $context, array 
$conditions = array() ) {
                $pager = new EPCAPager( $context, $conditions );
 
                if ( $pager->getNumRows() ) {
-                       $context->getOutput()->addHTML(
+                       return
                                $pager->getFilterControl() .
-                                       $pager->getNavigationBar() .
-                                       $pager->getBody() .
-                                       $pager->getNavigationBar() .
-                                       $pager->getMultipleItemControl()
-                       );
+                               $pager->getNavigationBar() .
+                               $pager->getBody() .
+                               $pager->getNavigationBar() .
+                               $pager->getMultipleItemControl();
                }
                else {
-                       $context->getOutput()->addHTML( 
$pager->getFilterControl( true ) );
-                       $context->getOutput()->addWikiMsg( 'ep-ca-noresults' );
+                       return $pager->getFilterControl( true ) .
+                               $context->msg( 'ep-ca-noresults' )->escaped();
                }
        }
        

Modified: trunk/extensions/EducationProgram/includes/EPOA.php
===================================================================
--- trunk/extensions/EducationProgram/includes/EPOA.php 2012-03-19 22:24:16 UTC 
(rev 114203)
+++ trunk/extensions/EducationProgram/includes/EPOA.php 2012-03-19 22:25:17 UTC 
(rev 114204)
@@ -20,22 +20,23 @@
         *
         * @param IContextSource $context
         * @param array $conditions
+        *
+        * @return string
         */
-       public static function displayPager( IContextSource $context, array 
$conditions = array() ) {
+       public static function getPager( IContextSource $context, array 
$conditions = array() ) {
                $pager = new EPOAPager( $context, $conditions );
 
                if ( $pager->getNumRows() ) {
-                       $context->getOutput()->addHTML(
+                       return
                                $pager->getFilterControl() .
-                                       $pager->getNavigationBar() .
-                                       $pager->getBody() .
-                                       $pager->getNavigationBar() .
-                                       $pager->getMultipleItemControl()
-                       );
+                               $pager->getNavigationBar() .
+                               $pager->getBody() .
+                               $pager->getNavigationBar() .
+                               $pager->getMultipleItemControl();
                }
                else {
-                       $context->getOutput()->addHTML( 
$pager->getFilterControl( true ) );
-                       $context->getOutput()->addWikiMsg( 'ep-oa-noresults' );
+                       return $pager->getFilterControl( true ) .
+                               $context->msg( 'ep-oa-noresults' )->escaped();
                }
        }
        

Modified: trunk/extensions/EducationProgram/includes/EPStudent.php
===================================================================
--- trunk/extensions/EducationProgram/includes/EPStudent.php    2012-03-19 
22:24:16 UTC (rev 114203)
+++ trunk/extensions/EducationProgram/includes/EPStudent.php    2012-03-19 
22:25:17 UTC (rev 114204)
@@ -20,22 +20,23 @@
         *
         * @param IContextSource $context
         * @param array $conditions
+        *
+        * @return string
         */
-       public static function displayPager( IContextSource $context, array 
$conditions = array() ) {
+       public static function getPager( IContextSource $context, array 
$conditions = array() ) {
                $pager = new EPStudentPager( $context, $conditions );
 
                if ( $pager->getNumRows() ) {
-                       $context->getOutput()->addHTML(
+                       return
                                $pager->getFilterControl() .
-                                       $pager->getNavigationBar() .
-                                       $pager->getBody() .
-                                       $pager->getNavigationBar() .
-                                       $pager->getMultipleItemControl()
-                       );
+                               $pager->getNavigationBar() .
+                               $pager->getBody() .
+                               $pager->getNavigationBar() .
+                               $pager->getMultipleItemControl();
                }
                else {
-                       $context->getOutput()->addHTML( 
$pager->getFilterControl( true ) );
-                       $context->getOutput()->addWikiMsg( 
'ep-students-noresults' );
+                       return $pager->getFilterControl( true ) .
+                               $context->msg( 'ep-students-noresults' 
)->escaped();
                }
        }
 

Modified: trunk/extensions/EducationProgram/specials/SpecialCAs.php
===================================================================
--- trunk/extensions/EducationProgram/specials/SpecialCAs.php   2012-03-19 
22:24:16 UTC (rev 114203)
+++ trunk/extensions/EducationProgram/specials/SpecialCAs.php   2012-03-19 
22:25:17 UTC (rev 114204)
@@ -34,7 +34,10 @@
 
                if ( $this->subPage === '' ) {
                        $this->displayNavigation();
-                       EPCA::displayPager( $this->getContext() );
+
+                       $this->startCache( 3600 );
+                       $this->addCachedHTML( 'EPCA::getPager', 
$this->getContext() );
+                       $this->saveCache();
                }
                else {
                        $this->getOutput()->redirect( SpecialPage::getTitleFor( 
'CampusAmbassador', $this->subPage )->getLocalURL() );

Modified: trunk/extensions/EducationProgram/specials/SpecialOAs.php
===================================================================
--- trunk/extensions/EducationProgram/specials/SpecialOAs.php   2012-03-19 
22:24:16 UTC (rev 114203)
+++ trunk/extensions/EducationProgram/specials/SpecialOAs.php   2012-03-19 
22:25:17 UTC (rev 114204)
@@ -34,7 +34,10 @@
 
                if ( $this->subPage === '' ) {
                        $this->displayNavigation();
-                       EPOA::displayPager( $this->getContext() );
+
+                       $this->startCache( 3600 );
+                       $this->addCachedHTML( 'EPOA::getPager', 
$this->getContext() );
+                       $this->saveCache();
                }
                else {
                        $this->getOutput()->redirect( SpecialPage::getTitleFor( 
'OnlineAmbassador', $this->subPage )->getLocalURL() );

Modified: trunk/extensions/EducationProgram/specials/SpecialStudents.php
===================================================================
--- trunk/extensions/EducationProgram/specials/SpecialStudents.php      
2012-03-19 22:24:16 UTC (rev 114203)
+++ trunk/extensions/EducationProgram/specials/SpecialStudents.php      
2012-03-19 22:25:17 UTC (rev 114204)
@@ -34,11 +34,22 @@
 
                if ( $this->subPage === '' ) {
                        $this->displayNavigation();
-                       EPStudent::displayPager( $this->getContext() );
+
+                       $this->startCache( 3600 );
+                       $this->addCachedHTML( 'EPStudent::getPager', 
$this->getContext() );
+                       $this->saveCache();
                }
                else {
                        $this->getOutput()->redirect( SpecialPage::getTitleFor( 
'Student', $this->subPage )->getLocalURL() );
                }
        }
 
+       /**
+        * @see SpecialCachedPage::getCacheKey
+        * @return array
+        */
+       protected function getCacheKey() {
+               return array_merge( $this->getRequest()->getValues(), 
parent::getCacheKey() );
+       }
+
 }


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

Reply via email to