<?php
declare(strict_types=1);
namespace App\EventListener;
use App\Entity\Brand\Brand;
use App\Entity\Brand\BrandImage;
use App\Entity\Configurator\ConfiguratorOption;
use App\Entity\Configurator\ConfiguratorOptionValue;
use App\Entity\Product\Pictogram;
use App\Entity\Product\Product;
use App\Files\Uploader\BrandUploader;
use App\Files\Uploader\ConfiguratorOptionValueUploader;
use App\Files\Uploader\PictogramUploader;
use Symfony\Component\EventDispatcher\GenericEvent;
final class ConfiguratorOptionListener
{
public function __construct(private ConfiguratorOptionValueUploader $configuratorOptionValueUploader)
{
}
public function uploadFile(GenericEvent $event)
{
/** @var ConfiguratorOption $configuratorOption */
$configuratorOption = $event->getSubject();
$values = $configuratorOption->getConfiguratorOptionValues();
if(count($values) === 0)
return;
/** @var ConfiguratorOptionValue $value */
foreach($values as $value){
if($value->getFile() === null)
continue;
$pathFile = $this->configuratorOptionValueUploader->upload($value->getFile());
$value->setConfiguratorOption($configuratorOption);
$value->setPath($pathFile);
}
}
}