src/Entity/Articles/Articles.php line 24

Open in your IDE?
  1. <?php
  2. namespace App\Entity\Articles;
  3. use Doctrine\DBAL\Types\Types;
  4. use Symfony\Component\Serializer\Annotation\Groups;
  5. use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
  6. use Symfony\Component\Validator\Constraints as Assert;
  7. use Doctrine\ORM\Mapping as ORM;
  8. use Vich\UploaderBundle\Mapping\Annotation as Vich;
  9. use Symfony\Component\HttpFoundation\File\File;
  10. use App\Repository\Articles\ArticlesRepository;
  11. use Symfony\Component\HttpFoundation\File\UploadedFile;
  12. use Vich\UploaderBundle\Entity\File as EmbeddedFile;
  13. /**
  14.  * Articles
  15.  *
  16.  * @ORM\Table("articles_articles")
  17.  * @ORM\Entity(repositoryClass=ArticlesRepository::class)
  18.  * @ORM\HasLifecycleCallbacks()
  19.  * @Vich\Uploadable
  20.  */
  21. class Articles {
  22.     /**
  23.      * @var integer
  24.      *
  25.      * @ORM\Column(name="id", type="integer")
  26.      * @ORM\Id
  27.      * @ORM\GeneratedValue(strategy="AUTO")
  28.      * [Groups(['list', 'item'])]
  29.      */
  30.     protected $id;
  31.     /**
  32.      * @var string
  33.      *
  34.      * @ORM\Column(name="created_at", type="datetime", nullable=true, options={"comment":"Date de création"})
  35.      */
  36.     private $createdAt;
  37.     /**
  38.      * @var string
  39.      *
  40.      * @ORM\Column(name="updated_at", type="datetime", nullable=true, options={"comment":"Date de mise à jour"})
  41.      */
  42.     private $updatedAt;
  43.     /**
  44.      * @var string
  45.      *
  46.      * @ORM\Column(name="published_at", type="datetime", nullable=true)
  47.      * [Groups(['list', 'item'])]
  48.      */
  49.     private $publishedAt;
  50.     /**
  51.      * @var string
  52.      *
  53.      * @ORM\Column(name="slug", type="string", length=255, nullable=true)
  54.      */
  55.     private $slug;
  56.     /**
  57.      * @var string
  58.      *
  59.      * @ORM\Column(name="title", type="string", length=500, nullable=true)
  60.      * [Groups(['list', 'item'])]
  61.      */
  62.     private $title;
  63.     /**
  64.      * @var string
  65.      *
  66.      * @ORM\Column(name="shortTitle", type="string", length=500, nullable=true)
  67.      */
  68.     private $shortTitle;
  69.     /**
  70.      * @var string
  71.      *
  72.      * @ORM\Column(name="subtitle", type="string", length=500, nullable=true)
  73.      */
  74.     private $subtitle;
  75.     /**
  76.      * @var string
  77.      *
  78.      * @ORM\Column(name="type", type="string", length=500, nullable=true)
  79.      */
  80.     private $type;
  81.     /**
  82.      * @var string
  83.      *
  84.      * @ORM\Column(name="short_description", type="text", nullable=true)
  85.      */
  86.     private $shortDescription;
  87.     /**
  88.      * @var string
  89.      *
  90.      * @ORM\Column(name="description", type="text", nullable=true)
  91.      * [Groups(['list', 'item'])]
  92.      */
  93.     private $description;
  94.     /**
  95.      * @var string
  96.      *
  97.      * @ORM\Column(name="description_start", type="text", nullable=true)
  98.      * [Groups(['list', 'item'])]
  99.      */
  100.     private $descriptionStart;
  101.     /**
  102.      * @var string
  103.      *
  104.      * @ORM\Column(name="tags", type="text", nullable=true)
  105.      * [Groups(['list', 'item'])]
  106.      */
  107.     private $tags;
  108.     /**
  109.      * NOTE: This is not a mapped field of entity metadata, just a simple property.
  110.      *
  111.      * @Vich\UploadableField(mapping="articles_files", fileNameProperty="image.name", size="image.size", mimeType="image.mimeType", originalName="image.originalName", dimensions="image.dimensions")
  112.      *
  113.      * @var File|null
  114.      */
  115.     private $imageFile;
  116.     /**
  117.      * @ORM\Embedded(class="Vich\UploaderBundle\Entity\File")
  118.      *
  119.      * @var EmbeddedFile
  120.      */
  121.     private $image;
  122.     /**
  123.      * @var string
  124.      *
  125.      * @ORM\Column(name="visibility", type="boolean", nullable=true)
  126.      */
  127.     private $visibility;
  128.     /**
  129.      * @var string
  130.      *
  131.      * @ORM\Column(name="language", type="text", nullable=true)
  132.      */
  133.     private $language;
  134.     /**
  135.      * @var string
  136.      *
  137.      * @ORM\Column(name="carousel", type="boolean", nullable=true)
  138.      */
  139.     private $carousel;
  140.     /**
  141.      * @var string
  142.      *
  143.      * @ORM\Column(name="featured", type="boolean", nullable=true)
  144.      */
  145.     private $featured;
  146.     /**
  147.      * @var string
  148.      *
  149.      * @ORM\Column(name="autopublished_at", type="datetime", nullable=true)
  150.      */
  151.     private $autopublishedAt;
  152.     /**
  153.      * @var string
  154.      *
  155.      * @ORM\Column(name="translation", type="text", nullable=true)
  156.      */
  157.     private $translation;
  158.     /**
  159.      * @var string
  160.      *
  161.      * @ORM\Column(name="sitemap", type="boolean", nullable=true)
  162.      */
  163.     private $sitemap;
  164.     /**
  165.      * @var string
  166.      *
  167.      * @ORM\Column(name="robots", type="string", length=255, nullable=true)
  168.      */
  169.     private $robots;
  170.     /**
  171.      * @var string
  172.      *
  173.      * @ORM\Column(name="type_editor", type="boolean", nullable=true)
  174.      */
  175.     private $typeEditor;
  176.     /**
  177.      * @var string
  178.      *
  179.      * @ORM\Column(name="canonical", type="string", length=500, nullable=true)
  180.      */
  181.     private $canonical;
  182.     /**
  183.      * @var string
  184.      *
  185.      * @ORM\Column(name="author", type="string", length=155, nullable=true)
  186.      */
  187.     private $author;
  188.     /**
  189.      * @var string
  190.      *
  191.      * @ORM\Column(name="url", type="string", length=500, nullable=true)
  192.      */
  193.     private $url;
  194.     /**
  195.      * @var string
  196.      *
  197.      * @ORM\Column(name="cta_html", type="text", nullable=true)
  198.      */
  199.     private $ctaHTML;
  200.     public function __construct() {
  201.         $this->image = new \Vich\UploaderBundle\Entity\File();
  202.     }
  203.     /**
  204.      * @ORM\PrePersist
  205.      */
  206.     public function setCreatedAtValue(): void {
  207.         $this->setCreatedAt(new \DateTime("now"));
  208.         $this->setUpdatedAt(new \DateTime("now"));
  209.         $this->visibility false;
  210.         $this->featured false;
  211.         $this->carousel false;
  212.         $this->language "fr";
  213.         $this->sitemap true;
  214.         $this->robots "index,follow";
  215.         $this->typeEditor "classic";
  216.     }
  217.     /**
  218.      * @ORM\PreUpdate
  219.      */
  220.     public function setUpdatedAtValue(): void {
  221.         $this->setUpdatedAt(new \DateTime("now"));
  222.     }
  223.     public function __toString()
  224.     {
  225.         return $this->name;
  226.     }
  227.     /**
  228.      * If manually uploading a file (i.e. not using Symfony Form) ensure an instance
  229.      * of 'UploadedFile' is injected into this setter to trigger the  update. If this
  230.      * bundle's configuration parameter 'inject_on_load' is set to 'true' this setter
  231.      * must be able to accept an instance of 'File' as the bundle will inject one here
  232.      * during Doctrine hydration.
  233.      *
  234.      * @param File|UploadedFile|null $imageFile
  235.      */
  236.     public function setImageFile(?File $imageFile null)
  237.     {
  238.         $this->imageFile $imageFile;
  239.         if (null !== $imageFile) {
  240.             // It is required that at least one field changes if you are using doctrine
  241.             // otherwise the event listeners won't be called and the file is lost
  242.             $this->setUpdatedAt(new \DateTime("now"));
  243.         }
  244.     }
  245.     public function getImageFile(): ?File
  246.     {
  247.         return $this->imageFile;
  248.     }
  249.     public function setImage(EmbeddedFile $image): void
  250.     {
  251.         $this->image $image;
  252.     }
  253.     public function getImage(): ?EmbeddedFile
  254.     {
  255.         return $this->image;
  256.     }
  257.     public function getId(): ?int
  258.     {
  259.         return $this->id;
  260.     }
  261.     public function getCreatedAt(): ?\DateTimeInterface
  262.     {
  263.         return $this->createdAt;
  264.     }
  265.     public function setCreatedAt(?\DateTimeInterface $createdAt): self
  266.     {
  267.         $this->createdAt $createdAt;
  268.         return $this;
  269.     }
  270.     public function getUpdatedAt(): ?\DateTimeInterface
  271.     {
  272.         return $this->updatedAt;
  273.     }
  274.     public function setUpdatedAt(?\DateTimeInterface $updatedAt): self
  275.     {
  276.         $this->updatedAt $updatedAt;
  277.         return $this;
  278.     }
  279.     public function getPublishedAt(): ?\DateTimeInterface
  280.     {
  281.         return $this->publishedAt;
  282.     }
  283.     public function setPublishedAt(?\DateTimeInterface $publishedAt): self
  284.     {
  285.         $this->publishedAt $publishedAt;
  286.         return $this;
  287.     }
  288.     public function getSlug(): ?string
  289.     {
  290.         return $this->slug;
  291.     }
  292.     public function setSlug(?string $slug): self
  293.     {
  294.         $this->slug $slug;
  295.         return $this;
  296.     }
  297.     public function getTitle(): ?string
  298.     {
  299.         return $this->title;
  300.     }
  301.     public function setTitle(?string $title): self
  302.     {
  303.         $this->title $title;
  304.         return $this;
  305.     }
  306.     public function getShortTitle(): ?string
  307.     {
  308.         return $this->shortTitle;
  309.     }
  310.     public function setShortTitle(?string $shortTitle): self
  311.     {
  312.         $this->shortTitle $shortTitle;
  313.         return $this;
  314.     }
  315.     public function getSubtitle(): ?string
  316.     {
  317.         return $this->subtitle;
  318.     }
  319.     public function setSubtitle(?string $subtitle): self
  320.     {
  321.         $this->subtitle $subtitle;
  322.         return $this;
  323.     }
  324.     public function getType(): ?string
  325.     {
  326.         return $this->type;
  327.     }
  328.     public function setType(?string $type): self
  329.     {
  330.         $this->type $type;
  331.         return $this;
  332.     }
  333.     public function getShortDescription(): ?string
  334.     {
  335.         return $this->shortDescription;
  336.     }
  337.     public function setShortDescription(?string $shortDescription): self
  338.     {
  339.         $this->shortDescription $shortDescription;
  340.         return $this;
  341.     }
  342.     public function getDescription(): ?string
  343.     {
  344.         return $this->description;
  345.     }
  346.     public function setDescription(?string $description): self
  347.     {
  348.         $this->description $description;
  349.         return $this;
  350.     }
  351.     public function getDescriptionStart(): ?string
  352.     {
  353.         return $this->descriptionStart;
  354.     }
  355.     public function setDescriptionStart(?string $descriptionStart): self
  356.     {
  357.         $this->descriptionStart $descriptionStart;
  358.         return $this;
  359.     }
  360.     public function getTags(): ?string
  361.     {
  362.         return $this->tags;
  363.     }
  364.     public function setTags(?string $tags): self
  365.     {
  366.         $this->tags $tags;
  367.         return $this;
  368.     }
  369.     public function getVisibility(): ?bool
  370.     {
  371.         return $this->visibility;
  372.     }
  373.     public function setVisibility(?bool $visibility): self
  374.     {
  375.         $this->visibility $visibility;
  376.         return $this;
  377.     }
  378.     public function getLanguage(): ?string
  379.     {
  380.         return $this->language;
  381.     }
  382.     public function setLanguage(?string $language): self
  383.     {
  384.         $this->language $language;
  385.         return $this;
  386.     }
  387.     public function getCarousel(): ?bool
  388.     {
  389.         return $this->carousel;
  390.     }
  391.     public function setCarousel(?bool $carousel): self
  392.     {
  393.         $this->carousel $carousel;
  394.         return $this;
  395.     }
  396.     public function getFeatured(): ?bool
  397.     {
  398.         return $this->featured;
  399.     }
  400.     public function setFeatured(?bool $featured): self
  401.     {
  402.         $this->featured $featured;
  403.         return $this;
  404.     }
  405.     public function getAutopublishedAt(): ?\DateTimeInterface
  406.     {
  407.         return $this->autopublishedAt;
  408.     }
  409.     public function setAutopublishedAt(?\DateTimeInterface $autopublishedAt): self
  410.     {
  411.         $this->autopublishedAt $autopublishedAt;
  412.         return $this;
  413.     }
  414.     public function getTranslation(): ?string
  415.     {
  416.         return $this->translation;
  417.     }
  418.     public function setTranslation(?string $translation): self
  419.     {
  420.         $this->translation $translation;
  421.         return $this;
  422.     }
  423.     public function getSitemap(): ?bool
  424.     {
  425.         return $this->sitemap;
  426.     }
  427.     public function setSitemap(?bool $sitemap): self
  428.     {
  429.         $this->sitemap $sitemap;
  430.         return $this;
  431.     }
  432.     public function getRobots(): ?string
  433.     {
  434.         return $this->robots;
  435.     }
  436.     public function setRobots(?string $robots): self
  437.     {
  438.         $this->robots $robots;
  439.         return $this;
  440.     }
  441.     public function getTypeEditor(): ?bool
  442.     {
  443.         return $this->typeEditor;
  444.     }
  445.     public function setTypeEditor(?bool $typeEditor): self
  446.     {
  447.         $this->typeEditor $typeEditor;
  448.         return $this;
  449.     }
  450.     public function getCanonical(): ?string
  451.     {
  452.         return $this->canonical;
  453.     }
  454.     public function setCanonical(?string $canonical): self
  455.     {
  456.         $this->canonical $canonical;
  457.         return $this;
  458.     }
  459.     public function getAuthor(): ?string
  460.     {
  461.         return $this->author;
  462.     }
  463.     public function setAuthor(?string $author): self
  464.     {
  465.         $this->author $author;
  466.         return $this;
  467.     }
  468.     public function getUrl(): ?string
  469.     {
  470.         return $this->url;
  471.     }
  472.     public function setUrl(?string $url): self
  473.     {
  474.         $this->url $url;
  475.         return $this;
  476.     }
  477.     public function getCtaHTML(): ?string
  478.     {
  479.         return $this->ctaHTML;
  480.     }
  481.     public function setCtaHTML(?string $ctaHTML): self
  482.     {
  483.         $this->ctaHTML $ctaHTML;
  484.         return $this;
  485.     }
  486.     public function isVisibility(): ?bool
  487.     {
  488.         return $this->visibility;
  489.     }
  490.     public function isCarousel(): ?bool
  491.     {
  492.         return $this->carousel;
  493.     }
  494.     public function isFeatured(): ?bool
  495.     {
  496.         return $this->featured;
  497.     }
  498.     public function isSitemap(): ?bool
  499.     {
  500.         return $this->sitemap;
  501.     }
  502.     public function isTypeEditor(): ?bool
  503.     {
  504.         return $this->typeEditor;
  505.     }
  506. }