<?php
namespace App\EventListener;
use App\Entity\Actualite;
use App\Entity\Boisson;
use App\Entity\Fromage;
use App\Entity\Photo;
use Doctrine\ORM\EntityManager;
use Oneup\UploaderBundle\Event\PostPersistEvent;
class UploadListener
{
/**
* @var EntityManager
*/
private $em;
public function __construct(EntityManager $em)
{
$this->em = $em;
}
public function onUpload(PostPersistEvent $event)
{
$file = $event->getFile();
$entityType = $_POST['entityType'];
$entityId = $_POST['entityId'];
$photo = new Photo();
$photo->setPhoto($file->getPath());
switch($entityType) {
case "Fromage":
$fromage = $this->em->getRepository(Fromage::class)->find($entityId);
$photo->setFromage($fromage);
break;
case "Boisson":
$boisson = $this->em->getRepository(Boisson::class)->find($entityId);
$photo->setBoisson($boisson);
break;
default:
break;
}
$this->em->persist($photo);
$this->em->flush();
$response = $event->getResponse();
return $response;
}
}