src/EventListener/PartnerListener.php line 29

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\EventListener;
  4. use App\Files\Uploader\PartnerUploader;
  5. use Sylius\Bundle\ResourceBundle\Event\ResourceControllerEvent;
  6. use Symfony\Component\EventDispatcher\GenericEvent;
  7. final class PartnerListener
  8. {
  9.     private PartnerUploader $partnerUploader;
  10.     public function __construct(PartnerUploader $partnerUploader)
  11.     {
  12.         $this->partnerUploader $partnerUploader;
  13.     }
  14.     public function pre_create(ResourceControllerEvent $partner): void
  15.     {
  16.         $file $partner->getSubject()->getFile();
  17.         if ($file !== null) {
  18.             $pathFile $this->partnerUploader->upload($file);
  19.             $partner->getSubject()->setFilePath($pathFile);
  20.         }
  21.     }
  22.     public function pre_update(ResourceControllerEvent $partner): void
  23.     {
  24.         $file $partner->getSubject()->getFile();
  25.         if ($file === null) {
  26.             return;
  27.         }
  28.         $pathFile $this->partnerUploader->upload($file);
  29.         $partner->getSubject()->setFilePath($pathFile);
  30.     }
  31.     public function deleteFile(GenericEvent $event)
  32.     {
  33.         $partenerFile $event->getSubject();
  34.         if ($partenerFile) {
  35.             $oldFilePath $partenerFile->getFilePath();
  36.             if (!empty($oldFilePath)) {
  37.                 @unlink($oldFilePath);
  38.             }
  39.         }
  40.     }
  41. }