<?php
/**
* Contain the CacheManager class
+ * @package MediaWiki
+ * @subpackage Cache
*/
/**
* Handles talking to the file cache, putting stuff in and taking it back out.
* Mostly called from Article.php, also from DatabaseFunctions.php for the
* emergency abort/fallback to cache.
- *
+ *
* Global options that affect this module:
* $wgCachePages
* $wgCacheEpoch
* $wgUseFileCache
* $wgFileCacheDirectory
* $wgUseGzip
+ * @package MediaWiki
*/
class CacheManager {
var $mTitle, $mFileCache;
}
function fileCacheName() {
- global $wgFileCacheDirectory, $wgLang;
+ global $wgFileCacheDirectory;
if( !$this->mFileCache ) {
- $hash = md5( $key = $this->mTitle->getDbkey() );
- if( $this->mTitle->getNamespace() )
- $key = $wgLang->getNsText( $this->mTitle->getNamespace() ) . ":" . $key;
+ $key = $this->mTitle->getPrefixedDbkey();
+ $hash = md5( $key );
$key = str_replace( '.', '%2E', urlencode( $key ) );
$hash1 = substr( $hash, 0, 1 );
}
function fileCacheTime() {
- return wfUnix2Timestamp( filemtime( $this->fileCacheName() ) );
+ return wfTimestamp( TS_MW, filemtime( $this->fileCacheName() ) );
}
function isFileCacheGood( $timestamp ) {
/* Working directory to/from output */
function loadFromFileCache() {
- global $wgOut;
+ global $wgOut, $wgMimeType, $wgOutputEncoding, $wgContLanguageCode;
wfDebug(" loadFromFileCache()\n");
$filename=$this->fileCacheName();
$wgOut->sendCacheControl();
+
+ header( "Content-type: $wgMimeType; charset={$wgOutputEncoding}" );
+ header( "Content-language: $wgContLanguageCode" );
if( $this->useGzip() ) {
if( wfClientAcceptsGzip() ) {