src/Main/Entity/Popup.php line 18

Open in your IDE?
  1. <?php
  2. namespace App\Main\Entity;
  3. use App\Base\Annotation\Orm\UploadableColumn;
  4. use App\Main\Repository\PopupRepository;
  5. use Symfony\Component\HttpFoundation\File\File;
  6. use App\Base\Annotation\Orm\Label;
  7. use App\Base\Annotation\Orm\Help;
  8. use App\Base\Entity\UploadableTrait;
  9. use Doctrine\ORM\Mapping as ORM;
  10. use Gedmo\Mapping\Annotation as Gedmo;
  11. use Vich\UploaderBundle\Mapping\Annotation as Vich;
  12. use Symfony\Component\Validator\Constraints as Assert;
  13. #[ORM\Entity(repositoryClassPopupRepository::class)]
  14. #[Vich\Uploadable]
  15. class Popup
  16. {
  17.     use UploadableTrait;
  18.     #[ORM\Id]
  19.     #[ORM\GeneratedValue]
  20.     #[ORM\Column(type'integer')]
  21.     protected int|null $id;
  22.     #[ORM\Column(type'string'length255)]
  23.     #[Label('Название спецпредложения.')]
  24.     #[Help('Пример: Успей купить!')]
  25.     protected string $title '';
  26.     #[ORM\Column(type'string'length255)]
  27.     #[Label('Подзаголовок спецпредложения.')]
  28.     #[Help('Пример: "Для вас готово специальное предложение на покупку квартиры в ЖК «4 СТИХИИ»"')]
  29.     protected string $subtitle '';
  30.     #[ORM\Column(type'string'length255)]
  31.     #[Label('Подзаголовок в форме')]
  32.     #[Help('Оставьте заявку, наш менеджер перезвонит вам и ответит на любые вопросы')]
  33.     protected string $formSubtitle 'Оставьте заявку, наш менеджер перезвонит вам и ответит на любые вопросы';
  34.     #[Vich\UploadableField(mapping'uploads'fileNameProperty'imageName')]
  35.     #[Assert\File(maxSize'2048k')]
  36.     #[Label('Изображение ограничено по размеру до 2048кб')]
  37.     #[Help('Надо сжать в iloveimg.com и tinypng.com, даже 2Мб это МНОГО, сайт тормозит из-за этого очень сильно')]
  38.     protected File|null $imageFile null;
  39.     #[ORM\Column(type'string'length255nullabletrue)]
  40.     #[UploadableColumn]
  41.     protected string|null $imageName null;
  42.     #[Vich\UploadableField(mapping'uploads'fileNameProperty'imageMobName')]
  43.     #[Assert\File(maxSize'2048k')]
  44.     #[Label('Мобильное изображение (ограничено по размеру до 2048кб)')]
  45.     #[Help('
  46.     Рекомендуемый разммер: 865×690 px.
  47.     Надо сжать в iloveimg.com и tinypng.com, даже 2Мб это МНОГО, сайт тормозит из-за этого очень сильно
  48.     ')]
  49.     protected File|null $imageMobFile null;
  50.     #[ORM\Column(type'string'length255nullabletrue)]
  51.     #[UploadableColumn]
  52.     protected string|null $imageMobName null;
  53.     #[ORM\Column(type'integer')]
  54.     #[Label('Задержка перед появлением окна')]
  55.     #[Help('В секундах, указывать числом')]
  56.     protected int $timeout 30;
  57.     #[ORM\Column(type'integer')]
  58.     #[Label('Исходное значение таймера в поп-апе')]
  59.     #[Help('В секундах, указывать числом')]
  60.     protected int $timer 60;
  61.     public function getId(): ?int
  62.     {
  63.         return $this->id;
  64.     }
  65.     /**
  66.      * @return string
  67.      */
  68.     public function getTitle(): string
  69.     {
  70.         return $this->title;
  71.     }
  72.     /**
  73.      * @param string $title
  74.      */
  75.     public function setTitle(string $title): void
  76.     {
  77.         $this->title $title;
  78.     }
  79.     /**
  80.      * @return string
  81.      */
  82.     public function getSubtitle(): string
  83.     {
  84.         return $this->subtitle;
  85.     }
  86.     /**
  87.      * @param string $subtitle
  88.      */
  89.     public function setSubtitle(string $subtitle): void
  90.     {
  91.         $this->subtitle $subtitle;
  92.     }
  93.     /**
  94.      * @return int
  95.      */
  96.     public function getTimeout(): int
  97.     {
  98.         return $this->timeout;
  99.     }
  100.     /**
  101.      * @param int $timeout
  102.      */
  103.     public function setTimeout(int $timeout): void
  104.     {
  105.         $this->timeout $timeout;
  106.     }
  107.     /**
  108.      * @return int
  109.      */
  110.     public function getTimer(): int
  111.     {
  112.         return $this->timer;
  113.     }
  114.     /**
  115.      * @param int $timer
  116.      */
  117.     public function setTimer(int $timer): void
  118.     {
  119.         $this->timer $timer;
  120.     }
  121.     /**
  122.      * @return string
  123.      */
  124.     public function getFormSubtitle(): string
  125.     {
  126.         return $this->formSubtitle;
  127.     }
  128.     /**
  129.      * @param string $formSubtitle
  130.      */
  131.     public function setFormSubtitle(string $formSubtitle): void
  132.     {
  133.         $this->formSubtitle $formSubtitle;
  134.     }
  135. }