protected function getSingleBanner() { $blnParent = parent::getSingleBanner(); if (!is_array($this->Template->banners)) { return $blnParent; } $arrBanners = $this->Template->banners; foreach ($arrBanners as $i => $arrBanner) { $objBanner = \BannerModel::findByPk($arrBanner['banner_id']); if ($objBanner === null) { continue; } if ($objBanner->banner_type != static::BANNER_TYPE_INTERN) { continue; } $this->addImageData('banner_image_left', deserialize($objBanner->banner_imgSize_left), $arrBanner, $objBanner, 'left'); $this->addImageData('banner_image_right', deserialize($objBanner->banner_imgSize_right), $arrBanner, $objBanner, 'right'); // Override the default image size if ($this->banner_imgSize != '') { $size = deserialize($this->banner_imgSize); try { $src = \Image::create($arrBanner['src'], $size)->executeResize()->getResizedPath(); $picture = \Picture::create($arrBanner['src'], $size)->getTemplateData(); if ($src !== $arrBanner['src']) { $objFile = new \File(rawurldecode($src), true); } $arrBanner['picture'] = $picture; } catch (\Exception $e) { \System::log('Image "' . $arrBanner['src'] . '" could not be processed: ' . $e->getMessage(), __METHOD__, TL_ERROR); $src = ''; $picture = array('img' => array('src' => '', 'srcset' => ''), 'sources' => array()); } } $arrBanners[$i] = $arrBanner; } $this->Template->banners = $arrBanners; }