use MediaWiki\MediaWikiServices;
use MediaWiki\Preferences\PreferencesFactory;
use MediaWiki\Preferences\DefaultPreferencesFactory;
+use MediaWiki\Revision\MainSlotRoleHandler;
+use MediaWiki\Revision\RevisionFactory;
+use MediaWiki\Revision\RevisionLookup;
+use MediaWiki\Revision\SlotRoleRegistry;
+use MediaWiki\Revision\RevisionRenderer;
+use MediaWiki\Revision\RevisionStore;
+use MediaWiki\Revision\RevisionStoreFactory;
use MediaWiki\Shell\CommandFactory;
use MediaWiki\Special\SpecialPageFactory;
use MediaWiki\Storage\BlobStore;
-use MediaWiki\Revision\RevisionRenderer;
use MediaWiki\Storage\BlobStoreFactory;
use MediaWiki\Storage\NameTableStoreFactory;
-use MediaWiki\Storage\RevisionFactory;
-use MediaWiki\Storage\RevisionLookup;
-use MediaWiki\Storage\RevisionStore;
-use MediaWiki\Storage\RevisionStoreFactory;
use MediaWiki\Storage\SqlBlobStore;
return [
'CommentStore' => function ( MediaWikiServices $services ) : CommentStore {
return new CommentStore(
$services->getContentLanguage(),
- $services->getMainConfig()->get( 'CommentTableSchemaMigrationStage' )
+ MIGRATION_NEW
);
},
// Also test DjVu
$deja = new DjVuImage( $file );
if ( $deja->isValid() ) {
- $logger->info( __METHOD__ . ": detected $file as image/vnd.djvu\n" );
+ $logger->info( "Detected $file as image/vnd.djvu\n" );
$mime = 'image/vnd.djvu';
return;
$services->getMagicWordFactory(),
$services->getContentLanguage(),
wfUrlProtocols(),
- $services->getSpecialPageFactory()
+ $services->getSpecialPageFactory(),
+ $services->getMainConfig()
);
},
},
'RevisionRenderer' => function ( MediaWikiServices $services ) : RevisionRenderer {
- return new RevisionRenderer( $services->getDBLoadBalancer() );
+ $renderer = new RevisionRenderer(
+ $services->getDBLoadBalancer(),
+ $services->getSlotRoleRegistry()
+ );
+
+ $renderer->setLogger( LoggerFactory::getInstance( 'SaveParse' ) );
+ return $renderer;
},
'RevisionStore' => function ( MediaWikiServices $services ) : RevisionStore {
$services->getDBLoadBalancerFactory(),
$services->getBlobStoreFactory(),
$services->getNameTableStoreFactory(),
+ $services->getSlotRoleRegistry(),
$services->getMainWANObjectCache(),
$services->getCommentStore(),
$services->getActorMigration(),
return $factory;
},
+ 'SlotRoleRegistry' => function ( MediaWikiServices $services ) : SlotRoleRegistry {
+ $config = $services->getMainConfig();
+
+ $registry = new SlotRoleRegistry(
+ $services->getNameTableStoreFactory()->getSlotRoles()
+ );
+
+ $registry->defineRole( 'main', function () use ( $config ) {
+ return new MainSlotRoleHandler(
+ $config->get( 'NamespaceContentModels' )
+ );
+ } );
+
+ return $registry;
+ },
+
'SpecialPageFactory' => function ( MediaWikiServices $services ) : SpecialPageFactory {
return new SpecialPageFactory(
$services->getMainConfig(),
'WatchedItemStore' => function ( MediaWikiServices $services ) : WatchedItemStore {
$store = new WatchedItemStore(
- $services->getDBLoadBalancer(),
+ $services->getDBLoadBalancerFactory(),
new HashBagOStuff( [ 'maxKeys' => 100 ] ),
$services->getReadOnlyMode(),
$services->getMainConfig()->get( 'UpdateRowsPerQuery' )