<?php
namespace App\Main\Entity;
use App\Base\Annotation\Orm\UploadableColumn;
use App\Main\Repository\PopupRepository;
use Symfony\Component\HttpFoundation\File\File;
use App\Base\Annotation\Orm\Label;
use App\Base\Annotation\Orm\Help;
use App\Base\Entity\UploadableTrait;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
use Vich\UploaderBundle\Mapping\Annotation as Vich;
use Symfony\Component\Validator\Constraints as Assert;
#[ORM\Entity(repositoryClass: PopupRepository::class)]
#[Vich\Uploadable]
class Popup
{
use UploadableTrait;
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column(type: 'integer')]
protected int|null $id;
#[ORM\Column(type: 'string', length: 255)]
#[Label('Название спецпредложения.')]
#[Help('Пример: Успей купить!')]
protected string $title = '';
#[ORM\Column(type: 'string', length: 255)]
#[Label('Подзаголовок спецпредложения.')]
#[Help('Пример: "Для вас готово специальное предложение на покупку квартиры в ЖК «4 СТИХИИ»"')]
protected string $subtitle = '';
#[ORM\Column(type: 'string', length: 255)]
#[Label('Подзаголовок в форме')]
#[Help('Оставьте заявку, наш менеджер перезвонит вам и ответит на любые вопросы')]
protected string $formSubtitle = 'Оставьте заявку, наш менеджер перезвонит вам и ответит на любые вопросы';
#[Vich\UploadableField(mapping: 'uploads', fileNameProperty: 'imageName')]
#[Assert\File(maxSize: '2048k')]
#[Label('Изображение ограничено по размеру до 2048кб')]
#[Help('Надо сжать в iloveimg.com и tinypng.com, даже 2Мб это МНОГО, сайт тормозит из-за этого очень сильно')]
protected File|null $imageFile = null;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
#[UploadableColumn]
protected string|null $imageName = null;
#[Vich\UploadableField(mapping: 'uploads', fileNameProperty: 'imageMobName')]
#[Assert\File(maxSize: '2048k')]
#[Label('Мобильное изображение (ограничено по размеру до 2048кб)')]
#[Help('
Рекомендуемый разммер: 865×690 px.
Надо сжать в iloveimg.com и tinypng.com, даже 2Мб это МНОГО, сайт тормозит из-за этого очень сильно
')]
protected File|null $imageMobFile = null;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
#[UploadableColumn]
protected string|null $imageMobName = null;
#[ORM\Column(type: 'integer')]
#[Label('Задержка перед появлением окна')]
#[Help('В секундах, указывать числом')]
protected int $timeout = 30;
#[ORM\Column(type: 'integer')]
#[Label('Исходное значение таймера в поп-апе')]
#[Help('В секундах, указывать числом')]
protected int $timer = 60;
public function getId(): ?int
{
return $this->id;
}
/**
* @return string
*/
public function getTitle(): string
{
return $this->title;
}
/**
* @param string $title
*/
public function setTitle(string $title): void
{
$this->title = $title;
}
/**
* @return string
*/
public function getSubtitle(): string
{
return $this->subtitle;
}
/**
* @param string $subtitle
*/
public function setSubtitle(string $subtitle): void
{
$this->subtitle = $subtitle;
}
/**
* @return int
*/
public function getTimeout(): int
{
return $this->timeout;
}
/**
* @param int $timeout
*/
public function setTimeout(int $timeout): void
{
$this->timeout = $timeout;
}
/**
* @return int
*/
public function getTimer(): int
{
return $this->timer;
}
/**
* @param int $timer
*/
public function setTimer(int $timer): void
{
$this->timer = $timer;
}
/**
* @return string
*/
public function getFormSubtitle(): string
{
return $this->formSubtitle;
}
/**
* @param string $formSubtitle
*/
public function setFormSubtitle(string $formSubtitle): void
{
$this->formSubtitle = $formSubtitle;
}
}