src/Entity/Homepage.php line 15

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\HomepageRepository;
  4. use Doctrine\DBAL\Types\Types;
  5. use Doctrine\ORM\Mapping as ORM;
  6. use Symfony\Component\Validator\Constraints as Assert;
  7. use Symfony\Component\HttpFoundation\File\UploadedFile;
  8. /**
  9.  * @ORM\Entity(repositoryClass=HomepageRepository::class)
  10.  * @ORM\HasLifecycleCallbacks
  11.  */
  12. class Homepage
  13. {
  14.     /**
  15.      * @ORM\Id
  16.      * @ORM\GeneratedValue
  17.      * @ORM\Column(type="integer")
  18.      */
  19.     private $id;
  20.     /**
  21.      * @ORM\Column(type="string", length=255)
  22.      */
  23.     private $background;
  24.     /**
  25.      * @Assert\Image(maxSize="2M")
  26.      */
  27.     private $file;
  28.     private $temp;
  29.     /**
  30.      * @ORM\Column(type="string", length=255)
  31.      */
  32.     private $title1;
  33.     /**
  34.      * @ORM\Column(type="string", length=255)
  35.      */
  36.     private $subTitle1;
  37.     /**
  38.      * @ORM\Column(type="string", length=255, nullable=true)
  39.      */
  40.     private $title3;
  41.     
  42.     /**
  43.      * @ORM\Column(type="string", length=255, nullable=true)
  44.      */
  45.     private $subTitle3;
  46.     /**
  47.      * @ORM\Column(type="string", length=255, nullable=true)
  48.      */
  49.     private $title4;
  50.     /**
  51.      * @ORM\Column(type="text", nullable=true)
  52.      */
  53.     private $subTitle4;
  54.     /**
  55.      * @ORM\Column(type="string", length=255, nullable=true)
  56.      */
  57.     private $title5;
  58.     /**
  59.      * @ORM\Column(type="string", length=255, nullable=true)
  60.      */
  61.     private $subTitle5;
  62.     /**
  63.      * @ORM\Column(type="string", length=255, nullable=true)
  64.      */
  65.     private $title6;
  66.     /**
  67.      * @ORM\Column(type="text", length=255, nullable=true)
  68.      */
  69.     private $subTitle6;
  70.     /**
  71.      * @ORM\Column(type="string", length=255, nullable=true)
  72.      */
  73.     private $title7;
  74.     /**
  75.      * @ORM\Column(type="string", length=255, nullable=true)
  76.      */
  77.     private $subTitle7;
  78.     /**
  79.      * @ORM\Column(type="string", length=255, nullable=true)
  80.      */
  81.     private $title8;
  82.     /**
  83.      * @ORM\Column(type="string", length=255, nullable=true)
  84.      */
  85.     private $subTitle8;
  86.     /**
  87.      * @ORM\Column(type="string", length=255, nullable=true)
  88.      */
  89.     private $title9;
  90.     /**
  91.      * @ORM\Column(type="string", length=255, nullable=true)
  92.      */
  93.     private $subTitle9;
  94.     /**
  95.      * @ORM\Column(type="string", length=255, nullable=true)
  96.      */
  97.     private $title10;
  98.     /**
  99.      * @ORM\Column(type="string", length=255, nullable=true)
  100.      */
  101.     private $subTitle10;
  102.     /**
  103.      * @ORM\Column(type="text", nullable=true)
  104.      */
  105.     private $keywords;
  106.     /**
  107.      * @ORM\Column(type="text", nullable=true)
  108.      */
  109.     private $description;
  110.     public function getId(): ?int
  111.     {
  112.         return $this->id;
  113.     }
  114.     public function getBackground(): ?string
  115.     {
  116.         return $this->background;
  117.     }
  118.     public function setBackground(string $background): self
  119.     {
  120.         $this->background $background;
  121.         return $this;
  122.     }
  123.     public function setTemp($temp)
  124.     {
  125.         $this->temp $temp;
  126.         return $this;
  127.     }
  128.     public function getTemp()
  129.     {
  130.         return $this->temp;
  131.     }
  132.     public function setFile(UploadedFile $file)
  133.     {
  134.         $this->file $file;
  135.         if (!is_null($this->background)) {
  136.             $this->temp $this->background;
  137.             $this->background null;
  138.         }
  139.         return $this;
  140.     }
  141.     public function getFile()
  142.     {
  143.         return $this->file;
  144.     }
  145.     /**
  146.      * @ORM\PrePersist()
  147.      * @ORM\PreUpdate()
  148.      */
  149.     public function preUpload()
  150.     {
  151.         if (is_null($this->file)) {
  152.             return;
  153.         }
  154.         
  155.         $this->background md5(uniqid()).'.'.$this->file->guessExtension();
  156.     }
  157.     
  158.     /**
  159.      * @ORM\PostPersist()
  160.      * @ORM\PostUpdate()
  161.      */
  162.     public function upload()
  163.     {
  164.         if (is_null($this->file)) {
  165.             return;
  166.         }
  167.         
  168.         if (!is_null($this->temp)) {
  169.             $oldFile $this->getUploadRootDir().'/'.$this->temp;
  170.             if (file_exists($oldFile)) {
  171.                 @unlink($oldFile);
  172.             }
  173.         }
  174.         $this->file->move(
  175.             $this->getUploadRootDir(),$this->background
  176.         );
  177.     }
  178.     
  179.     /**
  180.      * @ORM\PreRemove()
  181.      */
  182.     public function preRemoveUpload()
  183.     {
  184.         $this->temp $this->getUploadRootDir().'/'.$this->background;
  185.     }
  186.     
  187.     /**
  188.      * @ORM\PostRemove()
  189.      */
  190.     public function removeUpload()
  191.     {
  192.         if (file_exists($this->temp)) {
  193.             @unlink($this->temp);
  194.         }
  195.     }
  196.     
  197.     public function getUploadDir()
  198.     {
  199.         return 'uploads/files/backgrounds/homepage';
  200.     }
  201.     
  202.     protected function getUploadRootDir()
  203.     {
  204.         return __DIR__.'/../../../../public/'.$this->getUploadDir();
  205.     }
  206.     
  207.     public function getBackgroundPath()
  208.     {
  209.         return $this->getUploadDir().'/'.$this->getBackground();
  210.     }
  211.     protected function removeThumb()
  212.     {
  213.         $tab = ['117x117''160x100''180x92''214x214''300x200','720x480','900x300''1033x276'];
  214.         foreach ($tab as $type) {
  215.             $url __DIR__.'/../../../../public/media/cache/'.$type.'/'.$this->getUploadDir().'/'.$this->temp;
  216.             if (file_exists($url)) {
  217.                 @unlink($url);
  218.             }
  219.         }
  220.     }
  221.     public function getTitle1(): ?string
  222.     {
  223.         return $this->title1;
  224.     }
  225.     public function setTitle1(string $title1): self
  226.     {
  227.         $this->title1 $title1;
  228.         return $this;
  229.     }
  230.     public function getSubTitle1(): ?string
  231.     {
  232.         return $this->subTitle1;
  233.     }
  234.     public function setSubTitle1(string $subTitle1): self
  235.     {
  236.         $this->subTitle1 $subTitle1;
  237.         return $this;
  238.     }
  239.     public function getTitle3(): ?string
  240.     {
  241.         return $this->title3;
  242.     }
  243.     public function setTitle3(?string $title3): self
  244.     {
  245.         $this->title3 $title3;
  246.         return $this;
  247.     }
  248.     public function getSubTitle3(): ?string
  249.     {
  250.         return $this->subTitle3;
  251.     }
  252.     public function setSubTitle3(?string $subTitle3): self
  253.     {
  254.         $this->subTitle3 $subTitle3;
  255.         return $this;
  256.     }
  257.     public function getTitle4(): ?string
  258.     {
  259.         return $this->title4;
  260.     }
  261.     public function setTitle4(?string $title4): self
  262.     {
  263.         $this->title4 $title4;
  264.         return $this;
  265.     }
  266.     public function getSubTitle4(): ?string
  267.     {
  268.         return $this->subTitle4;
  269.     }
  270.     public function setSubTitle4(?string $subTitle4): self
  271.     {
  272.         $this->subTitle4 $subTitle4;
  273.         return $this;
  274.     }
  275.     public function getTitle5(): ?string
  276.     {
  277.         return $this->title5;
  278.     }
  279.     public function setTitle5(?string $title5): self
  280.     {
  281.         $this->title5 $title5;
  282.         return $this;
  283.     }
  284.     public function getSubTitle5(): ?string
  285.     {
  286.         return $this->subTitle5;
  287.     }
  288.     public function setSubTitle5(?string $subTitle5): self
  289.     {
  290.         $this->subTitle5 $subTitle5;
  291.         return $this;
  292.     }
  293.     public function getTitle6(): ?string
  294.     {
  295.         return $this->title6;
  296.     }
  297.     public function setTitle6(?string $title6): self
  298.     {
  299.         $this->title6 $title6;
  300.         return $this;
  301.     }
  302.     public function getSubTitle6(): ?string
  303.     {
  304.         return $this->subTitle6;
  305.     }
  306.     public function setSubTitle6(?string $subTitle6): self
  307.     {
  308.         $this->subTitle6 $subTitle6;
  309.         return $this;
  310.     }
  311.     public function getTitle7(): ?string
  312.     {
  313.         return $this->title7;
  314.     }
  315.     public function setTitle7(?string $title7): self
  316.     {
  317.         $this->title7 $title7;
  318.         return $this;
  319.     }
  320.     public function getSubTitle7(): ?string
  321.     {
  322.         return $this->subTitle7;
  323.     }
  324.     public function setSubTitle7(?string $subTitle7): self
  325.     {
  326.         $this->subTitle7 $subTitle7;
  327.         return $this;
  328.     }
  329.     public function getTitle8(): ?string
  330.     {
  331.         return $this->title8;
  332.     }
  333.     public function setTitle8(?string $title8): self
  334.     {
  335.         $this->title8 $title8;
  336.         return $this;
  337.     }
  338.     public function getSubTitle8(): ?string
  339.     {
  340.         return $this->subTitle8;
  341.     }
  342.     public function setSubTitle8(?string $subTitle8): self
  343.     {
  344.         $this->subTitle8 $subTitle8;
  345.         return $this;
  346.     }
  347.     public function getTitle9(): ?string
  348.     {
  349.         return $this->title9;
  350.     }
  351.     public function setTitle9(?string $title9): self
  352.     {
  353.         $this->title9 $title9;
  354.         return $this;
  355.     }
  356.     public function getSubTitle9(): ?string
  357.     {
  358.         return $this->subTitle9;
  359.     }
  360.     public function setSubTitle9(?string $subTitle9): self
  361.     {
  362.         $this->subTitle9 $subTitle9;
  363.         return $this;
  364.     }
  365.     public function getTitle10(): ?string
  366.     {
  367.         return $this->title10;
  368.     }
  369.     public function setTitle10(?string $title10): self
  370.     {
  371.         $this->title10 $title10;
  372.         return $this;
  373.     }
  374.     public function getSubTitle10(): ?string
  375.     {
  376.         return $this->subTitle10;
  377.     }
  378.     public function setSubTitle10(?string $subTitle10): self
  379.     {
  380.         $this->subTitle10 $subTitle10;
  381.         return $this;
  382.     }
  383.     public function getKeywords(): ?string
  384.     {
  385.         return $this->keywords;
  386.     }
  387.     public function setKeywords(?string $keywords): self
  388.     {
  389.         $this->keywords $keywords;
  390.         return $this;
  391.     }
  392.     public function getDescription(): ?string
  393.     {
  394.         return $this->description;
  395.     }
  396.     public function setDescription(?string $description): self
  397.     {
  398.         $this->description $description;
  399.         return $this;
  400.     }
  401. }