dépôts
/
lhc
/
web
/
wiklou.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge "Remove a bunch of trailing spaces and unneeded newlines"
[lhc/web/wiklou.git]
/
includes
/
specials
/
SpecialCachedPage.php
diff --git
a/includes/specials/SpecialCachedPage.php
b/includes/specials/SpecialCachedPage.php
index
32eb2e7
..
b3f6c72
100644
(file)
--- a/
includes/specials/SpecialCachedPage.php
+++ b/
includes/specials/SpecialCachedPage.php
@@
-56,6
+56,19
@@
abstract class SpecialCachedPage extends SpecialPage implements ICacheHelper {
*/
protected $cacheEnabled = true;
*/
protected $cacheEnabled = true;
+ /**
+ * Gets called after @see SpecialPage::execute.
+ *
+ * @since 1.20
+ *
+ * @param $subPage string|null
+ */
+ protected function afterExecute( $subPage ) {
+ $this->saveCache();
+
+ parent::afterExecute( $subPage );
+ }
+
/**
* Sets if the cache should be enabled or not.
*
/**
* Sets if the cache should be enabled or not.
*
@@
-76,21
+89,23
@@
abstract class SpecialCachedPage extends SpecialPage implements ICacheHelper {
* @param boolean|null $cacheEnabled Sets if the cache should be enabled or not.
*/
public function startCache( $cacheExpiry = null, $cacheEnabled = null ) {
* @param boolean|null $cacheEnabled Sets if the cache should be enabled or not.
*/
public function startCache( $cacheExpiry = null, $cacheEnabled = null ) {
- $this->cacheHelper = new CacheHelper();
+ if ( !isset( $this->cacheHelper ) ) {
+ $this->cacheHelper = new CacheHelper();
- $this->cacheHelper->setCacheEnabled( $this->cacheEnabled );
- $this->cacheHelper->setOnInitializedHandler( array( $this, 'onCacheInitialized' ) );
+
$this->cacheHelper->setCacheEnabled( $this->cacheEnabled );
+
$this->cacheHelper->setOnInitializedHandler( array( $this, 'onCacheInitialized' ) );
- $keyArgs = $this->getCacheKey();
+
$keyArgs = $this->getCacheKey();
- if ( array_key_exists( 'action', $keyArgs ) && $keyArgs['action'] === 'purge' ) {
- unset( $keyArgs['action'] );
- }
+
if ( array_key_exists( 'action', $keyArgs ) && $keyArgs['action'] === 'purge' ) {
+
unset( $keyArgs['action'] );
+
}
- $this->cacheHelper->setCacheKey( $keyArgs );
+
$this->cacheHelper->setCacheKey( $keyArgs );
- if ( $this->getRequest()->getText( 'action' ) === 'purge' ) {
- $this->cacheHelper->rebuildOnDemand();
+ if ( $this->getRequest()->getText( 'action' ) === 'purge' ) {
+ $this->cacheHelper->rebuildOnDemand();
+ }
}
$this->cacheHelper->startCache( $cacheExpiry, $cacheEnabled );
}
$this->cacheHelper->startCache( $cacheExpiry, $cacheEnabled );
@@
-137,7
+152,9
@@
abstract class SpecialCachedPage extends SpecialPage implements ICacheHelper {
* @since 1.20
*/
public function saveCache() {
* @since 1.20
*/
public function saveCache() {
- $this->cacheHelper->saveCache();
+ if ( isset( $this->cacheHelper ) ) {
+ $this->cacheHelper->saveCache();
+ }
}
/**
}
/**