Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 9
0.00% covered (danger)
0.00%
0 / 1
CRAP
0.00% covered (danger)
0.00%
0 / 1
ScribuntoHooks
0.00% covered (danger)
0.00%
0 / 9
0.00% covered (danger)
0.00%
0 / 1
20
0.00% covered (danger)
0.00%
0 / 1
 onScribuntoExternalLibraries
0.00% covered (danger)
0.00%
0 / 9
0.00% covered (danger)
0.00%
0 / 1
20
1<?php
2
3namespace Wikibase\MediaInfo;
4
5use MediaWiki\Extension\Scribunto\Hooks\ScribuntoExternalLibrariesHook;
6use MediaWiki\Registration\ExtensionRegistry;
7use Wikibase\Client\WikibaseClient;
8use Wikibase\MediaInfo\DataAccess\Scribunto\WikibaseMediaInfoEntityLibrary;
9use Wikibase\MediaInfo\DataAccess\Scribunto\WikibaseMediaInfoLibrary;
10
11class ScribuntoHooks implements
12    ScribuntoExternalLibrariesHook
13{
14
15    /**
16     * External libraries for Scribunto
17     *
18     * @param string $engine
19     * @param string[] &$extraLibraries
20     */
21    public function onScribuntoExternalLibraries( $engine, array &$extraLibraries ) {
22        if ( !ExtensionRegistry::getInstance()->isLoaded( 'WikibaseClient' ) ) {
23            return;
24        }
25        $allowDataTransclusion = WikibaseClient::getSettings()->getSetting( 'allowDataTransclusion' );
26        if ( $engine === 'lua' && $allowDataTransclusion === true ) {
27            $extraLibraries['mw.wikibase.mediainfo'] = WikibaseMediaInfoLibrary::class;
28            $extraLibraries['mw.wikibase.mediainfo.entity'] = [
29                'class' => WikibaseMediaInfoEntityLibrary::class,
30                'deferLoad' => true,
31            ];
32        }
33    }
34
35}