<?php
namespace App\Controller;
use App\Form\ContactformType;
use App\Repository\FaqRepository;
use App\Repository\GrapesPagesRepository;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
class FrontController extends AbstractController
{
/**
* @Route("/mariages", name="mariages", options={"sitemap" = true})
* @Route("/mentionslegales", name="mentionslegales", options={"sitemap" = true})
* @Route("/surmesure", name="surmesure", options={"sitemap" = true})
* @Route("/about", name="about", options={"sitemap" = true})
* @Route("/contact", name="contact", options={"sitemap" = true})
*/
public function about( Request $request, GrapesPagesRepository $GrapesPagesRepository)
{
$uri = $request->attributes->get('_route');
// dd( );
$accueils = $GrapesPagesRepository->findBy(
array('Template'=> $uri )
);
$locale = $request->getLocale();
$page = $accueils[0];
foreach ($accueils as $accueil ) {
if( $accueil->getLangue() == $locale ){
$page = $accueil;
}
}
return $this->render('admingrapespages/voir.html.twig', [
'controller_name' => 'PagesController',
'GrapesPages' => $page,
'pagename' => $uri
]);
}
/**
* @Route("/faq", name="faq", options={"sitemap" = true})
*/
public function faq(FaqRepository $FaqRepository )
{
$Faqs = $FaqRepository->findBy(
array('Display' => 'Faq'),
array('Ordre' => 'DESC')
);
$Faqmod = [];
$lst = '';
foreach ($Faqs as $Faq ) {
if( $Faq->getType() == 'Titre' ){
$lst = $Faq->getTitre();
$object = (object) [
'Titre' => $lst,
'Liste' => []
];
$Faqmod[] = $object;
}else{
for ($i=0; $i < count($Faqmod); $i++) {
if( $Faqmod[$i]->Titre == $lst){
array_push( $Faqmod[$i]->Liste , $Faq);
}
}
}
}
return $this->render('front/faq.html.twig', [
'controller_name' => 'PagesController',
'Faqmod' => $Faqmod
]);
}
/*
* @Route("/contacte", name="contacte", options={"sitemap" = true})
/
public function contact( Request $request, GrapesPagesRepository $GrapesPagesRepository)
{
return $this->render('front/contact.html.twig', [
'controller_name' => 'PagesController'
]);
}
*/
/**
* @Route("/api/demandeprojet", name="demandeprojet")
*/
public function demandeprojet( Request $request, \Swift_Mailer $mailer)
{
$nom = $request->request->get('nom');
$prenom = $request->request->get('prenom');
$email = $request->request->get('email');
$telephone = $request->request->get('telephone');
$texte = $request->request->get('projet');
// dd($demreduc);
// ->setTo( 'contact@tripup.fr' )
$message = (new \Swift_Message( 'Demande de réduction' ))
->setFrom( $email )
->setTo( 'stephen@tripup.fr' )
->setBody(
$this->renderView(
// templates/emails/registration.html.twig
'emails/demandeprojet.html.twig', [
'nom' => $nom,
'prenom' => $prenom,
'email' => $email,
'telephone' => $telephone,
'texte' => $texte,
]
),
'text/html'
)
// attachement du fichier joins
// you can remove the following code if you don't define a text version for your emails
->addPart(
$this->renderView(
// templates/emails/registration.txt.twig
'emails/demandeprojet.txt.twig', [
'nom' => $nom,
'prenom' => $prenom,
'email' => $email,
'telephone' => $telephone,
'texte' => $texte,
]
),
'text/plain'
)
;
$mailer->send($message);
//find de l'envoi
$jsonObject['mail'] = 'ok' ;
$jsonGzip = gzencode($jsonObject, 9);
$response = new Response($jsonGzip);
$response->headers->set('Content-Encoding', 'gzip');
$response->headers->set('Content-Type', 'application/json');
return $response;
}
}