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