src/Controller/LettreController.php line 80

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Message;
  4. use App\Form\MessageType;
  5. use App\Repository\MessageRepository;
  6. use App\Repository\SendingMessageRepository;
  7. use Symfony\Bridge\Twig\Mime\TemplatedEmail;
  8. use Symfony\Component\HttpFoundation\Request;
  9. use Symfony\Component\Mailer\MailerInterface;
  10. use Symfony\Component\HttpFoundation\Response;
  11. use Symfony\Component\Routing\Annotation\Route;
  12. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  13. /**
  14.  * @Route("/gestion")
  15.  */
  16. class LettreController extends AbstractController
  17. {
  18.     private $messageRepository;
  19.     private $sendingMessageRepository;
  20.     public function __construct(MessageRepository $messageRepositorySendingMessageRepository $sendingMessageRepository)
  21.     {
  22.         $this->messageRepository $messageRepository;
  23.         $this->sendingMessageRepository $sendingMessageRepository;
  24.        
  25.     }
  26.     
  27.     /**
  28.      * @Route("/new", name="new")
  29.      */
  30.     public function new(Request $requestMessageRepository $messageRepository)
  31.     {
  32.         //existe-t-il un brouillon ?
  33.         $brouillon $messageRepository->findBrouillon();
  34.         //dd($brouillon);
  35.         if(empty($brouillon)){
  36.             $message = new Message();
  37.             
  38.         }else{
  39.             $message $brouillon[0];
  40.             $titre utf8_decode($message->getTitre());
  41.             $message->setTitre($titre);
  42.             $texte utf8_decode($message->getTexte());
  43.             $message->setTexte($texte);
  44.         }
  45.         //dd($message);exit;
  46.         //dump($message->getMessagesmailzones());exit;
  47.         $form $this->createForm(MessageType::class, $message);
  48.         
  49.         $form->handleRequest($request);
  50.         
  51.         if ($form->isSubmitted () && $form->isValid ()) {
  52.             
  53.             $message $form->getData ();
  54.             //dump($message);exit;
  55.             $message->setDate(new \DateTime(date('Y-m-d H:i')));
  56.             $message->setType(false);
  57.             $titre $message->getTitre();
  58.             $titre utf8_encode($titre);
  59.             $message->setTitre($titre);
  60.             $texte utf8_encode($message->getTexte());
  61.             $message->setTexte($texte);
  62.             $em $this->getDoctrine()->getManager();
  63.             $em->persist($message);
  64.             $em->flush();
  65.             return $this->redirectToRoute('new');
  66.         }
  67.         
  68.         return $this->render('lettre/new.html.twig',array (
  69.                 'form' => $form->createView () 
  70.         ));
  71.     }
  72.     /**
  73.      * @Route("/lettre", name="lettre")
  74.      */
  75.     public function index(MessageRepository $messageRepository): Response
  76.     {
  77.         $lettres $messageRepository->findLettres();
  78.         // foreach($lettres as $l){
  79.         //     dd($l);
  80.         // }
  81.         return $this->render('lettre/index.html.twig', [
  82.             'lettres' => $lettres,
  83.         ]);
  84.     }
  85.     /**
  86.      * @Route("/voir/{id}",name="view")
  87.      */
  88.     public function voir($id){
  89.         $message $this->messageRepository->find($id);
  90.         return $this->render('lettre/view.html.twig',[
  91.             'message' => $message
  92.         ]);
  93.     }
  94.     /**
  95.      * @Route("/correction/{email}",name="correct-mail")
  96.      */
  97.     public function deleteWrongEmail($email){
  98.         //désérializer tabmail
  99.         $lettre $this->sendingMessageRepository->find(1);
  100.         $tabmail unserialize($lettre->getMailArray());
  101.         //dd($tabmail);
  102.         foreach($tabmail as $k => $t){
  103.             if($t['mail'] == $email){
  104.                 $key $k;
  105.                 break;
  106.             }
  107.         }
  108.         if(isset($key)){
  109.         unset($tabmail[$key]);
  110.         $tabmail serialize($tabmail);
  111.         $em $this->getDoctrine()->getManager();
  112.         $lettre->setMailArray($tabmail);
  113.         $em->persist($lettre);
  114.         $em->flush();
  115.         }
  116.         return new Response('OK');
  117.     }
  118. }