<?php
+/**
+ * Cache of the contents of localisation files.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ */
define( 'MW_LC_VERSION', 2 );
$storeClass = 'LCStore_Accel';
break;
case 'detect':
- try {
- $c = wfGetCache( CACHE_ACCEL );
- $storeClass = 'LCStore_Accel';
- } catch( Exception $c ) {
- $storeClass = $wgCacheDirectory ? 'LCStore_CDB' : 'LCStore_DB';
- }
+ $storeClass = $wgCacheDirectory ? 'LCStore_CDB' : 'LCStore_DB';
break;
default:
throw new MWException(
/**
* Returns true if the cache identified by $code is missing or expired.
+ * @return bool
*/
public function isExpired( $code ) {
if ( $this->forceRecache && !isset( $this->recachedLangs[$code] ) ) {
* @param $code
*/
public function recache( $code ) {
- global $wgExtensionMessagesFiles, $wgExtensionAliasesFiles;
+ global $wgExtensionMessagesFiles;
wfProfileIn( __METHOD__ );
if ( !$code ) {
}
}
- # Load deprecated $wgExtensionAliasesFiles
- foreach ( $wgExtensionAliasesFiles as $fileName ) {
- $data = $this->readPHPFile( $fileName, 'aliases' );
-
- if ( !isset( $data['aliases'] ) ) {
- continue;
- }
-
- $used = $this->mergeExtensionItem( $codeSequence, 'specialPageAliases',
- $allData['specialPageAliases'], $data['aliases'] );
-
- if ( $used ) {
- $deps[] = new FileDependency( $fileName );
- }
- }
-
# Merge core data into extension data
foreach ( $coreData as $key => $item ) {
$this->mergeItem( $key, $allData[$key], $item );
# Add cache dependencies for any referenced globals
$deps['wgExtensionMessagesFiles'] = new GlobalDependency( 'wgExtensionMessagesFiles' );
- $deps['wgExtensionAliasesFiles'] = new GlobalDependency( 'wgExtensionAliasesFiles' );
$deps['version'] = new ConstantDependency( 'MW_LC_VERSION' );
# Add dependencies to the cache entry
interface LCStore {
/**
* Get a value.
- * @param $code Language code
- * @param $key Cache key
+ * @param $code string Language code
+ * @param $key string Cache key
*/
function get( $code, $key );
/**
* LCStore implementation which uses PHP accelerator to store data.
- * This will work if one of XCache, eAccelerator, or APC cacher is configured.
+ * This will work if one of XCache, WinCache or APC cacher is configured.
* (See ObjectCache.php)
*/
class LCStore_Accel implements LCStore {
$this->dbw = wfGetDB( DB_MASTER );
try {
- $this->dbw->begin();
+ $this->dbw->begin( __METHOD__ );
$this->dbw->delete( 'l10n_cache', array( 'lc_lang' => $code ), __METHOD__ );
} catch ( DBQueryError $e ) {
if ( $this->dbw->wasReadOnlyError() ) {
$this->readOnly = true;
- $this->dbw->rollback();
+ $this->dbw->rollback( __METHOD__ );
$this->dbw->ignoreErrors( false );
return;
} else {
$this->dbw->insert( 'l10n_cache', $this->batch, __METHOD__ );
}
- $this->dbw->commit();
+ $this->dbw->commit( __METHOD__ );
$this->currentLang = null;
$this->dbw = null;
$this->batch = array();
$this->unload( $code );
}
}
-}
\ No newline at end of file
+}