vendor/odiseoteam/blog-bundle/src/EventListener/ArticleImageUploadListener.php line 23

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace Odiseo\BlogBundle\EventListener;
  4. use Odiseo\BlogBundle\Model\ArticleInterface;
  5. use Odiseo\BlogBundle\Model\ImageInterface;
  6. use Odiseo\BlogBundle\Uploader\ImageUploaderInterface;
  7. use Sylius\Bundle\ResourceBundle\Event\ResourceControllerEvent;
  8. use Webmozart\Assert\Assert;
  9. final class ArticleImageUploadListener
  10. {
  11.     /** @var ImageUploaderInterface */
  12.     private $uploader;
  13.     public function __construct(ImageUploaderInterface $uploader)
  14.     {
  15.         $this->uploader $uploader;
  16.     }
  17.     public function uploadImages(ResourceControllerEvent $event): void
  18.     {
  19.         $article $event->getSubject();
  20.         Assert::isInstanceOf($articleArticleInterface::class);
  21.         $images $article->getImages();
  22.         /** @var ImageInterface $image */
  23.         foreach ($images as $image) {
  24.             if (null !== $image && true === $image->hasFile()) {
  25.                 $this->uploader->upload($image);
  26.             }
  27.         }
  28.     }
  29. }