src\Entity\Video.php line 12

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use Doctrine\Common\Collections\ArrayCollection;
  4. use Doctrine\Common\Collections\Collection;
  5. use Doctrine\ORM\Mapping as ORM;
  6. /**
  7.  * @ORM\Entity(repositoryClass="App\Repository\VideoRepository")
  8.  */
  9. class Video
  10. {
  11.     /**
  12.      * @ORM\Id()
  13.      * @ORM\GeneratedValue()
  14.      * @ORM\Column(type="integer")
  15.      */
  16.     private $id;
  17.     /**
  18.      * @ORM\Column(type="string", length=255)
  19.      */
  20.     private $libelle;
  21.     /**
  22.      * @ORM\Column(type="text", nullable=true)
  23.      */
  24.     private $description;
  25.     /**
  26.      * @ORM\Column(type="integer")
  27.      */
  28.     private $type;
  29.     /**
  30.      * @ORM\Column(type="string", length=255, nullable=true)
  31.      */
  32.     private $youtube;
  33.     /**
  34.      * @ORM\Column(type="string", length=255, nullable=true)
  35.      */
  36.     private $file;
  37.     /**
  38.      * @ORM\Column(type="integer", nullable=true)
  39.      */
  40.     private $taille;
  41.     /**
  42.      * @ORM\Column(type="string", length=255, nullable=true)
  43.      */
  44.     private $thumbnail;
  45.     /**
  46.      * @ORM\Column(type="boolean")
  47.      */
  48.     private $premium;
  49.     /**
  50.      * @ORM\Column(type="boolean")
  51.      */
  52.     private $status;
  53.     /**
  54.      * @ORM\Column(type="datetime")
  55.      */
  56.     private $created_at;
  57.     /**
  58.      * @ORM\Column(type="datetime", nullable=true)
  59.      */
  60.     private $updated_at;
  61.     /**
  62.      * @ORM\ManyToOne(targetEntity="App\Entity\User", inversedBy="videos")
  63.      * @ORM\JoinColumn(nullable=false)
  64.      */
  65.     private $user;
  66.     /**
  67.      * @ORM\Column(type="string", length=255, nullable=true)
  68.      */
  69.     private $vimeo;
  70.     /**
  71.      * @ORM\ManyToOne(targetEntity=CategorieVideo::class, inversedBy="video")
  72.      */
  73.     private $categorie;
  74.     /**
  75.      * @ORM\Column(type="boolean")
  76.      */
  77.     private $une;
  78.     /**
  79.      * @ORM\OneToMany(targetEntity=VideoVisit::class, mappedBy="video")
  80.      */
  81.     private $visits;
  82.     const type_full=['Youtube','Fichier','Vimeo'];
  83.     public function getFullType(){
  84.         return self::type_full[$this->type];
  85.     }
  86.     public function getYoutubeId(){
  87.         return str_replace(['https://','http://','www.','embed','/','youtube.com','watch','?','v='],'',$this->youtube);
  88.     }
  89.     public function __construct()
  90.     {
  91.         $this->created_at=new \DateTime();
  92.         $this->status=false;
  93.         $this->une=false;
  94.         $this->visits = new ArrayCollection();
  95.     }
  96.     public function getId(): ?int
  97.     {
  98.         return $this->id;
  99.     }
  100.     public function getLibelle(): ?string
  101.     {
  102.         return $this->libelle;
  103.     }
  104.     public function setLibelle(string $libelle): self
  105.     {
  106.         $this->libelle $libelle;
  107.         return $this;
  108.     }
  109.     public function getDescription(): ?string
  110.     {
  111.         return $this->description;
  112.     }
  113.     public function setDescription(?string $description): self
  114.     {
  115.         $this->description $description;
  116.         return $this;
  117.     }
  118.     public function getType(): ?int
  119.     {
  120.         return $this->type;
  121.     }
  122.     public function setType(int $type): self
  123.     {
  124.         $this->type $type;
  125.         return $this;
  126.     }
  127.     public function getYoutube(): ?string
  128.     {
  129.         return $this->youtube;
  130.     }
  131.     public function setYoutube(?string $youtube): self
  132.     {
  133.         $this->youtube $youtube;
  134.         return $this;
  135.     }
  136.     public function getFile(): ?string
  137.     {
  138.         return $this->file;
  139.     }
  140.     public function setFile(?string $file): self
  141.     {
  142.         $this->file $file;
  143.         return $this;
  144.     }
  145.     public function getTaille(): ?int
  146.     {
  147.         return $this->taille;
  148.     }
  149.     public function setTaille(?int $taille): self
  150.     {
  151.         $this->taille $taille;
  152.         return $this;
  153.     }
  154.     public function getThumbnail(): ?string
  155.     {
  156.         return $this->thumbnail;
  157.     }
  158.     public function setThumbnail(?string $thumbnail): self
  159.     {
  160.         $this->thumbnail $thumbnail;
  161.         return $this;
  162.     }
  163.     public function getPremium(): ?bool
  164.     {
  165.         return $this->premium;
  166.     }
  167.     public function setPremium(bool $premium): self
  168.     {
  169.         $this->premium $premium;
  170.         return $this;
  171.     }
  172.     public function getStatus(): ?bool
  173.     {
  174.         return $this->status;
  175.     }
  176.     public function setStatus(bool $status): self
  177.     {
  178.         $this->status $status;
  179.         return $this;
  180.     }
  181.     public function getCreatedAt(): ?\DateTimeInterface
  182.     {
  183.         return $this->created_at;
  184.     }
  185.     public function setCreatedAt(\DateTimeInterface $created_at): self
  186.     {
  187.         $this->created_at $created_at;
  188.         return $this;
  189.     }
  190.     public function getUpdatedAt(): ?\DateTimeInterface
  191.     {
  192.         return $this->updated_at;
  193.     }
  194.     public function setUpdatedAt(?\DateTimeInterface $updated_at): self
  195.     {
  196.         $this->updated_at $updated_at;
  197.         return $this;
  198.     }
  199.     public function getUser(): ?User
  200.     {
  201.         return $this->user;
  202.     }
  203.     public function setUser(?User $user): self
  204.     {
  205.         $this->user $user;
  206.         return $this;
  207.     }
  208.     public function getVimeo(): ?string
  209.     {
  210.         return $this->vimeo;
  211.     }
  212.     public function setVimeo(?string $vimeo): self
  213.     {
  214.         $this->vimeo $vimeo;
  215.         return $this;
  216.     }
  217.     public function getCategorie(): ?CategorieVideo
  218.     {
  219.         return $this->categorie;
  220.     }
  221.     public function setCategorie(?CategorieVideo $categorie): self
  222.     {
  223.         $this->categorie $categorie;
  224.         return $this;
  225.     }
  226.     public function getUne(): ?bool
  227.     {
  228.         return $this->une;
  229.     }
  230.     public function setUne(bool $une): self
  231.     {
  232.         $this->une $une;
  233.         return $this;
  234.     }
  235.     /**
  236.      * @return Collection<int, VideoVisit>
  237.      */
  238.     public function getVisits(): Collection
  239.     {
  240.         return $this->visits;
  241.     }
  242.     public function addVisit(VideoVisit $visit): self
  243.     {
  244.         if (!$this->visits->contains($visit)) {
  245.             $this->visits[] = $visit;
  246.             $visit->setVideo($this);
  247.         }
  248.         return $this;
  249.     }
  250.     public function removeVisit(VideoVisit $visit): self
  251.     {
  252.         if ($this->visits->removeElement($visit)) {
  253.             // set the owning side to null (unless already changed)
  254.             if ($visit->getVideo() === $this) {
  255.                 $visit->setVideo(null);
  256.             }
  257.         }
  258.         return $this;
  259.     }
  260. }