modules/QSL/Banner/src/Model/BannerSlide.php line 21

Open in your IDE?
  1. <?php
  2. /**
  3.  * Copyright (c) 2011-present Qualiteam software Ltd. All rights reserved.
  4.  * See https://www.x-cart.com/license-agreement.html for license details.
  5.  */
  6. namespace QSL\Banner\Model;
  7. use Doctrine\ORM\Mapping as ORM;
  8. /**
  9.  * @ORM\Entity (repositoryClass="\QSL\Banner\Model\Repo\BannerSlide")
  10.  * @ORM\Table (name="banner_slide",
  11.  *    indexes={
  12.  *      @ORM\Index (name="ep", columns={"enabled","position"}),
  13.  *  }
  14.  * )
  15.  *
  16.  */
  17. class BannerSlide extends \XLite\Model\Base\I18n
  18. {
  19.     public const CONTENT_TYPE  'I';
  20.     /**
  21.      * @var integer
  22.      *
  23.      * @ORM\Id
  24.      * @ORM\GeneratedValue (strategy="AUTO")
  25.      * @ORM\Column         (type="integer", options={"unsigned": true})
  26.      */
  27.     protected $id;
  28.     /**
  29.      * @var string
  30.      *
  31.      * @ORM\Column (type="string")
  32.      */
  33.     protected $link '';
  34.     /**
  35.      * @var string
  36.      *
  37.      * @ORM\Column (type="string")
  38.      */
  39.     protected $maintext_color '333333';
  40.     /**
  41.      * @var string
  42.      *
  43.      * @ORM\Column (type="string")
  44.      */
  45.     protected $addtext_color '888888';
  46.     /**
  47.      * @var \QSL\Banner\Model\Banner
  48.      *
  49.      * @ORM\ManyToOne  (targetEntity="QSL\Banner\Model\Banner", inversedBy="bannerSlide", cascade={"persist","merge","detach"})
  50.      * @ORM\JoinColumn (name="banner_id", referencedColumnName="id", onDelete="CASCADE")
  51.     */
  52.     protected $banner;
  53.     /**
  54.      * @var \QSL\Banner\Model\Image\Banner\Image
  55.      *
  56.      * @ORM\OneToOne (targetEntity="QSL\Banner\Model\Image\Banner\Image", mappedBy="bannerSlide", cascade={"all"})
  57.      * @ORM\OrderBy ({"position" = "ASC"})
  58.      */
  59.     protected $image;
  60.     /**
  61.      * @var integer
  62.      *
  63.      * @ORM\Column (type="integer")
  64.      */
  65.     protected $position 0;
  66.     /**
  67.      * @var boolean
  68.      *
  69.      * @ORM\Column (type="boolean")
  70.      */
  71.     protected $enabled true;
  72.     /**
  73.      * @var boolean
  74.      *
  75.      * @ORM\Column (type="boolean")
  76.      */
  77.     protected $parallaxImage false;
  78.     /**
  79.      * @var \Doctrine\Common\Collections\Collection
  80.      *
  81.      * @ORM\OneToMany (targetEntity="QSL\Banner\Model\BannerSlideTranslation", mappedBy="owner", cascade={"all"})
  82.      */
  83.     protected $translations;
  84.     /**
  85.      * @return boolean
  86.      */
  87.     public function hasImage()
  88.     {
  89.         return !is_null($this->getImage()) && $this->getImage()->isPersistent();
  90.     }
  91.     public function getCode()
  92.     {
  93.         return $this->getId();
  94.     }
  95.     /**
  96.      * @return string|null
  97.      */
  98.     public function getImageURL()
  99.     {
  100.         return $this->getImage() ? $this->getImage()->getURL() : null;
  101.     }
  102.     /**
  103.      * @return integer
  104.      */
  105.     public function getId()
  106.     {
  107.         return $this->id;
  108.     }
  109.     /**
  110.      * @param boolean $enabled
  111.      */
  112.     public function setEnabled($enabled)
  113.     {
  114.         $this->enabled $enabled;
  115.     }
  116.     /**
  117.      * @return boolean
  118.      */
  119.     public function getEnabled()
  120.     {
  121.         return $this->enabled;
  122.     }
  123.     /**
  124.      * @param boolean $parallaxImage
  125.      */
  126.     public function setParallaxImage($parallaxImage)
  127.     {
  128.         $this->parallaxImage $parallaxImage;
  129.     }
  130.     /**
  131.      * @return boolean
  132.      */
  133.     public function getParallaxImage()
  134.     {
  135.         return $this->parallaxImage;
  136.     }
  137.     /**
  138.      * @param integer $position
  139.      */
  140.     public function setPosition($position)
  141.     {
  142.         $this->position $position;
  143.     }
  144.     /**
  145.      * @return boolean
  146.      */
  147.     public function getPosition()
  148.     {
  149.         return $this->position;
  150.     }
  151.     /**
  152.      * @param string $link
  153.      */
  154.     public function setLink($link)
  155.     {
  156.         $this->link $link;
  157.     }
  158.     /**
  159.      * Get enabled
  160.      *
  161.      * @return boolean
  162.      */
  163.     public function getLink()
  164.     {
  165.         return $this->link;
  166.     }
  167.     /**
  168.      * @return string
  169.      */
  170.     public function getMainTextColor()
  171.     {
  172.         return $this->maintext_color;
  173.     }
  174.     /**
  175.      * @param string $maintext_color
  176.      */
  177.     public function setMainTextColor($maintext_color)
  178.     {
  179.         $this->maintext_color $maintext_color;
  180.     }
  181.     /**
  182.      * @return string
  183.      */
  184.     public function getAddTextColor()
  185.     {
  186.         return $this->addtext_color;
  187.     }
  188.     /**
  189.      * @param string $addtext_color
  190.      */
  191.     public function setAddTextColor($addtext_color)
  192.     {
  193.         $this->addtext_color $addtext_color;
  194.     }
  195.     /**
  196.      * @param \QSL\Banner\Model\Image\Banner\Image $image
  197.      */
  198.     public function setImage(\QSL\Banner\Model\Image\Banner\Image $image null)
  199.     {
  200.         $this->image $image;
  201.     }
  202.     /**
  203.      * @return \QSL\Banner\Model\Image\Banner\Image
  204.      */
  205.     public function getImage()
  206.     {
  207.         return $this->image;
  208.     }
  209.     /**
  210.      * @param \QSL\Banner\Model\Banner $banner
  211.      */
  212.     public function setBanner(\QSL\Banner\Model\Banner $banner)
  213.     {
  214.         $this->banner $banner;
  215.     }
  216.     /**
  217.      * @return \QSL\Banner\Model\Banner
  218.      */
  219.     public function getBanner()
  220.     {
  221.         return $this->banner;
  222.     }
  223.     /**
  224.      * @return string
  225.      */
  226.     public function getEventCell()
  227.     {
  228.         return self::CONTENT_TYPE;
  229.     }
  230.     /**
  231.      * @return string|null
  232.      */
  233.     public function getActionButtonLink()
  234.     {
  235.         return $this->getLink() ?: \Includes\Utils\URLManager::getCurrentURL() . '#';
  236.     }
  237.     // {{{ Translation Getters / setters
  238.     /**
  239.      * @return string
  240.      */
  241.     public function getMaintext()
  242.     {
  243.         return $this->getTranslationField(__FUNCTION__);
  244.     }
  245.     /**
  246.      * @param string $maintext
  247.      *
  248.      * @return \XLite\Model\Base\Translation
  249.      */
  250.     public function setMaintext($maintext)
  251.     {
  252.         return $this->setTranslationField(__FUNCTION__$maintext);
  253.     }
  254.     /**
  255.      * @return string
  256.      */
  257.     public function getAddtext()
  258.     {
  259.         return $this->getTranslationField(__FUNCTION__);
  260.     }
  261.     /**
  262.      * @param string $addtext
  263.      *
  264.      * @return \XLite\Model\Base\Translation
  265.      */
  266.     public function setAddtext($addtext)
  267.     {
  268.         return $this->setTranslationField(__FUNCTION__$addtext);
  269.     }
  270.     /**
  271.      * @return string
  272.      */
  273.     public function getActionButton()
  274.     {
  275.         return $this->getTranslationField(__FUNCTION__);
  276.     }
  277.     /**
  278.      * @param string $actionButton
  279.      *
  280.      * @return \XLite\Model\Base\Translation
  281.      */
  282.     public function setActionButton($actionButton)
  283.     {
  284.         return $this->setTranslationField(__FUNCTION__$actionButton);
  285.     }
  286.     // }}}
  287. }