src/Controller/SuivitOuvertureMaillingController.php line 27

Open in your IDE?
  1. <?php
  2. /**
  3.  * Created by PhpStorm.
  4.  * User: anthony
  5.  * Date: 28/05/18
  6.  * Time: 14:01
  7.  */
  8. namespace App\Controller;
  9. use App\Entity\OpenDate;
  10. use App\Entity\SuivitOuvertureMailling;
  11. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
  12. use Symfony\Bundle\FrameworkBundle\Controller\Controller;
  13. use Symfony\Component\HttpFoundation\BinaryFileResponse;
  14. use Symfony\Component\HttpFoundation\File\File;
  15. use Symfony\Component\HttpFoundation\Request;
  16. use Symfony\Component\HttpFoundation\Response;
  17. use Symfony\Component\HttpFoundation\ResponseHeaderBag;
  18. class SuivitOuvertureMaillingController extends Controller
  19. {
  20.     /**
  21.      * @Route("/logo/{idUser}/{userSend}/{idMailling}/logoEscal.png",name="logo.escal.signature", methods={"GET"})
  22.      */
  23.     public function GetLogoEscalMaillingAction($idUser$userSend$idMaillingRequest $request)
  24.     {
  25.         $em $this->get('doctrine.orm.entity_manager');
  26.         $mailling $em->getRepository('App\Entity\Mailling')
  27.             ->find($idMailling);
  28.         $suivitMailling $em->getRepository('App\Entity\SuivitOuvertureMailling')
  29.             ->findOneBy(['mailling' => $mailling'idContact' => $idUser]);
  30.         /** @var SuivitOuvertureMailling $suivitMailling */
  31.         if(!$suivitMailling){
  32.             $suivitMailling = new SuivitOuvertureMailling();
  33.             $suivitMailling->setIdContact($idUser);
  34.             $suivitMailling->setMailling($mailling);
  35.             $curl curl_init();
  36.             curl_setopt_array($curl, array(
  37.                 CURLOPT_RETURNTRANSFER => 1,
  38.                 CURLOPT_URL => 'extranet.escalconsulting.com/information/getNomPrenom.php?id=' $idUser.'&email='.$userSend,
  39.             ));
  40.             $nomContact curl_exec($curl);
  41.             $suivitMailling->setNomContact($nomContact);
  42.             curl_close($curl);
  43.         } else {
  44.             $suivitMailling->setLastOpenDate(new \DateTime('now'));
  45.             $suivitMailling->Open();
  46.         }
  47.         $opentDate = new OpenDate();
  48.         $opentDate->setDate(new \DateTime('now'));
  49.         $opentDate->setSuivitsMailling($suivitMailling);
  50.         $em->persist($suivitMailling);
  51.         $em->persist($opentDate);
  52.         $em->flush();
  53.         $path "/var/www/api.escalnet.escalconsulting.com/public/logoEscal.png";
  54.         $response = new Response();
  55.         $disposition $response->headers->makeDisposition(ResponseHeaderBag::DISPOSITION_INLINE'logoEscal.png');
  56.         $response->headers->set('Content-Disposition'$disposition);
  57.         $response->headers->set('Content-Type''image/png');
  58.         $response->setContent(file_get_contents($path));
  59.         return $response;
  60.     }
  61. }