src/AppBundle/Entity/Banner.php line 22

  1. <?php
  2. namespace AppBundle\Entity;
  3. use Doctrine\ORM\Mapping as ORM;
  4. use Symfony\Component\HttpFoundation\File\File;
  5. use Vich\UploaderBundle\Mapping\Annotation as Vich;
  6. use Symfony\Component\Validator\Context\ExecutionContextInterface;
  7. use Symfony\Component\Validator\Constraints as Assert;
  8. /**
  9.  * Banner
  10.  *
  11.  * @ORM\Table(name="banner")
  12.  * @ORM\Entity(repositoryClass="AppBundle\Repository\BannerRepository")
  13.  * @ORM\HasLifecycleCallbacks()
  14.  * @Vich\Uploadable
  15.  * @Assert\GroupSequence({"Banner", "Strict"})
  16.  */
  17. class Banner
  18. {
  19.     /**
  20.      * @var int
  21.      *
  22.      * @ORM\Column(name="id", type="integer")
  23.      * @ORM\Id
  24.      * @ORM\GeneratedValue(strategy="AUTO")
  25.      */
  26.     private $id;
  27.     /**
  28.      * @var int
  29.      *
  30.      * @ORM\Column(name="orden", type="smallint")
  31.      */
  32.     private $orden 0;
  33.     /**
  34.      * @var string (link)
  35.      *
  36.      * @ORM\Column(name="url_publica", type="string", length=255, nullable=true)
  37.      */
  38.     private $urlPublica;
  39.     
  40.     /**
  41.      * @var string (link)
  42.      *
  43.      * @ORM\Column(name="url_privada", type="string", length=255, nullable=true)
  44.      */
  45.     private $urlPrivada;
  46.     /**
  47.      * @var string 
  48.      *
  49.      * @ORM\Column(name="imagen_es", type="string", length=255, nullable=true)
  50.      */
  51.     private $imagenEs;
  52.     /**
  53.      * @Vich\UploadableField(mapping="banner", fileNameProperty="imagen_es")
  54.      * @Assert\File(maxSize = "2M")
  55.      * @var File
  56.      */
  57.     private $imagenArchivoEs;
  58.     /**
  59.      * @var string 
  60.      *
  61.      * @ORM\Column(name="imagen_en", type="string", length=255, nullable=true)
  62.      */
  63.     private $imagenEn;
  64.     /**
  65.      * @Vich\UploadableField(mapping="banner", fileNameProperty="imagen_en")
  66.      * @Assert\File(maxSize = "2M")
  67.      * @var File
  68.      */
  69.     private $imagenArchivoEn;
  70.     /**
  71.      * @var string (link)
  72.      *
  73.      * @ORM\Column(name="texto_alt", type="string", length=255, nullable=true)
  74.      */
  75.     private $textoAlt;
  76.     /**
  77.      * @ORM\Column(name="updated_at", type="datetime", nullable=true)
  78.      * @var \DateTime
  79.      */
  80.     private $updatedAt;
  81.     /**
  82.      * Muchas imagenes/video tiene un bloque.
  83.      * @ORM\ManyToOne(targetEntity="BloqueBanner", inversedBy="banners")
  84.      * @ORM\JoinColumn(name="bloque_id", referencedColumnName="id")
  85.      */
  86.     private $bloque;
  87.     /**
  88.      * @var string (link)
  89.      *
  90.      * @ORM\Column(name="texto_analitycs", type="string", length=255, nullable=true)
  91.      */
  92.     private $textoAnalitycs;
  93.     /**
  94.      * Get id
  95.      *
  96.      * @return integer
  97.      */
  98.     public function getId()
  99.     {
  100.         return $this->id;
  101.     }
  102.     /**
  103.      * Set orden
  104.      *
  105.      * @param integer $orden
  106.      *
  107.      * @return Banner
  108.      */
  109.     public function setOrden($orden)
  110.     {
  111.         $this->orden $orden;
  112.         return $this;
  113.     }
  114.     /**
  115.      * Get orden
  116.      *
  117.      * @return integer
  118.      */
  119.     public function getOrden()
  120.     {
  121.         return $this->orden;
  122.     }
  123.     /**
  124.      * Set imagenEs
  125.      *
  126.      * @param string $imagenEs
  127.      *
  128.      * @return Banner
  129.      */
  130.     public function setImagenEs($imagenEs)
  131.     {
  132.         $this->imagenEs $imagenEs;
  133.         if ($imagenEs) {
  134.             // It is required that at least one field changes if you are using doctrine
  135.             // otherwise the event listeners won't be called and the file is lost
  136.             $this->updatedAt = new \DateTimeImmutable();
  137.         }
  138.         return $this;
  139.     }
  140.     /**
  141.      * Get imagenEs
  142.      *
  143.      * @return string
  144.      */
  145.     public function getImagenEs()
  146.     {
  147.         return $this->imagenEs;
  148.     }
  149.     /**
  150.      * Set imagenEn
  151.      *
  152.      * @param string $imagenEn
  153.      *
  154.      * @return Banner
  155.      */
  156.     public function setImagenEn($imagenEn)
  157.     {
  158.         $this->imagenEn $imagenEn;
  159.         if ($imagenEn) {
  160.             // It is required that at least one field changes if you are using doctrine
  161.             // otherwise the event listeners won't be called and the file is lost
  162.             $this->updatedAt = new \DateTimeImmutable();
  163.         }
  164.         return $this;
  165.     }
  166.     /**
  167.      * Get imagenEn
  168.      *
  169.      * @return string
  170.      */
  171.     public function getImagenEn()
  172.     {
  173.         return $this->imagenEn;
  174.     }
  175.     /**
  176.      * @return File|null
  177.      */
  178.     public function getImagenArchivoEs()
  179.     {
  180.         return $this->imagenArchivoEs;
  181.     }
  182.     /**
  183.      * @return File|null
  184.      */
  185.     public function getImagenArchivoEn()
  186.     {
  187.         return $this->imagenArchivoEn;
  188.     }
  189.     /**
  190.      * Set updatedAt
  191.      *
  192.      * @param \DateTime $updatedAt
  193.      *
  194.      * @return Banner
  195.      */
  196.     public function setUpdatedAt($updatedAt)
  197.     {
  198.         $this->updatedAt $updatedAt;
  199.         return $this;
  200.     }
  201.     /**
  202.      * Get updatedAt
  203.      *
  204.      * @return \DateTime
  205.      */
  206.     public function getUpdatedAt()
  207.     {
  208.         return $this->updatedAt;
  209.     }
  210.     /**
  211.      * Set bloque
  212.      *
  213.      * @param \AppBundle\Entity\BloqueBanner $bloque
  214.      *
  215.      * @return Banner
  216.      */
  217.     public function setBloque(\AppBundle\Entity\BloqueBanner $bloque null)
  218.     {
  219.         $this->bloque $bloque;
  220.         return $this;
  221.     }
  222.     /**
  223.      * Get bloque
  224.      *
  225.      * @return \AppBundle\Entity\BloqueBanner
  226.      */
  227.     public function getBloque()
  228.     {
  229.         return $this->bloque;
  230.     }
  231.     /**
  232.      * @param File|\Symfony\Component\HttpFoundation\File\UploadedFile $imagen
  233.      * @return Banner
  234.      */
  235.     public function setImagenArchivoEs(File $imagen null)
  236.     {
  237.         $this->imagenArchivoEs $imagen;
  238.         if ($imagen) {
  239.             // It is required that at least one field changes if you are using doctrine
  240.             // otherwise the event listeners won't be called and the file is lost
  241.             $this->updatedAt = new \DateTimeImmutable();
  242.         }
  243.         
  244.         return $this;
  245.     }
  246.     /**
  247.      * @param File|\Symfony\Component\HttpFoundation\File\UploadedFile $imagen
  248.      * @return Banner
  249.      */
  250.     public function setImagenArchivoEn(File $imagen null)
  251.     {
  252.         $this->imagenArchivoEn $imagen;
  253.         if ($imagen) {
  254.             // It is required that at least one field changes if you are using doctrine
  255.             // otherwise the event listeners won't be called and the file is lost
  256.             $this->updatedAt = new \DateTimeImmutable();
  257.         }
  258.         
  259.         return $this;
  260.     }
  261.     /**
  262.      * Set urlPublica
  263.      *
  264.      * @param string $urlPublica
  265.      *
  266.      * @return Banner
  267.      */
  268.     public function setUrlPublica($urlPublica)
  269.     {
  270.         $this->urlPublica $urlPublica;
  271.         return $this;
  272.     }
  273.     /**
  274.      * Get urlPublica
  275.      *
  276.      * @return string
  277.      */
  278.     public function getUrlPublica()
  279.     {
  280.         return $this->urlPublica;
  281.     }
  282.     /**
  283.      * Set urlPrivada
  284.      *
  285.      * @param string $urlPrivada
  286.      *
  287.      * @return Banner
  288.      */
  289.     public function setUrlPrivada($urlPrivada)
  290.     {
  291.         $this->urlPrivada $urlPrivada;
  292.         return $this;
  293.     }
  294.     /**
  295.      * Get urlPrivada
  296.      *
  297.      * @return string
  298.      */
  299.     public function getUrlPrivada()
  300.     {
  301.         return $this->urlPrivada;
  302.     }
  303.     public function hasImageSet(){
  304.         return $this->getImagenEs() || $this->getImagenArchivoEs() || $this->getImagenEn() || $this->getImagenArchivoEn();
  305.     }
  306.     /**
  307.      * Set textoAlt
  308.      *
  309.      * @param string $textoAlt
  310.      *
  311.      * @return Banner
  312.      */
  313.     public function setTextoAlt($textoAlt)
  314.     {
  315.         $this->textoAlt $textoAlt;
  316.         return $this;
  317.     }
  318.     /**
  319.      * Get textoAlt
  320.      *
  321.      * @return string
  322.      */
  323.     public function getTextoAlt()
  324.     {
  325.         return $this->textoAlt;
  326.     }
  327.     /**
  328.      * Set textoAnalitycs
  329.      *
  330.      * @param string $textoAnalitycs
  331.      *
  332.      * @return Banner
  333.      */
  334.     public function setTextoAnalitycs($textoAnalitycs)
  335.     {
  336.         $this->textoAnalitycs $textoAnalitycs;
  337.         return $this;
  338.     }
  339.     /**
  340.      * Get textoAnalitycs
  341.      *
  342.      * @return string
  343.      */
  344.     public function getTextoAnalitycs()
  345.     {
  346.         return $this->textoAnalitycs;
  347.     }
  348. }