/** * Batch resize pictures, called by scheduler. * * @return boolean true if task run was successful */ public function execute() { $configuration = $GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['image_autoresize_ff']; if (!empty($configuration)) { $configuration = unserialize($configuration); } if (!is_array($configuration)) { throw new \RuntimeException('No configuration found', 1384103174); } $this->imageResizer = GeneralUtility::makeInstance(\Causal\ImageAutoresize\Service\ImageResizer::class); $this->imageResizer->initializeRulesets($configuration); if (empty($this->directories)) { // Process watched directories $directories = $this->imageResizer->getAllDirectories(); } else { $directories = GeneralUtility::trimExplode(LF, $this->directories, true); } $processedDirectories = array(); $success = true; foreach ($directories as $directory) { $skip = false; foreach ($processedDirectories as $processedDirectory) { if (GeneralUtility::isFirstPartOfStr($directory, $processedDirectory)) { continue 2; } } // Execute bach resize $success |= $this->batchResizePictures($directory); $processedDirectories[] = $directory; } return $success; }
/** * Default constructor. */ public function __construct() { if (static::$imageResizer === null) { static::$imageResizer = GeneralUtility::makeInstance(\Causal\ImageAutoresize\Service\ImageResizer::class); $configuration = $GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['image_autoresize_ff']; if (!$configuration) { $this->notify($GLOBALS['LANG']->sL('LLL:EXT:image_autoresize/Resources/Private/Language/locallang.xml:message.emptyConfiguration'), \TYPO3\CMS\Core\Messaging\FlashMessage::ERROR); } $configuration = unserialize($configuration); if (is_array($configuration)) { static::$imageResizer->initializeRulesets($configuration); } } }