bundles/mldev-publication-bundle/src/Entity/Item.php line 19

Open in your IDE?
  1. <?php
  2. namespace MLDev\PublicationBundle\Entity;
  3. use Doctrine\ORM\Mapping as ORM;
  4. use Gedmo\Mapping\Annotation as Gedmo;
  5. use MLDev\BaseBundle\Contract\SeoSite\SeoSiteInfoInterface;
  6. use MLDev\BaseBundle\Entity\Traits\Timestampable;
  7. use MLDev\BaseBundle\Annotation\Uploadable;
  8. use Symfony\Component\Validator\Constraints as Assert;
  9. /**
  10.  * Item
  11.  *
  12.  * @ORM\Table(name="MLDev_Publication_Item")
  13.  * @ORM\Entity(repositoryClass="MLDev\PublicationBundle\Repository\ItemRepository")
  14.  * @ORM\HasLifecycleCallbacks()
  15.  */
  16. class Item
  17. {
  18.     use Timestampable;
  19.     /**
  20.      * @var int
  21.      *
  22.      * @ORM\Id
  23.      * @ORM\Column(name="id", type="integer")
  24.      * @ORM\GeneratedValue(strategy="AUTO")
  25.      */
  26.     private $id;
  27.     /**
  28.      * @var string
  29.      *
  30.      * @ORM\Column(name="name", type="string", length=255)
  31.      */
  32.     private $name;
  33.     /**
  34.      * @var string
  35.      *
  36.      * @Gedmo\Slug(fields={"name"}, updatable=false, unique=true, separator="-")
  37.      * @ORM\Column(name="alias", type="string", length=255, nullable=false)
  38.      */
  39.     private $alias;
  40.     /**
  41.      * @var string|null
  42.      *
  43.      * @ORM\Column(name="annotation", type="text", nullable=true)
  44.      */
  45.     private $annotation;
  46.     /**
  47.      * @var string|null
  48.      *
  49.      * @ORM\Column(name="content", type="text", nullable=true)
  50.      */
  51.     private $content;
  52.     /**
  53.      * @var string
  54.      *
  55.      * @ORM\Column(name="author", type="string", length=255, nullable=true)
  56.      */
  57.     private $author;
  58.     /**
  59.      * @var bool
  60.      *
  61.      * @ORM\Column(name="isActive", type="boolean")
  62.      */
  63.     private $isActive;
  64.     /**
  65.      * @var int
  66.      *
  67.      * @ORM\Column(name="priority", type="integer")
  68.      */
  69.     private $priority 100;
  70.     /**
  71.      * @var \DateTime
  72.      * @ORM\Column(name="date", type="datetime", nullable=true)
  73.      */
  74.     private $date;
  75.     /**
  76.      * @ORM\Column(type="string", name="image", nullable=true)
  77.      *
  78.      * @Uploadable(directoryAlias="page")
  79.      * @Assert\File(mimeTypes={"image/jpeg", "image/jpg", "image/png"})
  80.      */
  81.     private $image null;
  82.     /**
  83.      * @ORM\ManyToOne(targetEntity="\MLDev\PublicationBundle\Entity\Category", inversedBy="items")
  84.      */
  85.     private $category;
  86.     /**
  87.      * @ORM\ManyToMany(targetEntity=SeoSiteInfoInterface::class, cascade={"persist"})
  88.      * @ORM\JoinTable(
  89.      *     name="MLDev_Publication_SeoInfo",
  90.      *     joinColumns={
  91.      *          @ORM\JoinColumn(name="publication_id", referencedColumnName="id", onDelete="CASCADE")
  92.      *     },
  93.      *     inverseJoinColumns={
  94.      *          @ORM\JoinColumn(name="seo_info_id", referencedColumnName="id", onDelete="CASCADE")
  95.      *     }
  96.      * )
  97.      */
  98.     private $seoInfo;
  99.     /**
  100.      * @var string
  101.      *
  102.      * @ORM\Column(name="link", type="text", nullable=true)
  103.      */
  104.     private $link;
  105.     /**
  106.      * Get id.
  107.      *
  108.      * @return int
  109.      */
  110.     public function getId()
  111.     {
  112.         return $this->id;
  113.     }
  114.     /**
  115.      * Set name.
  116.      *
  117.      * @param string $name
  118.      *
  119.      * @return Item
  120.      */
  121.     public function setName($name)
  122.     {
  123.         $this->name $name;
  124.         return $this;
  125.     }
  126.     /**
  127.      * Get name.
  128.      *
  129.      * @return string
  130.      */
  131.     public function getName()
  132.     {
  133.         return $this->name;
  134.     }
  135.     /**
  136.      * Set alias.
  137.      *
  138.      * @param string $alias
  139.      *
  140.      * @return Item
  141.      */
  142.     public function setAlias($alias)
  143.     {
  144.         $this->alias $alias;
  145.         return $this;
  146.     }
  147.     /**
  148.      * Get alias.
  149.      *
  150.      * @return string
  151.      */
  152.     public function getAlias()
  153.     {
  154.         return $this->alias;
  155.     }
  156.     /**
  157.      * Set annotation.
  158.      *
  159.      * @param string|null $annotation
  160.      *
  161.      * @return Item
  162.      */
  163.     public function setAnnotation($annotation null)
  164.     {
  165.         $this->annotation $annotation;
  166.         return $this;
  167.     }
  168.     /**
  169.      * Get annotation.
  170.      *
  171.      * @return string|null
  172.      */
  173.     public function getAnnotation()
  174.     {
  175.         return $this->annotation;
  176.     }
  177.     /**
  178.      * Set content.
  179.      *
  180.      * @param string|null $content
  181.      *
  182.      * @return Item
  183.      */
  184.     public function setContent($content null)
  185.     {
  186.         $this->content $content;
  187.         return $this;
  188.     }
  189.     /**
  190.      * Get content.
  191.      *
  192.      * @return string|null
  193.      */
  194.     public function getContent()
  195.     {
  196.         return $this->content;
  197.     }
  198.     public function getAuthor(): ?string
  199.     {
  200.         return $this->author;
  201.     }
  202.     public function setAuthor(?string $author): self
  203.     {
  204.         $this->author $author;
  205.         return $this;
  206.     }
  207.     /**
  208.      * Set isActive.
  209.      *
  210.      * @param bool $isActive
  211.      *
  212.      * @return Item
  213.      */
  214.     public function setIsActive($isActive)
  215.     {
  216.         $this->isActive $isActive;
  217.         return $this;
  218.     }
  219.     /**
  220.      * Get isActive.
  221.      *
  222.      * @return bool
  223.      */
  224.     public function getIsActive()
  225.     {
  226.         return $this->isActive;
  227.     }
  228.     /**
  229.      * Set priority.
  230.      *
  231.      * @param int $priority
  232.      *
  233.      * @return Item
  234.      */
  235.     public function setPriority($priority)
  236.     {
  237.         $this->priority $priority;
  238.         return $this;
  239.     }
  240.     /**
  241.      * Get priority.
  242.      *
  243.      * @return int
  244.      */
  245.     public function getPriority()
  246.     {
  247.         return $this->priority;
  248.     }
  249.     /**
  250.      * @return \DateTime
  251.      */
  252.     public function getDate(): ?\DateTime
  253.     {
  254.         return $this->date;
  255.     }
  256.     /**
  257.      * @param \DateTime $date
  258.      */
  259.     public function setDate(?\DateTime $date): void
  260.     {
  261.         $this->date $date;
  262.     }
  263.     /**
  264.      * @return null
  265.      */
  266.     public function getImage()
  267.     {
  268.         return $this->image;
  269.     }
  270.     /**
  271.      * @param null $image
  272.      */
  273.     public function setImage($image): void
  274.     {
  275.         $this->image $image;
  276.     }
  277.     /**
  278.      * @ORM\PrePersist()
  279.      */
  280.     public function onPrePersistDate()
  281.     {
  282.         if ($this->date === null) {
  283.             $this->date = new \DateTime('now');
  284.         }
  285.     }
  286.     /**
  287.      * @ORM\PreUpdate()
  288.      */
  289.     public function onPreUpdateDate()
  290.     {
  291.         if ($this->date === null) {
  292.             $this->date = new \DateTime('now');
  293.         }
  294.     }
  295.     /**
  296.      * @return mixed
  297.      */
  298.     public function getCategory()
  299.     {
  300.         return $this->category;
  301.     }
  302.     /**
  303.      * @param mixed $category
  304.      */
  305.     public function setCategory($category)
  306.     {
  307.         $this->category $category;
  308.     }
  309.     /**
  310.      * @return \Doctrine\Common\Collections\ArrayCollection
  311.      */
  312.     public function getSeoInfo()
  313.     {
  314.         return $this->seoInfo;
  315.     }
  316.     /**
  317.      * @param \Doctrine\Common\Collections\ArrayCollection $seoInfo
  318.      */
  319.     public function setSeoInfo($seoInfo): void
  320.     {
  321.         $this->seoInfo $seoInfo;
  322.     }
  323.     public function getLink(): ?string
  324.     {
  325.         return $this->link;
  326.     }
  327.     public function setLink(?string $link): self
  328.     {
  329.         $this->link $link;
  330.         return $this;
  331.     }
  332. }