src/Controller/DesabonnerController.php line 53

Open in your IDE?
  1. <?php
  2. /**
  3.  * Created by PhpStorm.
  4.  * User: anthony
  5.  * Date: 29/05/18
  6.  * Time: 15:13
  7.  */
  8. namespace App\Controller;
  9. use App\Entity\BlackList;
  10. use App\Ovh\OvhSend;
  11. use App\Service\Utilitaire\AnomalieGestion;
  12. use Symfony\Component\HttpFoundation\RedirectResponse;
  13. use Symfony\Component\Routing\Annotation\Route;
  14. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  15. use Doctrine\ORM\EntityManagerInterface;
  16. class DesabonnerController extends AbstractController
  17. {
  18.     /**
  19.      * @Route("/desabonner/{email}",methods={"GET"},name="se.desabonner")
  20.      */
  21.     public function PostDesabonerAction($emailEntityManagerInterface $emAnomalieGestion $anomalieGestionOvhSend $ovhSend)
  22.     {
  23.         // On vĂ©rifie si le mail existe sur intranet
  24.         $urlEmailVerifIntranet 'extranet.escalconsulting.com/information/contactEmailExisteSurIntranet.php?email="' $email.'"';
  25.         $c curl_init();
  26.         curl_setopt($cCURLOPT_URL$urlEmailVerifIntranet);
  27.         curl_setopt($cCURLOPT_RETURNTRANSFERtrue);
  28.         curl_setopt($cCURLOPT_HEADERfalse);
  29.         $output curl_exec($c);
  30.         curl_close($c);
  31.         $contactEmailExisteSurIntranet json_decode($output);
  32.         //On agit seulement s'il existe sur intranet
  33.         if($contactEmailExisteSurIntranet === 'oui') {
  34.             $blackList $em->getRepository('App:BlackList')
  35.                 ->findOneBy(['email'=> $email]);
  36.             if (!$blackList) {
  37.                 $blackList = new BlackList();
  38.                 $blackList->setEmail($email);
  39.                 $blackList->setDateAjout(new \DateTime('now'));
  40.                 $blackList->setAutorise(0);
  41.                 $em->persist($blackList);
  42.                 $em->flush();
  43.             } else {
  44.                 $anomalieGestion->addAnomalieDejaBlackLister($email);
  45.             }
  46.         }
  47.         $ovhSend->sendDesabonnement($email);
  48.         return new RedirectResponse('https://www.escalconsulting.com/desabonnement');
  49.     }
  50. }