src/Entity/Page.php line 19

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\PageRepository;
  4. use App\Entity\Um6p\Prof;
  5. use Doctrine\Common\Collections\ArrayCollection;
  6. use Doctrine\Common\Collections\Collection;
  7. use Doctrine\ORM\Mapping as ORM;
  8. use Gedmo\Mapping\Annotation as Gedmo;
  9. use Symfony\Component\Validator\Constraints as Assert;
  10. use Symfony\Component\HttpFoundation\File\File;
  11. use Vich\UploaderBundle\Mapping\Annotation as Vich;
  12. use Knp\DoctrineBehaviors\Contract\Entity\TranslatableInterface;
  13. use Knp\DoctrineBehaviors\Model\Translatable\TranslatableTrait;
  14. use Symfony\Component\PropertyAccess\PropertyAccess
  15. /**
  16.  * @ORM\Entity(repositoryClass=PageRepository::class)
  17.  * @Vich\Uploadable
  18.  */
  19. class Page  implements TranslatableInterface
  20. {
  21.     use TranslatableTrait;
  22.     /**
  23.      * @ORM\Id
  24.      * @ORM\GeneratedValue
  25.      * @ORM\Column(type="integer")
  26.      */
  27.     private $id
  28.     /**
  29.      * @ORM\Column(type="string", length=255, nullable=true)
  30.      */
  31.     private $image;
  32.     /**
  33.      * @Assert\NotBlank(message="slug Obligatoire")
  34.      * @ORM\Column(type="string", length=255, unique=true)
  35.      */
  36.     private $slug
  37.     /**
  38.      * @Gedmo\Timestampable(on="create")
  39.      * @ORM\Column(type="datetime", nullable=true)
  40.      */
  41.     private $created_at;
  42.     /**
  43.      * @Gedmo\Timestampable(on="update")
  44.      * @ORM\Column(type="datetime", nullable=true)
  45.      */
  46.     private $updated_at
  47.     /**
  48.      * @ORM\Column(type="boolean", nullable=true)
  49.      */
  50.     private $publier;
  51.     /**
  52.      * @Vich\UploadableField(mapping="page_image", fileNameProperty="image")
  53.      * @var File
  54.      */
  55.     private $imageFile;
  56.     /**
  57.      * @ORM\ManyToOne(targetEntity=Categorypage::class, inversedBy="pages")
  58.      */
  59.     private $categorie;
  60.     /**
  61.      * @ORM\Column(type="integer", nullable=true)
  62.      */
  63.     private $position
  64.     /**
  65.      * @ORM\Column(type="string", length=255, nullable=true)
  66.      */
  67.     private $imagemobile;
  68.     /**
  69.      * @Vich\UploadableField(mapping="page_image", fileNameProperty="imagemobile")
  70.      * @var File
  71.      */
  72.     private $imagemobileFile
  73.     /**
  74.      * @ORM\Column(type="boolean", nullable=true)
  75.      */
  76.     private $menu;
  77.     /**
  78.      * @ORM\OneToMany(targetEntity=Block::class, mappedBy="page")
  79.      * @ORM\OrderBy({"position" = "ASC"})
  80.      */
  81.     private $blocks;
  82.     protected $translations;
  83.     public function __construct()
  84.     { 
  85.         $this->blocks = new ArrayCollection(); 
  86.     }
  87.     public function __toString()
  88.     {
  89.         return $this->getTitre();
  90.     }
  91.     public function getId(): ?int
  92.     {
  93.         return $this->id;
  94.     }
  95.     public function getImage(): ?string
  96.     {
  97.         return $this->image;
  98.     }
  99.     public function setImage(?string $image): self
  100.     {
  101.         $this->image $image;
  102.         return $this;
  103.     }
  104.     public function getSlug(): ?string
  105.     {
  106.         return $this->slug;
  107.     }
  108.     public function setSlug(string $slug): self
  109.     {
  110.         $this->slug $slug;
  111.         return $this;
  112.     }
  113.     public function getCreatedAt(): ?\DateTimeInterface
  114.     {
  115.         return $this->created_at;
  116.     }
  117.     public function setCreatedAt(?\DateTimeInterface $created_at): self
  118.     {
  119.         $this->created_at $created_at;
  120.         return $this;
  121.     }
  122.     public function getUpdatedAt(): ?\DateTimeInterface
  123.     {
  124.         return $this->updated_at;
  125.     }
  126.     public function setUpdatedAt(?\DateTimeInterface $updated_at): self
  127.     {
  128.         $this->updated_at $updated_at;
  129.         return $this;
  130.     } 
  131.     public function getPublier(): ?bool
  132.     {
  133.         return $this->publier;
  134.     }
  135.     public function setPublier(?bool $publier): self
  136.     {
  137.         $this->publier $publier;
  138.         return $this;
  139.     }
  140.     public function setImageFile(File $image null)
  141.     {
  142.         $this->imageFile $image;
  143.         if ($image) {
  144.             $this->updated_at = new \DateTime('now');
  145.         }
  146.         return $this;
  147.     }
  148.     public function getImageFile()
  149.     {
  150.         return $this->imageFile;
  151.     }
  152.     public function getEntity(){
  153.         return $this;
  154.     }
  155.     public function getCategorie(): ?Categorypage
  156.     {
  157.         return $this->categorie;
  158.     }
  159.     public function setCategorie(?Categorypage $categorie): self
  160.     {
  161.         $this->categorie $categorie;
  162.         return $this;
  163.     }
  164.     public function getPosition(): ?int
  165.     {
  166.         return $this->position;
  167.     }
  168.     public function setPosition(?int $position): self
  169.     {
  170.         $this->position $position;
  171.         return $this;
  172.     }    
  173.     public function getImagemobile(): ?string
  174.     {
  175.         return $this->imagemobile;
  176.     }
  177.     public function setImagemobile(?string $imagemobile): self
  178.     {
  179.         $this->imagemobile $imagemobile;
  180.         return $this;
  181.     }
  182.     public function setImagemobileFile(File $image null)
  183.     {
  184.         $this->imagemobileFile $image;
  185.         if ($image) {
  186.             $this->updated_at = new \DateTime('now');
  187.         }
  188.         return $this;
  189.     }
  190.     public function getImagemobileFile()
  191.     {
  192.         return $this->imagemobileFile;
  193.     }
  194.     public function getMenu(): ?bool
  195.     {
  196.         return $this->menu;
  197.     }
  198.     public function setMenu(?bool $menu): self
  199.     {
  200.         $this->menu $menu;
  201.         return $this;
  202.     } 
  203.     /**
  204.      * @return Collection|Block[]
  205.      */
  206.     public function getBlocks(): Collection
  207.     {
  208.         return $this->blocks;
  209.     }
  210.     public function addBlock(Block $block): self
  211.     {
  212.         if (!$this->blocks->contains($block)) {
  213.             $this->blocks[] = $block;
  214.             $block->setPage($this);
  215.         }
  216.         return $this;
  217.     }
  218.     public function removeBlock(Block $block): self
  219.     {
  220.         if ($this->blocks->removeElement($block)) {
  221.             // set the owning side to null (unless already changed)
  222.             if ($block->getPage() === $this) {
  223.                 $block->setPage(null);
  224.             }
  225.         }
  226.         return $this;
  227.     }
  228.     public function __call($method$arguments)
  229.     {
  230.         return PropertyAccess::createPropertyAccessor()->getValue($this->translate(), $method);
  231.     }
  232.     /* function translate  */
  233.     
  234.     public function getDTitre()
  235.     {
  236.         return $this->getTitre();
  237.     }
  238.     
  239.     public function getDpreview()
  240.     {
  241.         return $this->getPreview();
  242.     }
  243. }