src/Entity/Um6p/Speaker.php line 26

Open in your IDE?
  1. <?php
  2. namespace App\Entity\Um6p;
  3. use App\Repository\Um6p\SpeakerRepository;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\ORM\Mapping as ORM;
  7. use Gedmo\Mapping\Annotation as Gedmo;
  8. use Symfony\Component\Validator\Constraints as Assert;
  9. use Symfony\Component\HttpFoundation\File\File;
  10. use Vich\UploaderBundle\Mapping\Annotation as Vich;
  11. use Knp\DoctrineBehaviors\Contract\Entity\TranslatableInterface;
  12. use Knp\DoctrineBehaviors\Model\Translatable\TranslatableTrait;
  13. use Symfony\Component\PropertyAccess\PropertyAccess
  14. /**
  15.  * @ORM\Entity(repositoryClass=SpeakerRepository::class)
  16.  * @Vich\Uploadable
  17.  */
  18. class Speaker implements TranslatableInterface
  19.     use TranslatableTrait;
  20.     /**
  21.      * @ORM\Id
  22.      * @ORM\GeneratedValue
  23.      * @ORM\Column(type="integer")
  24.      */
  25.     private $id;
  26.     /**
  27.      * @ORM\Column(type="string", length=255, nullable=true)
  28.      */
  29.     private $image;
  30.     /**
  31.      * @ORM\Column(type="string", length=255, nullable=true)
  32.      */
  33.     private $link;
  34.     /**
  35.      * @ORM\Column(type="string", length=255, nullable=true)
  36.      */
  37.     private $linkedin;
  38.     /**
  39.      * @ORM\Column(type="integer", nullable=true)
  40.      */
  41.     private $position;
  42.     /**
  43.      * @ORM\Column(type="boolean", nullable=true)
  44.      */
  45.     private $publier;
  46.     /**
  47.      * @Gedmo\Timestampable(on="create")
  48.      * @ORM\Column(type="datetime", nullable=true)
  49.      */
  50.     private $created_at;
  51.     /**
  52.      * @Gedmo\Timestampable(on="update")
  53.      * @ORM\Column(type="datetime", nullable=true)
  54.      */
  55.     private $updated_at;
  56.     /**
  57.      * @Vich\UploadableField(mapping="speaker_image", fileNameProperty="image")
  58.      * @var File
  59.      */
  60.     private $imageFile;
  61.  
  62.     /**
  63.      * @ORM\ManyToMany(targetEntity=Event::class, mappedBy="speakers")
  64.      */
  65.     private $events;
  66.     protected $translations;
  67.     public  function __toString(){
  68.         return $this->getNom();
  69.     }
  70.     public  function getDnom(){
  71.         return $this->getNom();
  72.     }
  73.     public function __construct()
  74.     {
  75.         $this->events       = new ArrayCollection();
  76.         $this->translations = new ArrayCollection();
  77.     }
  78.     public function getId(): ?int
  79.     {
  80.         return $this->id;
  81.     }
  82.     public function getImage(): ?string
  83.     {
  84.         return $this->image;
  85.     }
  86.     public function setImage(?string $image): self
  87.     {
  88.         $this->image $image;
  89.         return $this;
  90.     }
  91.     public function getLink(): ?string
  92.     {
  93.         return $this->link;
  94.     }
  95.     public function setLink(?string $link): self
  96.     {
  97.         $this->link $link;
  98.         return $this;
  99.     }
  100.     public function getLinkedin(): ?string
  101.     {
  102.         return $this->linkedin;
  103.     }
  104.     public function setLinkedin(?string $linkedin): self
  105.     {
  106.         $this->linkedin $linkedin;
  107.         return $this;
  108.     }
  109.     public function getPosition(): ?int
  110.     {
  111.         return $this->position;
  112.     }
  113.     public function setPosition(?int $position): self
  114.     {
  115.         $this->position $position;
  116.         return $this;
  117.     }
  118.     public function isPublier(): ?bool
  119.     {
  120.         return $this->publier;
  121.     }
  122.     public function setPublier(?bool $publier): self
  123.     {
  124.         $this->publier $publier;
  125.         return $this;
  126.     }
  127.     public function setImageFile(File $image null)
  128.     {
  129.         $this->imageFile $image;
  130.         if ($image) {
  131.             $this->updated_at = new \DateTime('now');
  132.         }
  133.         return $this;
  134.     }
  135.     public function getImageFile()
  136.     {
  137.         return $this->imageFile;
  138.     }
  139.     public function getCreatedAt(): ?\DateTimeInterface
  140.     {
  141.         return $this->created_at;
  142.     }
  143.     public function setCreatedAt(?\DateTimeInterface $created_at): self
  144.     {
  145.         $this->created_at $created_at;
  146.         return $this;
  147.     }
  148.     public function getUpdatedAt(): ?\DateTimeInterface
  149.     {
  150.         return $this->updated_at;
  151.     }
  152.     public function setUpdatedAt(?\DateTimeInterface $updated_at): self
  153.     {
  154.         $this->updated_at $updated_at;
  155.         return $this;
  156.     }
  157.   
  158.     /**
  159.      * @return Collection|Event[]
  160.      */
  161.     public function getEvents(): Collection
  162.     {
  163.         return $this->events;
  164.     }
  165.     public function addEvent(Event $event): self
  166.     {
  167.         if (!$this->events->contains($event)) {
  168.             $this->events[] = $event;
  169.             $event->addElement($this);
  170.         }
  171.         return $this;
  172.     }
  173.     public function removeEvent(Event $event): self
  174.     {
  175.         if ($this->events->removeElement($event)) {
  176.             $event->removeElement($this);
  177.         }
  178.         return $this;
  179.     }
  180.  
  181.     public function __call($method$arguments)
  182.     {
  183.         return PropertyAccess::createPropertyAccessor()->getValue($this->translate(), $method);
  184.     }
  185. }