Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
0.00% |
0 / 24 |
|
0.00% |
0 / 1 |
CRAP | |
0.00% |
0 / 1 |
MediaWikiServicesHookHandler | |
0.00% |
0 / 24 |
|
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 1 |
onMediaWikiServices | |
0.00% |
0 / 24 |
|
0.00% |
0 / 1 |
2 |
1 | <?php |
2 | |
3 | namespace GlobalPreferences\HookHandler; |
4 | |
5 | use GlobalPreferences\GlobalPreferencesFactory; |
6 | use GlobalPreferences\GlobalPreferencesServices; |
7 | use MediaWiki\Config\ServiceOptions; |
8 | use MediaWiki\Hook\MediaWikiServicesHook; |
9 | use MediaWiki\Logger\LoggerFactory; |
10 | use MediaWiki\MediaWikiServices; |
11 | |
12 | class MediaWikiServicesHookHandler implements MediaWikiServicesHook { |
13 | |
14 | /** |
15 | * Replace the PreferencesFactory service with the GlobalPreferencesFactory. |
16 | * @link https://www.mediawiki.org/wiki/Manual:Hooks/MediaWikiServices |
17 | * @param MediaWikiServices $services The services object to use. |
18 | */ |
19 | public function onMediaWikiServices( $services ) { |
20 | $services->redefineService( 'PreferencesFactory', static function ( MediaWikiServices $services ) { |
21 | $mainConfig = $services->getMainConfig(); |
22 | $config = new ServiceOptions( GlobalPreferencesFactory::CONSTRUCTOR_OPTIONS, |
23 | $mainConfig |
24 | ); |
25 | $hookRunner = GlobalPreferencesServices::wrap( $services ) |
26 | ->getGlobalPreferencesHookRunner(); |
27 | $factory = new GlobalPreferencesFactory( |
28 | $config, |
29 | $services->getContentLanguage(), |
30 | $services->getAuthManager(), |
31 | $services->getLinkRendererFactory()->create(), |
32 | $services->getNamespaceInfo(), |
33 | $services->getPermissionManager(), |
34 | $services->getLanguageConverterFactory()->getLanguageConverter(), |
35 | $services->getLanguageNameUtils(), |
36 | $services->getHookContainer(), |
37 | $services->getUserOptionsLookup(), |
38 | $hookRunner |
39 | ); |
40 | $factory->setLogger( LoggerFactory::getInstance( 'preferences' ) ); |
41 | $factory->setAutoGlobals( $mainConfig->get( 'GlobalPreferencesAutoPrefs' ) ); |
42 | |
43 | return $factory; |
44 | } ); |
45 | } |
46 | |
47 | } |