src/EventListener/UploadListener.php line 24

Open in your IDE?
  1. <?php
  2. namespace App\EventListener;
  3. use App\Entity\Actualite;
  4. use App\Entity\Boisson;
  5. use App\Entity\Fromage;
  6. use App\Entity\Photo;
  7. use Doctrine\ORM\EntityManager;
  8. use Oneup\UploaderBundle\Event\PostPersistEvent;
  9. class UploadListener
  10. {
  11.     /**
  12.      * @var EntityManager
  13.      */
  14.     private $em;
  15.     public function __construct(EntityManager $em)
  16.     {
  17.         $this->em $em;
  18.     }
  19.     public function onUpload(PostPersistEvent $event)
  20.     {
  21.         $file $event->getFile();
  22.         $entityType $_POST['entityType'];
  23.         $entityId $_POST['entityId'];
  24.         $photo = new Photo();
  25.         $photo->setPhoto($file->getPath());
  26.         switch($entityType) {
  27.             case "Fromage":
  28.                 $fromage $this->em->getRepository(Fromage::class)->find($entityId);
  29.                 $photo->setFromage($fromage);
  30.                 break;
  31.             case "Boisson":
  32.                 $boisson $this->em->getRepository(Boisson::class)->find($entityId);
  33.                 $photo->setBoisson($boisson);
  34.                 break;
  35.             default:
  36.                 break;
  37.         }
  38.         $this->em->persist($photo);
  39.         $this->em->flush();
  40.         $response $event->getResponse();
  41.         return $response;
  42.     }
  43. }