Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
| Total | |
0.00% |
0 / 6 |
|
0.00% |
0 / 1 |
CRAP | |
0.00% |
0 / 1 |
| Plugins | |
0.00% |
0 / 6 |
|
0.00% |
0 / 1 |
20 | |
0.00% |
0 / 1 |
| contains | |
0.00% |
0 / 6 |
|
0.00% |
0 / 1 |
20 | |||
| 1 | <?php |
| 2 | |
| 3 | namespace CirrusSearch\Maintenance; |
| 4 | |
| 5 | class Plugins { |
| 6 | // map from elasticsearch plugin name to opensearch |
| 7 | // plugin name. |
| 8 | private const ALIASES = [ |
| 9 | 'analysis-stconvert' => 'opensearch-analysis-stconvert', |
| 10 | 'experimental-highlighter' => 'cirrus-highlighter', |
| 11 | 'extra' => 'opensearch-extra', |
| 12 | 'extra-analysis-esperanto' => 'opensearch-extra-analysis-esperanto', |
| 13 | 'extra-analysis-homoglyph' => 'opensearch-extra-analysis-homoglyph', |
| 14 | 'extra-analysis-khmer' => 'opensearch-extra-analysis-khmer', |
| 15 | 'extra-analysis-serbian' => 'opensearch-extra-analysis-serbian', |
| 16 | 'extra-analysis-slovak' => 'opensearch-extra-analysis-slovak', |
| 17 | 'extra-analysis-textify' => 'opensearch-extra-analysis-textify', |
| 18 | 'extra-analysis-turkish' => 'opensearch-extra-analysis-turkish', |
| 19 | 'extra-analysis-ukrainian' => 'opensearch-extra-analysis-ukrainian', |
| 20 | ]; |
| 21 | |
| 22 | /** |
| 23 | * @param string $plugin The name of the elasticsearch plugin to look for |
| 24 | * @param string[] $available The set of installed plugins |
| 25 | * @return bool True when the plugin is available |
| 26 | */ |
| 27 | public static function contains( $plugin, $available ) { |
| 28 | if ( in_array( $plugin, $available ) ) { |
| 29 | return true; |
| 30 | } |
| 31 | if ( isset( self::ALIASES[$plugin] ) && |
| 32 | in_array( self::ALIASES[$plugin], $available ) |
| 33 | ) { |
| 34 | return true; |
| 35 | } |
| 36 | |
| 37 | return false; |
| 38 | } |
| 39 | } |