<?php
namespace App\Controller;
use App\Entity\Message;
use App\Form\MessageType;
use App\Repository\MessageRepository;
use App\Repository\SendingMessageRepository;
use Symfony\Bridge\Twig\Mime\TemplatedEmail;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Mailer\MailerInterface;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
/**
* @Route("/gestion")
*/
class LettreController extends AbstractController
{
private $messageRepository;
private $sendingMessageRepository;
public function __construct(MessageRepository $messageRepository, SendingMessageRepository $sendingMessageRepository)
{
$this->messageRepository = $messageRepository;
$this->sendingMessageRepository = $sendingMessageRepository;
}
/**
* @Route("/new", name="new")
*/
public function new(Request $request, MessageRepository $messageRepository)
{
//existe-t-il un brouillon ?
$brouillon = $messageRepository->findBrouillon();
//dd($brouillon);
if(empty($brouillon)){
$message = new Message();
}else{
$message = $brouillon[0];
$titre = utf8_decode($message->getTitre());
$message->setTitre($titre);
$texte = utf8_decode($message->getTexte());
$message->setTexte($texte);
}
//dd($message);exit;
//dump($message->getMessagesmailzones());exit;
$form = $this->createForm(MessageType::class, $message);
$form->handleRequest($request);
if ($form->isSubmitted () && $form->isValid ()) {
$message = $form->getData ();
//dump($message);exit;
$message->setDate(new \DateTime(date('Y-m-d H:i')));
$message->setType(false);
$titre = $message->getTitre();
$titre = utf8_encode($titre);
$message->setTitre($titre);
$texte = utf8_encode($message->getTexte());
$message->setTexte($texte);
$em = $this->getDoctrine()->getManager();
$em->persist($message);
$em->flush();
return $this->redirectToRoute('new');
}
return $this->render('lettre/new.html.twig',array (
'form' => $form->createView ()
));
}
/**
* @Route("/lettre", name="lettre")
*/
public function index(MessageRepository $messageRepository): Response
{
$lettres = $messageRepository->findLettres();
// foreach($lettres as $l){
// dd($l);
// }
return $this->render('lettre/index.html.twig', [
'lettres' => $lettres,
]);
}
/**
* @Route("/voir/{id}",name="view")
*/
public function voir($id){
$message = $this->messageRepository->find($id);
return $this->render('lettre/view.html.twig',[
'message' => $message
]);
}
/**
* @Route("/correction/{email}",name="correct-mail")
*/
public function deleteWrongEmail($email){
//désérializer tabmail
$lettre = $this->sendingMessageRepository->find(1);
$tabmail = unserialize($lettre->getMailArray());
//dd($tabmail);
foreach($tabmail as $k => $t){
if($t['mail'] == $email){
$key = $k;
break;
}
}
if(isset($key)){
unset($tabmail[$key]);
$tabmail = serialize($tabmail);
$em = $this->getDoctrine()->getManager();
$lettre->setMailArray($tabmail);
$em->persist($lettre);
$em->flush();
}
return new Response('OK');
}
}