Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
28.57% covered (danger)
28.57%
2 / 7
0.00% covered (danger)
0.00%
0 / 3
CRAP
0.00% covered (danger)
0.00%
0 / 1
Hooks
28.57% covered (danger)
28.57%
2 / 7
0.00% covered (danger)
0.00%
0 / 3
9.83
0.00% covered (danger)
0.00%
0 / 1
 __construct
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 onEditPage__showEditForm_initial
66.67% covered (warning)
66.67%
2 / 3
0.00% covered (danger)
0.00%
0 / 1
2.15
 onResourceLoaderGetConfigVars
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2/**
3 * @file
4 */
5
6// phpcs:disable MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName
7
8namespace MediaWiki\Extension\TemplateWizard;
9
10use MediaWiki\Config\Config;
11use MediaWiki\EditPage\EditPage;
12use MediaWiki\Hook\EditPage__showEditForm_initialHook;
13use MediaWiki\Output\OutputPage;
14use MediaWiki\Registration\ExtensionRegistry;
15use MediaWiki\ResourceLoader\Hook\ResourceLoaderGetConfigVarsHook;
16
17/**
18 * Hooks for the TemplateWizard extension.
19 */
20class Hooks implements
21    EditPage__showEditForm_initialHook,
22    ResourceLoaderGetConfigVarsHook
23{
24
25    private ExtensionRegistry $extensionRegistry;
26
27    public function __construct( ExtensionRegistry $extensionRegistry ) {
28        $this->extensionRegistry = $extensionRegistry;
29    }
30
31    /**
32     * Add the extension's module.
33     * @link https://www.mediawiki.org/wiki/Manual:Hooks/EditPage::showEditForm:initial
34     * @param EditPage $editPage The current EditPage object.
35     * @param OutputPage $output The OutputPage object.
36     */
37    public function onEditPage__showEditForm_initial(
38        $editPage,
39        $output
40    ) {
41        if ( $output->getConfig()->get( 'TemplateDataEnableDiscovery' ) ) {
42            $output->addModules( 'ext.templateData.templateDiscovery' );
43        }
44        $output->addModules( 'ext.TemplateWizard' );
45    }
46
47    /**
48     * Adds extra variables to the global config
49     *
50     * @param array &$vars Global variables object
51     * @param string $skin
52     * @param Config $config
53     */
54    public function onResourceLoaderGetConfigVars( array &$vars, $skin, Config $config ): void {
55        $vars['wgTemplateWizardConfig'] = [
56            'cirrusSearchLookup' => $this->extensionRegistry->isLoaded( 'CirrusSearch' ),
57        ];
58    }
59}