/** * Get ResourceLoaderImage objects for all images. * @param ResourceLoaderContext $context * @return ResourceLoaderImage[] Array keyed by image name */ public function getImages(ResourceLoaderContext $context) { $skin = $context->getSkin(); if (!isset($this->imageObjects)) { $this->loadFromDefinition(); $this->imageObjects = []; } if (!isset($this->imageObjects[$skin])) { $this->imageObjects[$skin] = []; if (!isset($this->images[$skin])) { $this->images[$skin] = isset($this->images['default']) ? $this->images['default'] : []; } foreach ($this->images[$skin] as $name => $options) { $fileDescriptor = is_string($options) ? $options : $options['file']; $allowedVariants = array_merge(is_array($options) && isset($options['variants']) ? $options['variants'] : [], $this->getGlobalVariants($context)); if (isset($this->variants[$skin])) { $variantConfig = array_intersect_key($this->variants[$skin], array_fill_keys($allowedVariants, true)); } else { $variantConfig = []; } $image = new ResourceLoaderImage($name, $this->getName(), $fileDescriptor, $this->localBasePath, $variantConfig); $this->imageObjects[$skin][$image->getName()] = $image; } } return $this->imageObjects[$skin]; }
/** * Get ResourceLoaderImage objects for all images. * @return ResourceLoaderImage[] Array keyed by image name */ public function getImages() { if (!isset($this->imageObjects)) { $this->imageObjects = array(); foreach ($this->images as $name => $options) { $fileDescriptor = is_string($options) ? $options : $options['file']; $allowedVariants = array_merge(is_array($options) && isset($options['variants']) ? $options['variants'] : array(), $this->getGlobalVariants()); if (isset($this->variants)) { $variantConfig = array_intersect_key($this->variants, array_fill_keys($allowedVariants, true)); } else { $variantConfig = array(); } $image = new ResourceLoaderImage($name, $this->getName(), $fileDescriptor, $this->localBasePath, $variantConfig); $this->imageObjects[$image->getName()] = $image; } } return $this->imageObjects; }