<?php
namespace App\Entity\Articles;
use DateTime;
use Doctrine\ORM\Mapping as ORM;
/**
* Image
*
* @ORM\Table("article__image")
* @ORM\Entity(repositoryClass="App\Repository\Articles\ImageRepository")
*/
class Image
{
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var integer
*
* @ORM\Column(name="id_prestashop", type="string",length=255, nullable=true)
*/
private $idPrestashop;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Articles\Article",inversedBy="images")
* @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;
/**
* @ORM\Column(name="id_import", type="string",length=255, nullable=true)
*/
private $idImport;
/**
* @ORM\Column(name="id_import_woo", type="string",length=255, nullable=true)
*
*/
private $idImportWoo;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $ulid;
public function __construct()
{
$this->date = new Datetime();
}
public function getId(): int
{
return $this->id;
}
public function setUrl(?string $url): Image
{
$this->url = $url;
return $this;
}
public function getUrl(): ?string
{
return $this->url;
}
public function setDate(?DateTime $date): Image
{
$this->date = $date;
return $this;
}
public function getDate(): ?DateTime
{
return $this->date;
}
public function setExtension(?string $extension): Image
{
$this->extension = $extension;
return $this;
}
public function getExtension(): ?string
{
return $this->extension;
}
public function setArticle(?Article $article): Image
{
$this->article = $article;
return $this;
}
public function getArticle(): ?Article
{
return $this->article;
}
public function getUploadDir() {
// On retourne le chemin relatif vers l'image pour un navigateur
//return 'uploads/articles/articles';
return 'uploads/articles/images/'.$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): Image
{
$this->position = $position;
return $this;
}
public function getPosition(): ?int
{
return $this->position;
}
public function setAffichageWeb(?bool $affichageWeb): Image
{
$this->affichageWeb = $affichageWeb;
return $this;
}
public function getAffichageWeb(): ?bool
{
return $this->affichageWeb;
}
public function setIdImport(?string $idImport): Image
{
$this->idImport = $idImport;
return $this;
}
public function getIdImport(): ?string
{
return $this->idImport;
}
public function setIdImportWoo(?string $idImportWoo): Image
{
$this->idImportWoo = $idImportWoo;
return $this;
}
public function getIdImportWoo(): ?string
{
return $this->idImportWoo;
}
public function getIdPrestashop(): ?string
{
return $this->idPrestashop;
}
public function setIdPrestashop(?string $idPrestashop): self
{
$this->idPrestashop = $idPrestashop;
return $this;
}
public function isAffichageWeb(): ?bool
{
return $this->affichageWeb;
}
public function getUlid(): ?string
{
return $this->ulid;
}
public function setUlid(?string $ulid): self
{
$this->ulid = $ulid;
return $this;
}
}