<?php
namespace App\Controller;
use Twig\Environment;
use App\Form\ContactUsType;
use App\Entity\Main\ContactUs;
use Symfony\Component\Mime\Email;
use Symfony\Component\Mime\Address;
use App\Repository\ContactUsRepository;
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("/contact_us")
*/
class ContactUsController extends AbstractCoreController
{
// /**
// * @Route("/", name="app_contact_us_index", methods={"GET", "POST"})
// */
// public function index(Request $request, ContactUsRepository $contactUsRepository, Environment $twig): Response
// {
// $contactU = new ContactUs();
// $form = $this->createForm(ContactUsType::class, $contactU);
// $form->handleRequest($request);
// $is_sent = false;
// if ($form->isSubmitted() && $form->isValid()) {
// $contactUsRepository->add($contactU, true);
// $to = $_ENV["EMAIL_SENDER"];
// $subject = $contactU->getSubject();
// $message = $twig->render('contact_us/email.html.twig', [
// 'message' => $contactU->getMessage(),
// ]);
// // Always set content-type when sending HTML email
// $headers = "MIME-Version: 1.0" . "\r\n";
// $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
// // More headers
// $headers .= "From: ".$contactU->getEmail()."\r\n";
// if(mail($to, $subject, $message, $headers)) $is_sent = true;
// $contactUNew = new ContactUs();
// $form = $this->createForm(ContactUsType::class, $contactUNew);
// // return $this->redirectToRoute('app_contact_us_index', [], Response::HTTP_SEE_OTHER);
// }
// return $this->renderForm('contact_us/new.html.twig', [
// 'contact_u' => $contactU,
// 'form' => $form,
// 'is_sent' => $is_sent,
// ]);
// }
/**
* envoi email
* @Route("/", name="app_contact_us_index")
*/
public function contactEmail(Request $request, MailerInterface $mailer, ContactUsRepository $contactUsRepository, Environment $twig) {
$contactUs = new ContactUs();
$form = $this->createForm(ContactUsType::class, $contactUs);
$form->handleRequest($request);
$is_sent = false;
if ($form->isSubmitted() && $form->isValid()) {
$contactUsRepository->add($contactUs, true);
$subject = $contactUs->getSubject();
$message = $twig->render('contact_us/email.html.twig', [
'message' => $contactUs->getMessage(),
'mail_sender' => $contactUs->getEmail()
]);
$email = (new Email())
->from(new Address($contactUs->getEmail(), $contactUs->getEmail()))
->to($_ENV['EMAIL_SENDER'])
->addReplyTo($contactUs->getEmail())
->subject($subject)
->html($message);
// Envoi l'email
if ($mailer->send($email)) $is_sent = true;
// Vide le formulaire de contact
$contactUsNew = new ContactUs();
$form = $this->createForm(ContactUsType::class, $contactUsNew);
}
return $this->renderForm('contact_us/new.html.twig', [
'contact_u' => $contactUs,
'form' => $form,
'is_sent' => $is_sent,
]);
}
/**
* @Route("/vonintsoa/mail/test", name="app_vonintsoa_test")
*/
public function show_mail(){
return $this->render('contact_us/email.html.twig',[
'message' => 'contenu message',
'mail_sender' => 'rhjmanda@gmail.com'
]);
}
}