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