src/EventListener/ConfiguratorOptionListener.php line 25

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\EventListener;
  4. use App\Entity\Brand\Brand;
  5. use App\Entity\Brand\BrandImage;
  6. use App\Entity\Configurator\ConfiguratorOption;
  7. use App\Entity\Configurator\ConfiguratorOptionValue;
  8. use App\Entity\Product\Pictogram;
  9. use App\Entity\Product\Product;
  10. use App\Files\Uploader\BrandUploader;
  11. use App\Files\Uploader\ConfiguratorOptionValueUploader;
  12. use App\Files\Uploader\PictogramUploader;
  13. use Symfony\Component\EventDispatcher\GenericEvent;
  14. final class ConfiguratorOptionListener
  15. {
  16.     public function __construct(private ConfiguratorOptionValueUploader $configuratorOptionValueUploader)
  17.     {
  18.     }
  19.     public function uploadFile(GenericEvent $event)
  20.     {
  21.         /** @var ConfiguratorOption $configuratorOption */
  22.         $configuratorOption $event->getSubject();
  23.         $values $configuratorOption->getConfiguratorOptionValues();
  24.         if(count($values) === 0)
  25.             return;
  26.         /** @var ConfiguratorOptionValue $value */
  27.         foreach($values as $value){
  28.             if($value->getFile() === null)
  29.                 continue;
  30.             $pathFile $this->configuratorOptionValueUploader->upload($value->getFile());
  31.             $value->setConfiguratorOption($configuratorOption);
  32.             $value->setPath($pathFile);
  33.         }
  34.     }
  35. }