. * * @file * @ingroup Skins */ declare( strict_types=1 ); namespace MediaWiki\Skins\Citizen\Hooks; use Config; use ExtensionRegistry; use MediaWiki\MainConfigNames; use MediaWiki\ResourceLoader as RL; /** * Hooks to run relating to the resource loader */ class ResourceLoaderHooks { /** * Passes config variables to skins.citizen.scripts ResourceLoader module. * @param RL\Context $context * @param Config $config * @return array */ public static function getCitizenResourceLoaderConfig( RL\Context $context, Config $config ) { return [ 'wgCitizenEnablePreferences' => $config->get( 'CitizenEnablePreferences' ), 'wgCitizenOverflowNowrapClasses' => $config->get( 'CitizenOverflowNowrapClasses' ), 'wgCitizenSearchModule' => $config->get( 'CitizenSearchModule' ) ]; } /** * Passes config variables to skins.citizen.preferences ResourceLoader module. * @param RL\Context $context * @param Config $config * @return array */ public static function getCitizenPreferencesResourceLoaderConfig( RL\Context $context, Config $config ) { return [ 'wgCitizenThemeDefault' => $config->get( 'CitizenThemeDefault' ), ]; } /** * Passes config variables to skins.citizen.search ResourceLoader module. * @param RL\Context $context * @param Config $config * @return array */ public static function getCitizenSearchResourceLoaderConfig( RL\Context $context, Config $config ) { return [ 'wgCitizenSearchGateway' => $config->get( 'CitizenSearchGateway' ), 'wgCitizenSearchDescriptionSource' => $config->get( 'CitizenSearchDescriptionSource' ), 'wgCitizenMaxSearchResults' => $config->get( 'CitizenMaxSearchResults' ), 'wgScript' => $config->get( MainConfigNames::Script ), 'wgScriptPath' => $config->get( MainConfigNames::ScriptPath ), 'wgSearchSuggestCacheExpiry' => $config->get( MainConfigNames::SearchSuggestCacheExpiry ), 'isMediaSearchExtensionEnabled' => ExtensionRegistry::getInstance()->isLoaded( 'MediaSearch' ), ]; } }