src\Entity\News.php line 14

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use Symfony\Component\HttpFoundation\File\File;
  4. use Symfony\Component\Validator\Constraints as Assert;
  5. use Doctrine\Common\Collections\ArrayCollection;
  6. use Doctrine\Common\Collections\Collection;
  7. use Doctrine\ORM\Mapping as ORM;
  8. /**
  9.  * @ORM\Entity(repositoryClass="App\Repository\NewsRepository")
  10.  */
  11. class News
  12. {
  13.     /**
  14.      * @ORM\Id()
  15.      * @ORM\GeneratedValue()
  16.      * @ORM\Column(type="integer")
  17.      */
  18.     private $id;
  19.     /**
  20.      * @ORM\ManyToMany(targetEntity="App\Entity\Typenews", inversedBy="news")
  21.      */
  22.     private $type;
  23.     /**
  24.      * @ORM\ManyToOne(targetEntity="App\Entity\User", inversedBy="news")
  25.      * @ORM\JoinColumn(nullable=false)
  26.      */
  27.     private $user;
  28.     /**
  29.      * @ORM\Column(type="text")
  30.      */
  31.     private $titre;
  32.     /**
  33.      * @ORM\Column(type="text")
  34.      */
  35.     private $description;
  36.     /**
  37.      * @ORM\Column(type="string", length=255, nullable=true)
  38.      */
  39.     private $source;
  40.     /**
  41.      * @ORM\Column(type="date", nullable=true)
  42.      */
  43.     private $date;
  44.     /**
  45.      * @ORM\Column(type="time", nullable=true)
  46.      */
  47.     private $heure;
  48.     /**
  49.      * @ORM\Column(type="string", length=255, nullable=true)
  50.      */
  51.     private $image;
  52.     /**
  53.      * @ORM\Column(type="datetime")
  54.      */
  55.     private $created_at;
  56.     /**
  57.      * @ORM\Column(type="datetime", nullable=true)
  58.      */
  59.     private $updated_at;
  60.     /**
  61.      * @ORM\Column(type="boolean")
  62.      */
  63.     private $status;
  64.     /**
  65.      * @ORM\Column(type="boolean")
  66.      */
  67.     private $premium;
  68.     /**
  69.      * @ORM\Column(type="string", length=255, nullable=true)
  70.      */
  71.     private $titreimage;
  72.     /**
  73.      * @ORM\OneToMany(targetEntity=Commentaire::class, mappedBy="news")
  74.      */
  75.     private $commentaires;
  76.     /**
  77.      * @ORM\Column(type="datetime", nullable=true)
  78.      */
  79.     private $notify_at;
  80.     /**
  81.      * @ORM\OneToMany(targetEntity=UserBookmark::class, mappedBy="news", orphanRemoval=true)
  82.      */
  83.     private $bookmarks;
  84.     /**
  85.      * @ORM\Column(type="text", nullable=true)
  86.      */
  87.     private $titre_en;
  88.     /**
  89.      * @ORM\Column(type="text", nullable=true)
  90.      */
  91.     private $description_en;
  92.     public function __construct()
  93.     {
  94.         $this->type = new ArrayCollection();
  95.         $this->status=false;
  96.         $this->created_at=new \DateTime();
  97.         $this->commentaires = new ArrayCollection();
  98.         $this->bookmarks = new ArrayCollection();
  99.     }
  100.     public function getId(): ?int
  101.     {
  102.         return $this->id;
  103.     }
  104.     /**
  105.      * @return Collection|Typenews[]
  106.      */
  107.     public function getType(): Collection
  108.     {
  109.         return $this->type;
  110.     }
  111.     public function addType(Typenews $type): self
  112.     {
  113.         if (!$this->type->contains($type)) {
  114.             $this->type[] = $type;
  115.         }
  116.         return $this;
  117.     }
  118.     public function removeType(Typenews $type): self
  119.     {
  120.         if ($this->type->contains($type)) {
  121.             $this->type->removeElement($type);
  122.         }
  123.         return $this;
  124.     }
  125.     public function getUser(): ?User
  126.     {
  127.         return $this->user;
  128.     }
  129.     public function setUser(?User $user): self
  130.     {
  131.         $this->user $user;
  132.         return $this;
  133.     }
  134.     public function getTitre(): ?string
  135.     {
  136.         return $this->titre;
  137.     }
  138.     public function setTitre(string $titre): self
  139.     {
  140.         $this->titre $titre;
  141.         return $this;
  142.     }
  143.     public function getDescription(): ?string
  144.     {
  145.         return $this->description;
  146.     }
  147.     public function setDescription(string $description): self
  148.     {
  149.         $this->description $description;
  150.         return $this;
  151.     }
  152.     public function getSource(): ?string
  153.     {
  154.         return $this->source;
  155.     }
  156.     public function setSource(?string $source): self
  157.     {
  158.         $this->source $source;
  159.         return $this;
  160.     }
  161.     public function getDate(): ?\DateTimeInterface
  162.     {
  163.         return $this->date;
  164.     }
  165.     public function setDate(?\DateTimeInterface $date): self
  166.     {
  167.         $this->date $date;
  168.         return $this;
  169.     }
  170.     public function getHeure(): ?\DateTimeInterface
  171.     {
  172.         return $this->heure;
  173.     }
  174.     public function setHeure(?\DateTimeInterface $heure): self
  175.     {
  176.         $this->heure $heure;
  177.         return $this;
  178.     }
  179.     public function getImage()
  180.     {
  181.         return $this->image;
  182.     }
  183.     public function setImage($image)
  184.     {
  185.         $this->image $image;
  186.         return $this;
  187.     }
  188.     public function getCreatedAt(): ?\DateTimeInterface
  189.     {
  190.         return $this->created_at;
  191.     }
  192.     public function setCreatedAt(\DateTimeInterface $created_at): self
  193.     {
  194.         $this->created_at $created_at;
  195.         return $this;
  196.     }
  197.     public function getUpdatedAt(): ?\DateTimeInterface
  198.     {
  199.         return $this->updated_at;
  200.     }
  201.     public function setUpdatedAt(?\DateTimeInterface $updated_at): self
  202.     {
  203.         $this->updated_at $updated_at;
  204.         return $this;
  205.     }
  206.     public function getStatus(): ?bool
  207.     {
  208.         return $this->status;
  209.     }
  210.     public function setStatus(bool $status): self
  211.     {
  212.         $this->status $status;
  213.         return $this;
  214.     }
  215.     public function getPremium(): ?bool
  216.     {
  217.         return $this->premium;
  218.     }
  219.     public function setPremium(bool $premium): self
  220.     {
  221.         $this->premium $premium;
  222.         return $this;
  223.     }
  224.     public function getTitreimage(): ?string
  225.     {
  226.         return $this->titreimage;
  227.     }
  228.     public function setTitreimage(?string $titreimage): self
  229.     {
  230.         $this->titreimage $titreimage;
  231.         return $this;
  232.     }
  233.     /**
  234.      * @return Collection|Commentaire[]
  235.      */
  236.     public function getCommentaires(): Collection
  237.     {
  238.         return $this->commentaires;
  239.     }
  240.     public function addCommentaire(Commentaire $commentaire): self
  241.     {
  242.         if (!$this->commentaires->contains($commentaire)) {
  243.             $this->commentaires[] = $commentaire;
  244.             $commentaire->setNews($this);
  245.         }
  246.         return $this;
  247.     }
  248.     public function removeCommentaire(Commentaire $commentaire): self
  249.     {
  250.         if ($this->commentaires->contains($commentaire)) {
  251.             $this->commentaires->removeElement($commentaire);
  252.             // set the owning side to null (unless already changed)
  253.             if ($commentaire->getNews() === $this) {
  254.                 $commentaire->setNews(null);
  255.             }
  256.         }
  257.         return $this;
  258.     }
  259.     public function getNotifyAt(): ?\DateTimeInterface
  260.     {
  261.         return $this->notify_at;
  262.     }
  263.     public function setNotifyAt(?\DateTimeInterface $notify_at): self
  264.     {
  265.         $this->notify_at $notify_at;
  266.         return $this;
  267.     }
  268.     public function getImageCode()
  269.     {
  270.         $path 'http://127.0.0.1:8000/uploads/news/'.$this->image;
  271.         $b64 file_get_contents($path);
  272.         return 'data:image/jpg;base64,'.base64_encode($b64);
  273.     }
  274.     /**
  275.      * @return Collection|UserBookmark[]
  276.      */
  277.     public function getBookmarks(): Collection
  278.     {
  279.         return $this->bookmarks;
  280.     }
  281.     public function addBookmark(UserBookmark $bookmark): self
  282.     {
  283.         if (!$this->bookmarks->contains($bookmark)) {
  284.             $this->bookmarks[] = $bookmark;
  285.             $bookmark->setNews($this);
  286.         }
  287.         return $this;
  288.     }
  289.     public function removeBookmark(UserBookmark $bookmark): self
  290.     {
  291.         if ($this->bookmarks->removeElement($bookmark)) {
  292.             // set the owning side to null (unless already changed)
  293.             if ($bookmark->getNews() === $this) {
  294.                 $bookmark->setNews(null);
  295.             }
  296.         }
  297.         return $this;
  298.     }
  299.     public function getTitreEn(): ?string
  300.     {
  301.         return $this->titre_en;
  302.     }
  303.     public function setTitreEn(?string $titre_en): self
  304.     {
  305.         $this->titre_en $titre_en;
  306.         return $this;
  307.     }
  308.     public function getDescriptionEn(): ?string
  309.     {
  310.         return $this->description_en;
  311.     }
  312.     public function setDescriptionEn(?string $description_en): self
  313.     {
  314.         $this->description_en $description_en;
  315.         return $this;
  316.     }
  317. }