Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
66.67% |
8 / 12 |
|
60.00% |
6 / 10 |
CRAP | |
0.00% |
0 / 1 |
MediaUploaderServices | |
66.67% |
8 / 12 |
|
60.00% |
6 / 10 |
15.48 | |
0.00% |
0 / 1 |
getService | |
100.00% |
3 / 3 |
|
100.00% |
1 / 1 |
2 | |||
getCampaignStore | |
100.00% |
1 / 1 |
|
100.00% |
1 / 1 |
1 | |||
getCampaignStats | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getCampaignValidator | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getConfigFactory | |
100.00% |
1 / 1 |
|
100.00% |
1 / 1 |
1 | |||
getConfigParserFactory | |
100.00% |
1 / 1 |
|
100.00% |
1 / 1 |
1 | |||
getConfigCacheInvalidator | |
100.00% |
1 / 1 |
|
100.00% |
1 / 1 |
1 | |||
getRawConfig | |
100.00% |
1 / 1 |
|
100.00% |
1 / 1 |
1 | |||
getSystemUser | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
isSystemUser | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 |
1 | <?php |
2 | |
3 | namespace MediaWiki\Extension\MediaUploader; |
4 | |
5 | use MediaWiki\Extension\MediaUploader\Campaign\CampaignStats; |
6 | use MediaWiki\Extension\MediaUploader\Campaign\CampaignStore; |
7 | use MediaWiki\Extension\MediaUploader\Campaign\Validator; |
8 | use MediaWiki\Extension\MediaUploader\Config\ConfigCacheInvalidator; |
9 | use MediaWiki\Extension\MediaUploader\Config\ConfigFactory; |
10 | use MediaWiki\Extension\MediaUploader\Config\ConfigParserFactory; |
11 | use MediaWiki\Extension\MediaUploader\Config\RawConfig; |
12 | use MediaWiki\MediaWikiServices; |
13 | use MediaWiki\User\UserIdentity; |
14 | use User; |
15 | |
16 | class MediaUploaderServices { |
17 | |
18 | /** |
19 | * @param MediaWikiServices|null $services |
20 | * @param string $name |
21 | * |
22 | * @return mixed |
23 | */ |
24 | private static function getService( ?MediaWikiServices $services, string $name ) { |
25 | if ( $services === null ) { |
26 | $services = MediaWikiServices::getInstance(); |
27 | } |
28 | return $services->getService( 'MediaUploader' . $name ); |
29 | } |
30 | |
31 | public static function getCampaignStore( MediaWikiServices $services = null ): CampaignStore { |
32 | return self::getService( $services, 'CampaignStore' ); |
33 | } |
34 | |
35 | public static function getCampaignStats( MediaWikiServices $services = null ): CampaignStats { |
36 | return self::getService( $services, 'CampaignStats' ); |
37 | } |
38 | |
39 | public static function getCampaignValidator( MediaWikiServices $services = null ): Validator { |
40 | return self::getService( $services, 'CampaignValidator' ); |
41 | } |
42 | |
43 | public static function getConfigFactory( MediaWikiServices $services = null ): ConfigFactory { |
44 | return self::getService( $services, 'ConfigFactory' ); |
45 | } |
46 | |
47 | public static function getConfigParserFactory( MediaWikiServices $services = null ): ConfigParserFactory { |
48 | return self::getService( $services, 'ConfigParserFactory' ); |
49 | } |
50 | |
51 | public static function getConfigCacheInvalidator( MediaWikiServices $services = null ): ConfigCacheInvalidator { |
52 | return self::getService( $services, 'ConfigCacheInvalidator' ); |
53 | } |
54 | |
55 | public static function getRawConfig( MediaWikiServices $services = null ): RawConfig { |
56 | return self::getService( $services, 'RawConfig' ); |
57 | } |
58 | |
59 | /** |
60 | * Returns the system (MediaUploader) user used for maintenance tasks. |
61 | * @return User |
62 | */ |
63 | public static function getSystemUser(): User { |
64 | return User::newSystemUser( 'MediaUploader', [ 'steal' => true ] ); |
65 | } |
66 | |
67 | /** |
68 | * Checks whether a given user is the system (MediaUploader) user. |
69 | * |
70 | * @param UserIdentity $user |
71 | * |
72 | * @return bool |
73 | */ |
74 | public static function isSystemUser( UserIdentity $user ): bool { |
75 | return $user->getName() === 'MediaUploader'; |
76 | } |
77 | } |