/** * 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; }
/** * Get a file resolution * * @param Tx_Yag_Domain_Model_Item $item * @param Tx_Yag_Domain_Configuration_Image_ResolutionConfig $resolutionConfiguration * * @return Tx_Yag_Domain_Model_ResolutionFileCache */ public function getItemFileResolutionPathByConfiguration(Tx_Yag_Domain_Model_Item $item, Tx_Yag_Domain_Configuration_Image_ResolutionConfig $resolutionConfiguration) { $resolutionFile = $this->getResolutionFileFromLocalCache($resolutionConfiguration, $item); if ($resolutionFile == NULL) { $resolutionFile = $this->resolutionFileCacheRepository->getResolutionByItem($item, $resolutionConfiguration); } if ($resolutionFile == NULL || !file_exists(Tx_Yag_Domain_FileSystem_Div::makePathAbsolute($resolutionFile->getPath()))) { $resolutionFile = $this->imageProcessor->generateResolution($item, $resolutionConfiguration); } $this->addResolutionFiletoLocalCache($resolutionFile); return $resolutionFile; }