merged from master
[lhc/web/wiklou.git] / includes / LocalisationCache.php
index 828ed1c..a50bf0d 100644 (file)
@@ -163,12 +163,7 @@ class LocalisationCache {
                                        $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(
@@ -348,6 +343,7 @@ class LocalisationCache {
 
        /**
         * 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] ) ) {
@@ -358,7 +354,6 @@ class LocalisationCache {
                $deps = $this->store->get( $code, 'deps' );
                $keys = $this->store->get( $code, 'list', 'messages' );
                $preload = $this->store->get( $code, 'preload' );
-               $this->store->close( $code );
                // Different keys may expire separately, at least in LCStore_Accel
                if ( $deps === null || $keys === null || $preload === null ) {
                        wfDebug( __METHOD__."($code): cache missing, need to make one\n" );
@@ -554,7 +549,7 @@ class LocalisationCache {
         * @param $code
         */
        public function recache( $code ) {
-               global $wgExtensionMessagesFiles, $wgExtensionAliasesFiles;
+               global $wgExtensionMessagesFiles;
                wfProfileIn( __METHOD__ );
 
                if ( !$code ) {
@@ -649,22 +644,6 @@ class LocalisationCache {
                        }
                }
 
-               # 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 );
@@ -672,7 +651,6 @@ class LocalisationCache {
 
                # 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
@@ -816,8 +794,8 @@ class LocalisationCache {
 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 );
 
@@ -843,7 +821,7 @@ interface LCStore {
 
 /**
  * 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 {
@@ -931,12 +909,12 @@ class LCStore_DB 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 {
@@ -957,7 +935,7 @@ class LCStore_DB implements LCStore {
                        $this->dbw->insert( 'l10n_cache', $this->batch, __METHOD__ );
                }
 
-               $this->dbw->commit();
+               $this->dbw->commit( __METHOD__ );
                $this->currentLang = null;
                $this->dbw = null;
                $this->batch = array();
@@ -1033,13 +1011,6 @@ class LCStore_CDB implements LCStore {
                }
        }
 
-       public function close( $code ) {
-               if ( !isset( $this->readers[$code] ) ) {
-                       return;
-               }
-               $this->readers[$code]->close();
-       }
-
        public function startWrite( $code ) {
                if ( !file_exists( $this->directory ) ) {
                        if ( !wfMkdirParents( $this->directory, null, __METHOD__ ) ) {