Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 8
0.00% covered (danger)
0.00%
0 / 2
CRAP
0.00% covered (danger)
0.00%
0 / 1
ElementsModule
0.00% covered (danger)
0.00%
0 / 8
0.00% covered (danger)
0.00%
0 / 2
6
0.00% covered (danger)
0.00%
0 / 1
 getActivePresets
0.00% covered (danger)
0.00%
0 / 4
0.00% covered (danger)
0.00%
0 / 1
2
 getMessages
0.00% covered (danger)
0.00%
0 / 4
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2
3namespace AdvancedSearch;
4
5use MediaWiki\ResourceLoader\FileModule;
6
7class ElementsModule extends FileModule {
8
9    private function getActivePresets(): array {
10        // Not worth caching, we know the number of presets is very small
11        return array_filter(
12            $this->config->get( 'AdvancedSearchNamespacePresets' ),
13            static fn ( array $preset ) => $preset['enabled'] ?? false
14        );
15    }
16
17    /** @inheritDoc */
18    public function getMessages() {
19        // The following messages are used here:
20        // * advancedsearch-namespaces-preset-all
21        // * advancedsearch-namespaces-preset-default
22        // * advancedsearch-namespaces-preset-general-help
23        // * advancedsearch-namespaces-preset-discussion
24        // and all dynamic keys from $wgAdvancedSearchNamespacePresets
25        return array_unique( array_merge(
26            parent::getMessages(),
27            array_column( $this->getActivePresets(), 'label' )
28        ) );
29    }
30}