/** * (non-PHPdoc) * @see Classes/Core/ViewHelper/Tx_Fluid_Core_ViewHelper_AbstractTagBasedViewHelper::initialize() */ public function initialize() { parent::initialize(); $this->configurationBuilder = Tx_Yag_Domain_Configuration_ConfigurationBuilderFactory::getInstance(); $this->resolutionConfigCollection = $this->configurationBuilder->buildThemeConfiguration()->getResolutionConfigCollection(); $this->crossSlideSettings = $this->configurationBuilder->getSettings('crossSlide'); }
/** * Returns an instance of importer configuration * * @param Tx_Yag_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @return Tx_Yag_Domain_Configuration_Import_ImporterConfiguration */ public static function getInstance(Tx_Yag_Domain_Configuration_ConfigurationBuilder $configurationBuilder) { if (self::$instance === null) { $importerSettings = $configurationBuilder->getSettingsForConfigObject('importer'); self::$instance = new Tx_Yag_Domain_Configuration_Import_ImporterConfiguration($configurationBuilder, $importerSettings); } return self::$instance; }
/** * @static * @param Tx_Yag_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @param null $themeSettings array * @param null $themeName string * @return Tx_Yag_Domain_Configuration_Theme_ThemeConfiguration */ public static function getInstance(Tx_Yag_Domain_Configuration_ConfigurationBuilder $configurationBuilder, $themeSettings = NULL, $themeName = NULL) { if (!$themeSettings) { $themeSettings = $configurationBuilder->getSettingsForConfigObject('theme'); $themeName = $configurationBuilder->getTheme(); } return new Tx_Yag_Domain_Configuration_Theme_ThemeConfiguration($configurationBuilder, $themeSettings, $themeName); }
/** * Returns an instance of theme configuration collection * * @param Tx_Yag_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @return Tx_Yag_Domain_Configuration_Theme_ThemeConfigCollection */ public static function getInstance(Tx_Yag_Domain_Configuration_ConfigurationBuilder $configurationBuilder) { $themes = $configurationBuilder->getOrigSettings('themes'); $themeConfigCollection = new Tx_Yag_Domain_Configuration_Theme_ThemeConfigCollection(); foreach ($themes as $themeName => $themeSettings) { $themeConfigCollection->addThemeConfig(Tx_Yag_Domain_Configuration_Theme_ThemeConfigurationFactory::getInstance($configurationBuilder, $themeSettings, $themeName), $themeName); } return $themeConfigCollection; }
/** * @param Tx_Yag_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @param $frontendLibSettings * @return Tx_Yag_Domain_Configuration_FrontendLib_FrontendLibConfigCollection */ public static function getInstance(Tx_Yag_Domain_Configuration_ConfigurationBuilder $configurationBuilder) { $frontendLibConfigCollection = new Tx_Yag_Domain_Configuration_FrontendLib_FrontendLibConfigCollection(); $frontendLibSettings = $configurationBuilder->getSettingsForConfigObject('frontendLib'); foreach ($frontendLibSettings as $frontendLibName => $frontendLibSetting) { $frontendLibConfig = new Tx_Yag_Domain_Configuration_FrontendLib_FrontendLibConfig($configurationBuilder, $frontendLibSetting); $frontendLibConfigCollection->addFrontendLibConfig($frontendLibConfig, $frontendLibName); } return $frontendLibConfigCollection; }
/** * @param Tx_Yag_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @param $sysImageSettings * @return Tx_Yag_Domain_Configuration_Image_ResolutionConfigCollection */ public static function getInstance(Tx_Yag_Domain_Configuration_ConfigurationBuilder $configurationBuilder) { $sysImageSettings = $configurationBuilder->getSettingsForConfigObject('sysImages'); $sysImageConfigCollection = new Tx_Yag_Domain_Configuration_Image_SysImageConfigCollection(); foreach ($sysImageSettings as $sysImageConfigName => $sysImageSetting) { $sysImageSetting['name'] = $sysImageConfigName; $sysImageConfig = new Tx_Yag_Domain_Configuration_Image_SysImageConfig($configurationBuilder, $sysImageSetting); $sysImageConfigCollection->addSysImageConfig($sysImageConfig, $sysImageConfigName); } return $sysImageConfigCollection; }
/** * Creates an instance of an importer * * @param string $importerClassName Class name of importer * @return Tx_Yag_Domain_Import_AbstractImporter Instance of importer class */ public function createImporter($importerClassName) { $objectManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager'); /** @var $objectManager \TYPO3\CMS\Extbase\Object\ObjectManager */ $importer = $objectManager->get($importerClassName); /* @var $importer Tx_Yag_Domain_Import_AbstractImporter */ $importer->setConfigurationBuilder($this->configurationBuilder); $importer->setImporterConfiguration($this->configurationBuilder->buildImporterConfiguration()); $importer->setImageProcessor(Tx_Yag_Domain_ImageProcessing_ProcessorFactory::getInstance($this->configurationBuilder)); return $importer; }
/** * @param Tx_Yag_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @return Tx_Yag_Domain_Configuration_Item_CustomMetaConfigCollection */ public static function getInstance(Tx_Yag_Domain_Configuration_ConfigurationBuilder $configurationBuilder) { $customMetaSettings = $configurationBuilder->getSettingsForConfigObject('customMetaData'); $customMetaCollection = new Tx_Yag_Domain_Configuration_Item_CustomMetaConfigCollection(); foreach ($customMetaSettings as $customMetaKey => $customMetaSetting) { $customMetaSetting['key'] = $customMetaKey; $customMetaConfig = new Tx_Yag_Domain_Configuration_Item_CustomMetaConfig($configurationBuilder, $customMetaSetting); $customMetaCollection->addCustomMetaConfig($customMetaConfig, $customMetaKey); } return $customMetaCollection; }
/** * Factory method for file repository * * @param Tx_Yag_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @return null|Tx_Yag_Domain_ImageProcessing_AbstractProcessor */ public static function getInstance(Tx_Yag_Domain_Configuration_ConfigurationBuilder $configurationBuilder) { if (self::$instance == null) { $processorClass = 'Tx_Yag_Domain_ImageProcessing_Typo3Processor'; $objectManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager'); self::$instance = $objectManager->get($processorClass); self::$instance->_injectProcessorConfiguration($configurationBuilder->buildImageProcessorConfiguration()); self::$instance->_injectHashFileSystem(Tx_Yag_Domain_FileSystem_HashFileSystemFactory::getInstance()); self::$instance->init(); } return self::$instance; }
/** * @param Tx_PtExtlist_Domain_Model_List_ListData $listData * @return string */ protected function buildGalleriaJSONData(Tx_PtExtlist_Domain_Model_List_ListData $listData) { $resolutionConfigCollection = $this->configurationBuilder->buildThemeConfiguration()->getResolutionConfigCollection(); $data = array(); foreach ($listData as $row) { /** @var Tx_PtExtlist_Domain_Model_List_Row $row */ $image = $row->getCell('image')->getValue(); /** @var Tx_Yag_Domain_Model_Item $image */ $pathPrefix = TYPO3_MODE === 'BE' ? '../' : $GLOBALS['TSFE']->absRefPrefix; $data[] = array('thumb' => $pathPrefix . $image->getResolutionByConfig($resolutionConfigCollection->getResolutionConfig('thumb'))->getPath(), 'image' => $pathPrefix . $image->getResolutionByConfig($resolutionConfigCollection->getResolutionConfig('medium'))->getPath(), 'big' => $pathPrefix . $image->getResolutionByConfig($resolutionConfigCollection->getResolutionConfig('big'))->getPath(), 'title' => $image->getTitle(), 'description' => $image->getDescription(), 'link' => $this->renderTypoLink($image->getLink())); } return json_encode($data); }
/** * @return array */ protected function getRandomUIDs() { $itemRepository = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager')->get('Tx_Yag_Domain_Repository_ItemRepository'); /** @var $itemRepository Tx_Yag_Domain_Repository_ItemRepository */ $randomItemCount = $this->yagConfigurationBuilder->buildItemListConfiguration()->getItemsPerPage(); return $itemRepository->getRandomItemUIDs($randomItemCount, $this->yagContext->getGalleryUid(), $this->yagContext->getAlbumUid()); }
/** * Set the TS defined custom paths in view * * @param \TYPO3\CMS\Extbase\Mvc\View\ViewInterface $view * @throws Exception */ protected function setCustomPathsInView(\TYPO3\CMS\Extbase\Mvc\View\ViewInterface $view) { $templatePathAndFilename = null; // We can overwrite a template via TS using plugin.yag.settings.controller.<ControllerName>.<actionName>.template if ($this->configurationBuilder) { $templatePathAndFilename = $this->configurationBuilder->buildThemeConfiguration()->getTemplate($this->request->getControllerName(), $this->request->getControllerActionName()); $this->objectManager->get('Tx_Yag_Utility_HeaderInclusion')->includeThemeDefinedHeader($this->configurationBuilder->buildThemeConfiguration()); } if (!$templatePathAndFilename) { $templatePathAndFilename = $this->settings['controller'][$this->request->getControllerName()][$this->request->getControllerActionName()]['template']; } if (isset($templatePathAndFilename) && strlen($templatePathAndFilename) > 0) { /** * Format Overlay */ if ($this->request->getFormat() && strtolower($this->request->getFormat()) !== 'html') { $templatePathAndFilename = Tx_Yag_Domain_FileSystem_Div::concatenatePaths(array(dirname($templatePathAndFilename), basename($templatePathAndFilename, '.html') . '.' . $this->request->getFormat())); } if (file_exists(GeneralUtility::getFileAbsFileName($templatePathAndFilename))) { $view->setTemplatePathAndFilename(GeneralUtility::getFileAbsFileName($templatePathAndFilename)); } else { throw new Exception('Given template path and filename could not be found or resolved: ' . $templatePathAndFilename . ' 1284655109'); } } }
/** * @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; }
/** * @return array */ public function buildSuperSizedSettings() { $fileSystemDiv = GeneralUtility::makeInstance('Tx_Yag_Domain_FileSystem_Div'); /** @var $fileSystemDiv Tx_Yag_Domain_FileSystem_Div */ $superSizedSettings = $this->configurationBuilder->getJSCompliantSettings('superSizedSettings'); $superSizedSettings['image_path'] = $fileSystemDiv->getFileRelFileName($superSizedSettings['image_path']); return $superSizedSettings; }
/** * @return bool */ public function isInStrictFilterMode() { $strictFilterModes = $this->configurationBuilder->getSettings('behavior.strictFilterPluginModes'); $pluginModeIdentifier = $this->getPluginModeIdentifier(); if (array_key_exists($pluginModeIdentifier, $strictFilterModes) && (int) $strictFilterModes[$pluginModeIdentifier] === 1) { return TRUE; } else { return FALSE; } }
/** * @return int|string */ protected function getRandomResolutionName() { $weightArray = $this->configurationBuilder->getSettings('blockSizeWeighting'); $maxScore = 0; $selectedResolution = ''; foreach ($weightArray as $resolution => $weight) { $rand = rand(0, $weight); if ($rand > $maxScore) { $selectedResolution = $resolution; $maxScore = $rand; } } return $selectedResolution; }
/** * Returns an instance of image processor configuration * * @param Tx_Yag_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @return Tx_Yag_Domain_Configuration_ImageProcessing_ImageProcessorConfiguration */ public static function getInstance(Tx_Yag_Domain_Configuration_ConfigurationBuilder $configurationBuilder) { $imageProcessorSettings = $configurationBuilder->getSettingsForConfigObject('imageProcessor'); return new Tx_Yag_Domain_Configuration_ImageProcessing_ImageProcessorConfiguration($configurationBuilder, $imageProcessorSettings); }
/** * @return Tx_Yag_Domain_Configuration_Image_ResolutionConfig */ protected function getRequestedResolutionConfig() { return $this->configurationBuilder->buildThemeConfiguration()->getResolutionConfigCollection()->getResolutionConfig($this->resolutionIdentifier); }
/** * Returns an instance of general configuration * * @param Tx_Yag_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @return Tx_Yag_Domain_Configuration_Context_ContextConfig */ public static function getInstance(Tx_Yag_Domain_Configuration_ConfigurationBuilder $configurationBuilder) { $contextSettings = $configurationBuilder->getSettingsForConfigObject('context'); return new Tx_Yag_Domain_Configuration_Context_ContextConfig($configurationBuilder, $contextSettings); }
/** * Returns an instance of general configuration * * @param Tx_Yag_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @return Tx_Yag_Domain_Configuration_AlbumList_AlbumListConfig */ public static function getInstance(Tx_Yag_Domain_Configuration_ConfigurationBuilder $configurationBuilder) { $albumListSettings = $configurationBuilder->getSettingsForConfigObject('albumList'); return new Tx_Yag_Domain_Configuration_AlbumList_AlbumListConfig($configurationBuilder, $albumListSettings); }
/** * Returns an instance of general configuration * * @param Tx_Yag_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @return Tx_Yag_Domain_Configuration_Item_ItemConfig */ public static function getInstance(Tx_Yag_Domain_Configuration_ConfigurationBuilder $configurationBuilder) { $itemSettings = $configurationBuilder->getSettingsForConfigObject('item'); return new Tx_Yag_Domain_Configuration_Item_ItemConfig($configurationBuilder, $itemSettings); }
/** * Returns an instance of extlist configuration * * @param Tx_Yag_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @return Tx_Yag_Domain_Configuration_Extlist_ExtlistConfiguration */ public static function getInstance(Tx_Yag_Domain_Configuration_ConfigurationBuilder $configurationBuilder) { $extlistSettings = $configurationBuilder->getSettingsForConfigObject('extlist'); return new Tx_Yag_Domain_Configuration_Extlist_ExtlistConfiguration($configurationBuilder, $extlistSettings); }
/** * @test */ public function buildImageProcessorConfigurationReturnsImageProcessorConfiguration() { $imageProcessorConfiguration = $this->fixture->buildImageProcessorConfiguration(); $this->assertTrue(is_a($imageProcessorConfiguration, 'Tx_Yag_Domain_Configuration_ImageProcessing_ImageProcessorConfiguration')); }
/** * @param $listData */ protected function preloadResolutionCache($listData) { Tx_Yag_Domain_FileSystem_ResolutionFileCacheFactory::getInstance()->preloadCacheForItemsAndTheme($listData, $this->configurationBuilder->buildThemeConfiguration()); }
/** * @return int CacheSize */ public function getCacheSize() { $cacheDirectoryRoot = $this->configurationBuilder->buildExtensionConfiguration()->getHashFilesystemRootAbsolute(); return Tx_Yag_Domain_FileSystem_Div::getDirSize($cacheDirectoryRoot); }
/** * @return array */ public function buildNivoSettings() { $nivoSettings = $this->configurationBuilder->getJSCompliantSettings('nivoSliderSettings'); $nivoSettings['controlNavThumbsFromRel'] = true; return $nivoSettings; }
/** * Returns an instance of general configuration * * @param Tx_Yag_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @return Tx_Yag_Domain_Configuration_Extension_GeneralConfiguration */ public static function getInstance(Tx_Yag_Domain_Configuration_ConfigurationBuilder $configurationBuilder) { $extensionSettings = $configurationBuilder->getExtConfSettings(); return new Tx_Yag_Domain_Configuration_Extension_ExtensionConfiguration($configurationBuilder, $extensionSettings); }