<?php
namespace App\Entity\Articles;
use DateTime;
use Doctrine\ORM\Mapping as ORM;
/**
* Image
*
* @ORM\Table("article__document")
* @ORM\Entity(repositoryClass="App\Repository\Articles\DocumentRepository")
*/
class Document
{
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Articles\Article",inversedBy="documents")
* @ORM\JoinColumn(nullable=false)
*/
private $article;
/**
* @ORM\Column(name="url", type="string", length=255, nullable=true)
*/
private $url;
/**
* @ORM\Column(name="date", type="datetime", nullable=true)
*/
private $date;
/**
* @ORM\Column(name="extension", type="string", length=255, nullable=true)
*/
private $extension;
/**
* @ORM\Column(name="position", type="integer", nullable=true)
*/
private $position;
/**
* @ORM\Column(name="affichage_web", type="boolean", nullable=true)
*/
private $affichageWeb;
public function __construct()
{
$this->date = new Datetime();
}
public function getId(): int
{
return $this->id;
}
public function setUrl(?string $url): Document
{
$this->url = $url;
return $this;
}
public function getUrl(): ?string
{
return $this->url;
}
public function setDate(?DateTime $date): Document
{
$this->date = $date;
return $this;
}
public function getDate(): ?DateTime
{
return $this->date;
}
public function setExtension(?string $extension): Document
{
$this->extension = $extension;
return $this;
}
public function getExtension(): ?string
{
return $this->extension;
}
public function setArticle(?Article $article): Document
{
$this->article = $article;
return $this;
}
public function getArticle(): ?Article
{
return $this->article;
}
public function getUploadDir(): string
{
// On retourne le chemin relatif vers l'image pour un navigateur
//return 'uploads/articles/documents';
return 'uploads/articles/documents/'.$this->getArticle()->getDate()->format("Y").'/'.$this->getArticle()->getDate()->format("m").'/'.$this->getArticle()->getDate()->format("d");
}
protected function getUploadRootDir() {
// On retourne le chemin relatif vers l'image pour notre code PHP
return __DIR__ . '/../../../../web/' . $this->getUploadDir();
}
public function setPosition(?int $position): Document
{
$this->position = $position;
return $this;
}
public function getPosition(): ?int
{
return $this->position;
}
public function setAffichageWeb(?bool $affichageWeb): Document
{
$this->affichageWeb = $affichageWeb;
return $this;
}
public function getAffichageWeb(): ?bool
{
return $this->affichageWeb;
}
}