dirSpecificStyles = $options['dirSpecificStyles']; } parent::__construct( $options, $localBasePath, $remoteBasePath ); } public function getStyleFiles( Context $context ) { // Add direction-specific styles $dir = $context->getDirection(); if ( isset( $this->dirSpecificStyles[ $dir ] ) ) { $this->styles = array_merge( $this->styles, (array)$this->dirSpecificStyles[ $dir ] ); // Empty dirSpecificStyles so we don't add them twice if getStyleFiles() is called twice $this->dirSpecificStyles = []; } return parent::getStyleFiles( $context ); } /** * Retrieve the specified icon definitions from codex-icons.json. Intended as a convenience * function to be used in packageFiles definitions. * * Example: * "packageFiles": [ * { * "name": "icons.json", * "callback": "MediaWiki\\ResourceLoader\\CodexModule::getIcons", * "callbackParam": [ * "cdxIconClear", * "cdxIconTrash" * ] * } * ] * * @param Context $context * @param Config $config * @param string[] $iconNames Names of icons to fetch * @return array */ public static function getIcons( Context $context, Config $config, array $iconNames = [] ) { global $IP; static $allIcons = null; if ( $allIcons === null ) { $allIcons = json_decode( file_get_contents( "$IP/resources/lib/codex-icons/codex-icons.json" ), true ); } return array_intersect_key( $allIcons, array_flip( $iconNames ) ); } } /** @deprecated since 1.39 */ class_alias( CodexModule::class, 'ResourceLoaderCodexModule' );