vendor/bugbuster/contao-banner-bundle/src/Resources/contao/classes/BannerTemplate.php line 24

Open in your IDE?
  1. <?php
  2. /**
  3.  * Extension for Contao Open Source CMS, Copyright (C) 2005-2022 Leo Feyer
  4.  *
  5.  * BannerTemplate - Frontend Helper Class
  6.  *
  7.  * @copyright  Glen Langer 2022 <http://contao.ninja>
  8.  * @author     Glen Langer (BugBuster)
  9.  * @licence    LGPL
  10.  * @filesource
  11.  * @see           https://github.com/BugBuster1701/contao-banner-bundle
  12.  */
  13. namespace BugBuster\Banner;
  14. use BugBuster\Banner\BannerHelper;
  15. class BannerTemplate
  16. {
  17.     public static function generateTemplateData($arrImageSize$FileSrc$picture$objBanners$banner_cssID$banner_class)
  18.     {
  19.         $banner_target = ($objBanners->banner_target == '1') ? '' ' target="_blank"';
  20.         if (\strlen($objBanners->banner_comment) > 1) {
  21.             $banner_comment_pos strpos($objBanners->banner_comment"\n"1);
  22.             if ($banner_comment_pos !== false) {
  23.                 $objBanners->banner_comment substr($objBanners->banner_comment0$banner_comment_pos);
  24.             }
  25.         }
  26.         // Banner Seite als Ziel?
  27.         if ($objBanners->banner_jumpTo 0) {
  28.             $domain \Contao\Environment::get('base');
  29.             $objParent \Contao\PageModel::findWithDetails($objBanners->banner_jumpTo);
  30.             if ($objParent !== null) { // is null when page not exist anymore
  31.                 if ($objParent->domain != '') {
  32.                     $domain = (\Contao\Environment::get('ssl') ? 'https://' 'http://') . $objParent->domain TL_PATH '/';
  33.                 }
  34.                 // old $objBanners->banner_url = $domain . \Controller::generateFrontendUrl($objParent->row(), '', $objParent->language);
  35.                 $objBanners->banner_url $domain BannerHelper::frontendUrlGenerator($objParent->row(), null$objParent->language);
  36.             }
  37.         }
  38.         //$arrImageSize[0]  eigene Breite
  39.         //$arrImageSize[1]  eigene Höhe
  40.         //$arrImageSize[3]  Breite und Höhe in der Form height="yyy" width="xxx"
  41.         //$arrImageSize[2]
  42.         // 1 = GIF, 2 = JPG/JPEG, 3 = PNG
  43.         // 4 = SWF, 13 = SWC (zip-like swf file)
  44.         // 5 = PSD, 6 = BMP, 7 = TIFF(intel byte order), 8 = TIFF(motorola byte order)
  45.         // 9 = JPC, 10 = JP2, 11 = JPX, 12 = JB2, 13 = SWC, 14 = IFF
  46.         // 18 = WEBP
  47.         switch ($arrImageSize[2]) {
  48.             case 1:// GIF
  49.             case 2:// JPG
  50.             case 3:// PNG
  51.             case 18// WEBP
  52.                 $arrBanners[] =
  53.                 [
  54.                 'banner_key'     => 'bid',
  55.                 'banner_wrap_id'    => $banner_cssID,
  56.                 'banner_wrap_class' => $banner_class,
  57.                 'banner_id'      => $objBanners->id,
  58.                 'banner_name'    => \Contao\StringUtil::specialchars(\Contao\StringUtil::ampersand($objBanners->banner_name)),
  59.                 'banner_url'     => $objBanners->banner_url,
  60.                 'banner_target'  => $banner_target,
  61.                 'banner_comment' => \Contao\StringUtil::specialchars(\Contao\StringUtil::ampersand($objBanners->banner_comment)),
  62.                 'src'            => \Contao\StringUtil::specialchars(\Contao\StringUtil::ampersand($FileSrc)), //specialchars(\Contao\StringUtil::ampersand($this->urlEncode($FileSrc))),
  63.                 'alt'            => \Contao\StringUtil::specialchars(\Contao\StringUtil::ampersand($objBanners->banner_name)),
  64.                 'size'           => $arrImageSize[3],
  65.                 'banner_pic'     => true,
  66.                 'banner_flash'   => false,
  67.                 'banner_text'    => false,
  68.                 'banner_empty'   => false,
  69.                 'banner_video'   => false,
  70.                 'picture'        => $picture
  71.                 ];
  72.                 break;
  73.             default:
  74.                 $arrBanners[] =
  75.                 [
  76.                 'banner_key'     => 'bid',
  77.                 'banner_wrap_id'    => $banner_cssID,
  78.                 'banner_wrap_class' => $banner_class,
  79.                 'banner_id'      => 0,
  80.                 'banner_name'    => '',
  81.                 'banner_url'     => '',
  82.                 'banner_target'  => '',
  83.                 'banner_comment' => '',
  84.                 'src'            => '',
  85.                 'alt'            => '',
  86.                 'size'           => '',
  87.                 'banner_pic'     => true,
  88.                 'banner_video'   => false,
  89.                 ];
  90.                 break;
  91.         }//switch
  92.         return $arrBanners;
  93.     }
  94. }