<?php
/**
* Created by PhpStorm.
* User: anthony
* Date: 28/05/18
* Time: 14:01
*/
namespace App\Controller;
use App\Entity\OpenDate;
use App\Entity\SuivitOuvertureMailling;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\BinaryFileResponse;
use Symfony\Component\HttpFoundation\File\File;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\ResponseHeaderBag;
class SuivitOuvertureMaillingController extends Controller
{
/**
* @Route("/logo/{idUser}/{userSend}/{idMailling}/logoEscal.png",name="logo.escal.signature", methods={"GET"})
*/
public function GetLogoEscalMaillingAction($idUser, $userSend, $idMailling, Request $request)
{
$em = $this->get('doctrine.orm.entity_manager');
$mailling = $em->getRepository('App\Entity\Mailling')
->find($idMailling);
$suivitMailling = $em->getRepository('App\Entity\SuivitOuvertureMailling')
->findOneBy(['mailling' => $mailling, 'idContact' => $idUser]);
/** @var SuivitOuvertureMailling $suivitMailling */
if(!$suivitMailling){
$suivitMailling = new SuivitOuvertureMailling();
$suivitMailling->setIdContact($idUser);
$suivitMailling->setMailling($mailling);
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => 'extranet.escalconsulting.com/information/getNomPrenom.php?id=' . $idUser.'&email='.$userSend,
));
$nomContact = curl_exec($curl);
$suivitMailling->setNomContact($nomContact);
curl_close($curl);
} else {
$suivitMailling->setLastOpenDate(new \DateTime('now'));
$suivitMailling->Open();
}
$opentDate = new OpenDate();
$opentDate->setDate(new \DateTime('now'));
$opentDate->setSuivitsMailling($suivitMailling);
$em->persist($suivitMailling);
$em->persist($opentDate);
$em->flush();
$path = "/var/www/api.escalnet.escalconsulting.com/public/logoEscal.png";
$response = new Response();
$disposition = $response->headers->makeDisposition(ResponseHeaderBag::DISPOSITION_INLINE, 'logoEscal.png');
$response->headers->set('Content-Disposition', $disposition);
$response->headers->set('Content-Type', 'image/png');
$response->setContent(file_get_contents($path));
return $response;
}
}