src/Entity/SiteHome/Slide.php line 16

Open in your IDE?
  1. <?php
  2. namespace App\Entity\SiteHome;
  3. use Sylius\Component\Resource\Model\ResourceInterface;
  4. use Sylius\Component\Resource\Model\TranslatableInterface;
  5. use Sylius\Component\Resource\Model\TranslatableTrait;
  6. use Gedmo\Timestampable\Traits\TimestampableEntity;
  7. use Gedmo\Timestampable\Timestampable;
  8. use Doctrine\Common\Collections\ArrayCollection;
  9. use Doctrine\Common\Collections\Collection;
  10. use Sylius\Component\Core\Model\ImagesAwareInterface;
  11. use Sylius\Component\Core\Model\ImageInterface;
  12. class Slide implements ResourceInterfaceTranslatableInterfaceImagesAwareInterfaceTimestampable
  13. {
  14.     use TimestampableEntity;
  15.     use TranslatableTrait {
  16.         __construct as private initializeTranslationsCollection;
  17.     }
  18.     /**
  19.      * @var integer
  20.      */
  21.     protected $id;
  22.     /**
  23.      * @var integer
  24.      */
  25.     protected $position;
  26.     /**
  27.      * @var object
  28.      */
  29.     protected $fabricProduct;
  30.     /** 
  31.      * @var array
  32.      */
  33.     protected $images;
  34.     /**
  35.      * @var bool
  36.      */
  37.     protected $enabled;
  38.     /**
  39.      * @var \DateTime
  40.      */
  41.     protected $dateDiffusion;
  42.     public function __construct()
  43.     {
  44.         $this->initializeTranslationsCollection();
  45.         
  46.         $this->images = new ArrayCollection();
  47.     }
  48.     public function getId(): ?int
  49.     {
  50.         return $this->id;
  51.     }
  52.     public function getPosition(): ?int
  53.     {
  54.         return $this->position;
  55.     }
  56.     public function setPosition(?int $position)
  57.     {
  58.         $this->position $position;
  59.     }
  60.     public function getFabricProduct()
  61.     {
  62.         return $this->fabricProduct;
  63.     }
  64.     public function setFabricProduct($fabricProduct)
  65.     {
  66.         $this->fabricProduct $fabricProduct;
  67.     }
  68.     /**
  69.      * {@inheritdoc}
  70.      */
  71.     public function getImages(): Collection
  72.     {
  73.         return $this->images;
  74.     }
  75.     /**
  76.      * {@inheritdoc}
  77.      */
  78.     public function getImagesByType(string $type): Collection
  79.     {
  80.         return $this->images->filter(function (ImageInterface $image) use ($type) {
  81.             return $type === $image->getType();
  82.         });
  83.     }
  84.     /**
  85.      * {@inheritdoc}
  86.      */
  87.     public function hasImages(): bool
  88.     {
  89.         return !$this->images->isEmpty();
  90.     }
  91.     /**
  92.      * {@inheritdoc}
  93.      */
  94.     public function hasImage(ImageInterface $image): bool
  95.     {
  96.         return $this->images->contains($image);
  97.     }
  98.     /**
  99.      * {@inheritdoc}
  100.      */
  101.     public function addImage(ImageInterface $image): void
  102.     {
  103.         $image->setOwner($this);
  104.         $this->images->add($image);
  105.     }
  106.     /**
  107.      * {@inheritdoc}
  108.      */
  109.     public function removeImage(ImageInterface $image): void
  110.     {
  111.         if ($this->hasImage($image)) {
  112.             $image->setOwner(null);
  113.             $this->images->removeElement($image);
  114.         }
  115.     }
  116.     public function getEnabled(): ?bool
  117.     {
  118.         return $this->enabled;
  119.     }
  120.     public function setEnabled(bool $enabled)
  121.     {
  122.         $this->enabled $enabled;
  123.     }
  124.     public function getTitle(): ?string
  125.     {
  126.         return $this->getTranslation()->getTitle();
  127.     }
  128.     public function setTitle(?string $title): void
  129.     {
  130.         $this->getTranslation()->setTitle($title);
  131.     }
  132.     public function getSubTitle(): ?string
  133.     {
  134.         return $this->getTranslation()->getSubTitle();
  135.     }
  136.     public function setSubTitle(?string $subTitle): void
  137.     {
  138.         $this->getTranslation()->setSubTitle($subTitle);
  139.     }
  140.     public function getDescription(): ?string
  141.     {
  142.         return $this->getTranslation()->getDescription();
  143.     }
  144.     public function setDescription(?string $description): void
  145.     {
  146.         $this->getTranslation()->setDescription($description);
  147.     }
  148.     public function getLinkTitle(): ?string
  149.     {
  150.         return $this->getTranslation()->getLinkTitle();
  151.     }
  152.     public function setLinkTitle(?string $linkTitle): void
  153.     {
  154.         $this->getTranslation()->setLinkTitle($linkTitle);
  155.     }
  156.     public function getLink(): ?string
  157.     {
  158.         return $this->getTranslation()->getLink();
  159.     }
  160.     public function setLink(?string $link): void
  161.     {
  162.         $this->getTranslation()->setLink($link);
  163.     }
  164.     protected function createTranslation(): SlideTranslation
  165.     {
  166.         return new SlideTranslation();
  167.     }
  168.     public function getDateDiffusion()
  169.     {
  170.         return $this->dateDiffusion;
  171.     }
  172.     public function setDateDiffusion($dateDiffusion): void
  173.     {
  174.         $this->dateDiffusion $dateDiffusion;
  175.     }
  176. }