/** * get part of the collection with entrys selected by the array * * @param array $themeIdentifierList * @return Tx_Yag_Domain_Configuration_Image_ResolutionConfigCollection; */ public function extractCollectionByThemeList(array $themeIdentifierList) { if (current($themeIdentifierList) == '*') { return $this; } $collection = new Tx_Yag_Domain_Configuration_Image_ResolutionConfigCollection(); foreach ($themeIdentifierList as $themeIdentifier) { foreach ($this->itemsArr as $itemName => $item) { if (substr($itemName, 0, strlen($themeIdentifier)) == $themeIdentifier) { $collection->addResolutionConfig($item, $itemName); } } } return $collection; }
/** * @static * @param Tx_Yag_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @return Tx_Yag_Domain_Configuration_Image_ResolutionConfigCollection */ public static function getInstanceOfAllThemes(Tx_Yag_Domain_Configuration_ConfigurationBuilder $configurationBuilder) { $allSettings = $configurationBuilder->getOrigSettings(); $themes = $allSettings['themes']; $resolutionConfigCollection = new Tx_Yag_Domain_Configuration_Image_ResolutionConfigCollection(); foreach ($themes as $themeName => $theme) { if (array_key_exists('resolutionConfigs', $theme) && is_array($theme['resolutionConfigs'])) { foreach ($theme['resolutionConfigs'] as $resolutionName => $resolutionSetting) { $resolutionSetting['name'] = $themeName . '.' . $resolutionName; $resolutionConfig = new Tx_Yag_Domain_Configuration_Image_ResolutionConfig($configurationBuilder, $resolutionSetting); $resolutionConfigCollection->addResolutionConfig($resolutionConfig, $resolutionSetting['name']); } } } return $resolutionConfigCollection; }