Merge "Rewrite pref cleanup script"
[lhc/web/wiklou.git] / includes / ServiceWiring.php
index 0d266fb..a89619f 100644 (file)
  *      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;
@@ -164,6 +166,11 @@ return [
                        $services->getReadOnlyMode()
                );
                $store->setStatsdDataFactory( $services->getStatsdDataFactory() );
+
+               if ( $services->getMainConfig()->get( 'ReadOnlyWatchedItemStore' ) ) {
+                       $store = new NoWriteWatchedItemStore( $store );
+               }
+
                return $store;
        },
 
@@ -475,6 +482,14 @@ return [
                return $store;
        },
 
+       'RevisionLookup' => function ( MediaWikiServices $services ) {
+               return $services->getRevisionStore();
+       },
+
+       'RevisionFactory' => function ( MediaWikiServices $services ) {
+               return $services->getRevisionStore();
+       },
+
        'BlobStoreFactory' => function ( MediaWikiServices $services ) {
                global $wgContLang;
                return new BlobStoreFactory(
@@ -493,6 +508,18 @@ return [
                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 );
+       },
+
+       'HttpRequestFactory' => function ( MediaWikiServices $services ) {
+               return new \MediaWiki\Http\HttpRequestFactory();
+       },
+
        ///////////////////////////////////////////////////////////////////////////
        // NOTE: When adding a service here, don't forget to add a getter function
        // in the MediaWikiServices class. The convenience getter should just call