Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
42 / 42
100.00% covered (success)
100.00%
40 / 40
CRAP
100.00% covered (success)
100.00%
1 / 1
AbuseFilterServices
100.00% covered (success)
100.00%
42 / 42
100.00% covered (success)
100.00%
40 / 40
40
100.00% covered (success)
100.00%
1 / 1
 getHookRunner
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getKeywordsManager
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getFilterProfiler
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getPermissionManager
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getChangeTagger
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getChangeTagsManager
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getChangeTagValidator
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getBlockAutopromoteStore
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getFilterUser
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getCentralDBManager
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getRuleCheckerFactory
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getFilterLookup
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getEmergencyCache
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getEmergencyWatcher
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getEchoNotifier
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getFilterValidator
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getFilterCompare
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getFilterImporter
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getFilterStore
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getConsequencesFactory
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getEditBoxBuilderFactory
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getConsequencesLookup
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getConsequencesRegistry
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getAbuseLoggerFactory
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getUpdateHitCountWatcher
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getVariablesBlobStore
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getConsequencesExecutorFactory
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getFilterRunnerFactory
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getSpecsFormatter
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getVariablesFormatter
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getLazyVariableComputer
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getTextExtractor
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getVariablesManager
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getVariableGeneratorFactory
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getEditRevUpdater
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getBlockedDomainStorage
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getBlockedDomainFilter
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getBlockedDomainValidator
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getProtectedVariablesLookup
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 getLogDetailsLookup
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3namespace MediaWiki\Extension\AbuseFilter;
4
5use MediaWiki\Extension\AbuseFilter\BlockedDomains\BlockedDomainValidator;
6use MediaWiki\Extension\AbuseFilter\BlockedDomains\IBlockedDomainFilter;
7use MediaWiki\Extension\AbuseFilter\BlockedDomains\IBlockedDomainStorage;
8use MediaWiki\Extension\AbuseFilter\ChangeTags\ChangeTagger;
9use MediaWiki\Extension\AbuseFilter\ChangeTags\ChangeTagsManager;
10use MediaWiki\Extension\AbuseFilter\ChangeTags\ChangeTagValidator;
11use MediaWiki\Extension\AbuseFilter\Consequences\ConsequencesExecutorFactory;
12use MediaWiki\Extension\AbuseFilter\Consequences\ConsequencesFactory;
13use MediaWiki\Extension\AbuseFilter\Consequences\ConsequencesLookup;
14use MediaWiki\Extension\AbuseFilter\Consequences\ConsequencesRegistry;
15use MediaWiki\Extension\AbuseFilter\EditBox\EditBoxBuilderFactory;
16use MediaWiki\Extension\AbuseFilter\Hooks\AbuseFilterHookRunner;
17use MediaWiki\Extension\AbuseFilter\Parser\RuleCheckerFactory;
18use MediaWiki\Extension\AbuseFilter\VariableGenerator\VariableGeneratorFactory;
19use MediaWiki\Extension\AbuseFilter\Variables\AbuseFilterProtectedVariablesLookup;
20use MediaWiki\Extension\AbuseFilter\Variables\LazyVariableComputer;
21use MediaWiki\Extension\AbuseFilter\Variables\VariablesBlobStore;
22use MediaWiki\Extension\AbuseFilter\Variables\VariablesFormatter;
23use MediaWiki\Extension\AbuseFilter\Variables\VariablesManager;
24use MediaWiki\Extension\AbuseFilter\Watcher\EmergencyWatcher;
25use MediaWiki\Extension\AbuseFilter\Watcher\UpdateHitCountWatcher;
26use MediaWiki\MediaWikiServices;
27use Psr\Container\ContainerInterface;
28
29class AbuseFilterServices {
30
31    public static function getHookRunner( ?ContainerInterface $services = null ): AbuseFilterHookRunner {
32        return ( $services ?? MediaWikiServices::getInstance() )->get( AbuseFilterHookRunner::SERVICE_NAME );
33    }
34
35    /**
36     * @param ContainerInterface|null $services
37     * @return KeywordsManager
38     */
39    public static function getKeywordsManager( ?ContainerInterface $services = null ): KeywordsManager {
40        return ( $services ?? MediaWikiServices::getInstance() )->get( KeywordsManager::SERVICE_NAME );
41    }
42
43    /**
44     * @param ContainerInterface|null $services
45     * @return FilterProfiler
46     */
47    public static function getFilterProfiler( ?ContainerInterface $services = null ): FilterProfiler {
48        return ( $services ?? MediaWikiServices::getInstance() )->get( FilterProfiler::SERVICE_NAME );
49    }
50
51    /**
52     * @param ContainerInterface|null $services
53     * @return AbuseFilterPermissionManager
54     */
55    public static function getPermissionManager( ?ContainerInterface $services = null ): AbuseFilterPermissionManager {
56        return ( $services ?? MediaWikiServices::getInstance() )->get( AbuseFilterPermissionManager::SERVICE_NAME );
57    }
58
59    /**
60     * @param ContainerInterface|null $services
61     * @return ChangeTagger
62     */
63    public static function getChangeTagger( ?ContainerInterface $services = null ): ChangeTagger {
64        return ( $services ?? MediaWikiServices::getInstance() )->get( ChangeTagger::SERVICE_NAME );
65    }
66
67    /**
68     * @param ContainerInterface|null $services
69     * @return ChangeTagsManager
70     */
71    public static function getChangeTagsManager( ?ContainerInterface $services = null ): ChangeTagsManager {
72        return ( $services ?? MediaWikiServices::getInstance() )->get( ChangeTagsManager::SERVICE_NAME );
73    }
74
75    /**
76     * @param ContainerInterface|null $services
77     * @return ChangeTagValidator
78     */
79    public static function getChangeTagValidator( ?ContainerInterface $services = null ): ChangeTagValidator {
80        return ( $services ?? MediaWikiServices::getInstance() )->get( ChangeTagValidator::SERVICE_NAME );
81    }
82
83    /**
84     * @param ContainerInterface|null $services
85     * @return BlockAutopromoteStore
86     */
87    public static function getBlockAutopromoteStore( ?ContainerInterface $services = null ): BlockAutopromoteStore {
88        return ( $services ?? MediaWikiServices::getInstance() )->get( BlockAutopromoteStore::SERVICE_NAME );
89    }
90
91    /**
92     * @param ContainerInterface|null $services
93     * @return FilterUser
94     */
95    public static function getFilterUser( ?ContainerInterface $services = null ): FilterUser {
96        return ( $services ?? MediaWikiServices::getInstance() )->get( FilterUser::SERVICE_NAME );
97    }
98
99    /**
100     * @param ContainerInterface|null $services
101     * @return CentralDBManager
102     */
103    public static function getCentralDBManager( ?ContainerInterface $services = null ): CentralDBManager {
104        return ( $services ?? MediaWikiServices::getInstance() )->get( CentralDBManager::SERVICE_NAME );
105    }
106
107    /**
108     * @param ContainerInterface|null $services
109     * @return RuleCheckerFactory
110     */
111    public static function getRuleCheckerFactory( ?ContainerInterface $services = null ): RuleCheckerFactory {
112        return ( $services ?? MediaWikiServices::getInstance() )->get( RuleCheckerFactory::SERVICE_NAME );
113    }
114
115    /**
116     * @param ContainerInterface|null $services
117     * @return FilterLookup
118     */
119    public static function getFilterLookup( ?ContainerInterface $services = null ): FilterLookup {
120        return ( $services ?? MediaWikiServices::getInstance() )->get( FilterLookup::SERVICE_NAME );
121    }
122
123    /**
124     * @param ContainerInterface|null $services
125     * @return EmergencyCache
126     */
127    public static function getEmergencyCache( ?ContainerInterface $services = null ): EmergencyCache {
128        return ( $services ?? MediaWikiServices::getInstance() )->get( EmergencyCache::SERVICE_NAME );
129    }
130
131    /**
132     * @param ContainerInterface|null $services
133     * @return EmergencyWatcher
134     */
135    public static function getEmergencyWatcher( ?ContainerInterface $services = null ): EmergencyWatcher {
136        return ( $services ?? MediaWikiServices::getInstance() )->get( EmergencyWatcher::SERVICE_NAME );
137    }
138
139    /**
140     * @param ContainerInterface|null $services
141     * @return EchoNotifier
142     */
143    public static function getEchoNotifier( ?ContainerInterface $services = null ): EchoNotifier {
144        return ( $services ?? MediaWikiServices::getInstance() )->get( EchoNotifier::SERVICE_NAME );
145    }
146
147    /**
148     * @param ContainerInterface|null $services
149     * @return FilterValidator
150     */
151    public static function getFilterValidator( ?ContainerInterface $services = null ): FilterValidator {
152        return ( $services ?? MediaWikiServices::getInstance() )->get( FilterValidator::SERVICE_NAME );
153    }
154
155    /**
156     * @param ContainerInterface|null $services
157     * @return FilterCompare
158     */
159    public static function getFilterCompare( ?ContainerInterface $services = null ): FilterCompare {
160        return ( $services ?? MediaWikiServices::getInstance() )->get( FilterCompare::SERVICE_NAME );
161    }
162
163    /**
164     * @param ContainerInterface|null $services
165     * @return FilterImporter
166     */
167    public static function getFilterImporter( ?ContainerInterface $services = null ): FilterImporter {
168        return ( $services ?? MediaWikiServices::getInstance() )->get( FilterImporter::SERVICE_NAME );
169    }
170
171    /**
172     * @param ContainerInterface|null $services
173     * @return FilterStore
174     */
175    public static function getFilterStore( ?ContainerInterface $services = null ): FilterStore {
176        return ( $services ?? MediaWikiServices::getInstance() )->get( FilterStore::SERVICE_NAME );
177    }
178
179    /**
180     * @param ContainerInterface|null $services
181     * @return ConsequencesFactory
182     */
183    public static function getConsequencesFactory( ?ContainerInterface $services = null ): ConsequencesFactory {
184        return ( $services ?? MediaWikiServices::getInstance() )->get( ConsequencesFactory::SERVICE_NAME );
185    }
186
187    /**
188     * @param ContainerInterface|null $services
189     * @return EditBoxBuilderFactory
190     */
191    public static function getEditBoxBuilderFactory( ?ContainerInterface $services = null ): EditBoxBuilderFactory {
192        return ( $services ?? MediaWikiServices::getInstance() )->get( EditBoxBuilderFactory::SERVICE_NAME );
193    }
194
195    /**
196     * @param ContainerInterface|null $services
197     * @return ConsequencesLookup
198     */
199    public static function getConsequencesLookup( ?ContainerInterface $services = null ): ConsequencesLookup {
200        return ( $services ?? MediaWikiServices::getInstance() )->get( ConsequencesLookup::SERVICE_NAME );
201    }
202
203    /**
204     * @param ContainerInterface|null $services
205     * @return ConsequencesRegistry
206     */
207    public static function getConsequencesRegistry( ?ContainerInterface $services = null ): ConsequencesRegistry {
208        return ( $services ?? MediaWikiServices::getInstance() )->get( ConsequencesRegistry::SERVICE_NAME );
209    }
210
211    /**
212     * @param ContainerInterface|null $services
213     * @return AbuseLoggerFactory
214     */
215    public static function getAbuseLoggerFactory( ?ContainerInterface $services = null ): AbuseLoggerFactory {
216        return ( $services ?? MediaWikiServices::getInstance() )->get( AbuseLoggerFactory::SERVICE_NAME );
217    }
218
219    /**
220     * @param ContainerInterface|null $services
221     * @return UpdateHitCountWatcher
222     */
223    public static function getUpdateHitCountWatcher( ?ContainerInterface $services = null ): UpdateHitCountWatcher {
224        return ( $services ?? MediaWikiServices::getInstance() )->get( UpdateHitCountWatcher::SERVICE_NAME );
225    }
226
227    /**
228     * @param ContainerInterface|null $services
229     * @return VariablesBlobStore
230     */
231    public static function getVariablesBlobStore( ?ContainerInterface $services = null ): VariablesBlobStore {
232        return ( $services ?? MediaWikiServices::getInstance() )->get( VariablesBlobStore::SERVICE_NAME );
233    }
234
235    /**
236     * @param ContainerInterface|null $services
237     * @return ConsequencesExecutorFactory
238     */
239    public static function getConsequencesExecutorFactory(
240        ?ContainerInterface $services = null
241    ): ConsequencesExecutorFactory {
242        return ( $services ?? MediaWikiServices::getInstance() )->get( ConsequencesExecutorFactory::SERVICE_NAME );
243    }
244
245    /**
246     * @param ContainerInterface|null $services
247     * @return FilterRunnerFactory
248     */
249    public static function getFilterRunnerFactory( ?ContainerInterface $services = null ): FilterRunnerFactory {
250        return ( $services ?? MediaWikiServices::getInstance() )->get( FilterRunnerFactory::SERVICE_NAME );
251    }
252
253    /**
254     * @param ContainerInterface|null $services
255     * @return SpecsFormatter
256     */
257    public static function getSpecsFormatter( ?ContainerInterface $services = null ): SpecsFormatter {
258        return ( $services ?? MediaWikiServices::getInstance() )->get( SpecsFormatter::SERVICE_NAME );
259    }
260
261    /**
262     * @param ContainerInterface|null $services
263     * @return VariablesFormatter
264     */
265    public static function getVariablesFormatter( ?ContainerInterface $services = null ): VariablesFormatter {
266        return ( $services ?? MediaWikiServices::getInstance() )->get( VariablesFormatter::SERVICE_NAME );
267    }
268
269    /**
270     * @param ContainerInterface|null $services
271     * @return LazyVariableComputer
272     */
273    public static function getLazyVariableComputer( ?ContainerInterface $services = null ): LazyVariableComputer {
274        return ( $services ?? MediaWikiServices::getInstance() )->get( LazyVariableComputer::SERVICE_NAME );
275    }
276
277    /**
278     * @param ContainerInterface|null $services
279     * @return TextExtractor
280     */
281    public static function getTextExtractor( ?ContainerInterface $services = null ): TextExtractor {
282        return ( $services ?? MediaWikiServices::getInstance() )->get( TextExtractor::SERVICE_NAME );
283    }
284
285    /**
286     * @param ContainerInterface|null $services
287     * @return VariablesManager
288     */
289    public static function getVariablesManager( ?ContainerInterface $services = null ): VariablesManager {
290        return ( $services ?? MediaWikiServices::getInstance() )->get( VariablesManager::SERVICE_NAME );
291    }
292
293    /**
294     * @param ContainerInterface|null $services
295     * @return VariableGeneratorFactory
296     */
297    public static function getVariableGeneratorFactory(
298        ?ContainerInterface $services = null
299    ): VariableGeneratorFactory {
300        return ( $services ?? MediaWikiServices::getInstance() )->get( VariableGeneratorFactory::SERVICE_NAME );
301    }
302
303    /**
304     * @param ContainerInterface|null $services
305     * @return EditRevUpdater
306     */
307    public static function getEditRevUpdater( ?ContainerInterface $services = null ): EditRevUpdater {
308        return ( $services ?? MediaWikiServices::getInstance() )->get( EditRevUpdater::SERVICE_NAME );
309    }
310
311    /**
312     * @param ContainerInterface|null $services
313     * @return IBlockedDomainStorage
314     */
315    public static function getBlockedDomainStorage( ?ContainerInterface $services = null ): IBlockedDomainStorage {
316        return ( $services ?? MediaWikiServices::getInstance() )->get( IBlockedDomainStorage::SERVICE_NAME );
317    }
318
319    /**
320     * @param ContainerInterface|null $services
321     * @return IBlockedDomainFilter
322     */
323    public static function getBlockedDomainFilter( ?ContainerInterface $services = null ): IBlockedDomainFilter {
324        return ( $services ?? MediaWikiServices::getInstance() )->get( IBlockedDomainFilter::SERVICE_NAME );
325    }
326
327    public static function getBlockedDomainValidator( ?ContainerInterface $services = null ): BlockedDomainValidator {
328        return ( $services ?? MediaWikiServices::getInstance() )->get( BlockedDomainValidator::SERVICE_NAME );
329    }
330
331    public static function getProtectedVariablesLookup(
332        ?ContainerInterface $services = null
333    ): AbuseFilterProtectedVariablesLookup {
334        $services ??= MediaWikiServices::getInstance();
335        return $services->get( AbuseFilterProtectedVariablesLookup::SERVICE_NAME );
336    }
337
338    public static function getLogDetailsLookup(
339        ?ContainerInterface $services = null
340    ): AbuseFilterLogDetailsLookup {
341        $services ??= MediaWikiServices::getInstance();
342        return $services->get( AbuseFilterLogDetailsLookup::SERVICE_NAME );
343    }
344}