*/
public static $allKeys = [
'fallback', 'namespaceNames', 'bookstoreList',
- 'magicWords', 'messages', 'rtl', 'capitalizeAllNouns', 'digitTransformTable',
- 'separatorTransformTable', 'minimumGroupingDigits',
- 'fallback8bitEncoding', 'linkPrefixExtension',
- 'linkTrail', 'linkPrefixCharset', 'namespaceAliases',
- 'dateFormats', 'datePreferences', 'datePreferenceMigrationMap',
- 'defaultDateFormat', 'extraUserToggles', 'specialPageAliases',
- 'imageFiles', 'preloadedMessages', 'namespaceGenderAliases',
- 'digitGroupingPattern', 'pluralRules', 'pluralRuleTypes', 'compiledPluralRules',
+ 'magicWords', 'messages', 'rtl', 'capitalizeAllNouns',
+ 'digitTransformTable', 'separatorTransformTable',
+ 'minimumGroupingDigits', 'fallback8bitEncoding',
+ 'linkPrefixExtension', 'linkTrail', 'linkPrefixCharset',
+ 'namespaceAliases', 'dateFormats', 'datePreferences',
+ 'datePreferenceMigrationMap', 'defaultDateFormat',
+ 'specialPageAliases', 'imageFiles', 'preloadedMessages',
+ 'namespaceGenderAliases', 'digitGroupingPattern', 'pluralRules',
+ 'pluralRuleTypes', 'compiledPluralRules',
];
/**
/**
* Keys for items which are a numbered array.
*/
- public static $mergeableListKeys = [ 'extraUserToggles' ];
+ public static $mergeableListKeys = [];
/**
* Keys for items which contain an array of arrays of equivalent aliases
global $wgCacheDirectory;
$this->conf = $conf;
- $storeConf = [];
+
+ $directory = !empty( $conf['storeDirectory'] ) ? $conf['storeDirectory'] : $wgCacheDirectory;
+ $storeArg = [];
+ $storeArg['directory'] = $directory;
+
if ( !empty( $conf['storeClass'] ) ) {
$storeClass = $conf['storeClass'];
} else {
break;
case 'db':
$storeClass = LCStoreDB::class;
- $storeConf['server'] = $conf['storeServer'] ?? [];
+ $storeArg['server'] = $conf['storeServer'] ?? [];
break;
case 'array':
$storeClass = LCStoreStaticArray::class;
break;
case 'detect':
- if ( !empty( $conf['storeDirectory'] ) ) {
- $storeClass = LCStoreCDB::class;
- } elseif ( $wgCacheDirectory ) {
- $storeConf['directory'] = $wgCacheDirectory;
+ if ( $directory ) {
$storeClass = LCStoreCDB::class;
} else {
$storeClass = LCStoreDB::class;
- $storeConf['server'] = $conf['storeServer'] ?? [];
+ $storeArg['server'] = $conf['storeServer'] ?? [];
}
break;
default:
}
wfDebugLog( 'caches', static::class . ": using store $storeClass" );
- if ( !empty( $conf['storeDirectory'] ) ) {
- $storeConf['directory'] = $conf['storeDirectory'];
- }
- $this->store = new $storeClass( $storeConf );
+ $this->store = new $storeClass( $storeArg );
foreach ( [ 'manualRecache', 'forceRecache' ] as $var ) {
if ( isset( $conf[$var] ) ) {
$this->$var = $conf[$var];
# HACK: If using a null (i.e. disabled) storage backend, we
# can't write to the MessageBlobStore either
if ( $purgeBlobs && !$this->store instanceof LCStoreNull ) {
- $blobStore = new MessageBlobStore(
- MediaWikiServices::getInstance()->getResourceLoader()
- );
+ $blobStore = MediaWikiServices::getInstance()->getResourceLoader()->getMessageBlobStore();
$blobStore->clear();
}
}