* MediaWiki code base.
*/
+use MediaWiki\Auth\AuthManager;
use MediaWiki\Interwiki\ClassicInterwikiLookup;
use MediaWiki\Linker\LinkRendererFactory;
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\MediaWikiServices;
+use MediaWiki\Preferences\DefaultPreferencesFactory;
use MediaWiki\Shell\CommandFactory;
use MediaWiki\Storage\BlobStoreFactory;
use MediaWiki\Storage\RevisionStore;
$services->getReadOnlyMode()
);
$store->setStatsdDataFactory( $services->getStatsdDataFactory() );
+
+ if ( $services->getMainConfig()->get( 'ReadOnlyWatchedItemStore' ) ) {
+ $store = new NoWriteWatchedItemStore( $store );
+ }
+
return $store;
},
return $services->getBlobStoreFactory()->newSqlBlobStore();
},
+ 'PreferencesFactory' => function ( MediaWikiServices $services ) {
+ global $wgContLang;
+ $authManager = AuthManager::singleton();
+ $linkRenderer = $services->getLinkRendererFactory()->create();
+ $config = $services->getMainConfig();
+ return new DefaultPreferencesFactory( $config, $wgContLang, $authManager, $linkRenderer );
+ },
+
///////////////////////////////////////////////////////////////////////////
// NOTE: When adding a service here, don't forget to add a getter function
// in the MediaWikiServices class. The convenience getter should just call