<?php
namespace App\Controller;
use App\Entity\Product;
use App\Form\ContactFormType;
use App\Repository\ProductActionRepository;
use App\Repository\ProductCategoryRepository;
use App\Repository\ProductRepository;
use App\Service\CoverDesignHelper;
use http\Exception;
use Knp\Component\Pager\PaginatorInterface;
use SendGrid;
use Symfony\Bridge\Twig\Mime\TemplatedEmail;
use Symfony\Component\HttpFoundation\Session\SessionInterface;
use Symfony\Component\Mailer\MailerInterface;
use Symfony\Component\Routing\Annotation\Route;
use Mobile_Detect;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Twig\Environment;
class MainController extends AbstractController
{
/**
* @var Environment
*/
private $twig;
/**
* @var PaginatorInterface
*/
private $paginator;
/**
* @var CoverDesignHelper
*/
private $coverDesignHelper;
/**
* @var Mobile_Detect
*/
private $mobileDetect;
/**
* @var SessionInterface
*/
private $session;
public function __construct(SessionInterface $session, Environment $twig, PaginatorInterface $paginator, CoverDesignHelper $coverDesignHelper)
{
$this->session = $session;
$this->twig = $twig; // pour ajouter des globals (dispo pour tous les templates)
$this->paginator = $paginator;
$this->coverDesignHelper = $coverDesignHelper;
// MOBILE DETECT
$this->mobileDetect = new Mobile_Detect;
$this->twig->addGlobal('is_mobile', $this->mobileDetect->isMobile());
// CONTACT
// email/tel encode
$contact['phone'] = "04 79 96 98 62";
$contact['phone_encode'] = base64_encode("tel:".$contact['phone']);
$contact['email'] = "cover.designauto@gmail.com";
$contact['email_encode'] = base64_encode("mailto:".$contact['email']);
$this->twig->addGlobal('contact', $contact);
}
/**
* @Route("/", name="home")
*/
public function index()
{
return $this->render('main/home.html.twig', [
]);
}
/**
* @Route("/detailing-traitement-ceramique-renovation", name="detailing")
*/
public function detailing()
{
// Galerie photos > images
$images = array();
$url_galery = '/galeries/detailing/';
$images[] = array('url_thumbs' => $url_galery.'ferrari-488-01_thumbs.jpg', 'url_large' => $url_galery.'ferrari-488-01_large.jpg','caption' => 'Ferrari 488 ');
$images[] = array('url_thumbs' => $url_galery.'ferrari-488-02_thumbs.jpg', 'url_large' => $url_galery.'ferrari-488-02_large.jpg','caption' => 'Ferrari 488 ');
$images[] = array('url_thumbs' => $url_galery.'ferrari-488-03_thumbs.jpg', 'url_large' => $url_galery.'ferrari-488-03_large.jpg','caption' => 'Ferrari 488 ');
$images[] = array('url_thumbs' => $url_galery.'abarth-70anniversaire-01_thumbs.jpg', 'url_large' => $url_galery.'abarth-70anniversaire-01_large.jpg','caption' => 'Abarth 70 BirthDay');
$images[] = array('url_thumbs' => $url_galery.'abarth-70anniversaire-02_thumbs.jpg', 'url_large' => $url_galery.'abarth-70anniversaire-02_large.jpg','caption' => 'Abarth 70 BirthDay');
$images[] = array('url_thumbs' => $url_galery.'abarth-70anniversaire-03_thumbs.jpg', 'url_large' => $url_galery.'abarth-70anniversaire-03_large.jpg','caption' => 'Abarth 70 BirthDay');
$images[] = array('url_thumbs' => $url_galery.'audi-r8-01_thumbs.jpg', 'url_large' => $url_galery.'audi-r8-01_large.jpg','caption' => 'Audi R8');
$images[] = array('url_thumbs' => $url_galery.'audi-r8-02_thumbs.jpg', 'url_large' => $url_galery.'audi-r8-02_large.jpg','caption' => 'Audi R8');
$images[] = array('url_thumbs' => $url_galery.'audi-r8-03_thumbs.jpg', 'url_large' => $url_galery.'audi-r8-03_large.jpg','caption' => 'Audi R8');
$images[] = array('url_thumbs' => $url_galery.'porsche-911carreragts-01_thumbs.jpg', 'url_large' => $url_galery.'porsche-911carreragts-01_large.jpg','caption' => 'Porsche 991 GTS');
$images[] = array('url_thumbs' => $url_galery.'porsche-911carreragts-02_thumbs.jpg', 'url_large' => $url_galery.'porsche-911carreragts-02_large.jpg','caption' => 'Porsche 991 GTS');
$images[] = array('url_thumbs' => $url_galery.'porsche-911carreragts-03_thumbs.jpg', 'url_large' => $url_galery.'porsche-911carreragts-03_large.jpg','caption' => 'Porsche 991 GTS');
$images[] = array('url_thumbs' => $url_galery.'bmw-m2-01_thumbs.jpg', 'url_large' => $url_galery.'bmw-m2-01_large.jpg','caption' => 'BMW M2');
$images[] = array('url_thumbs' => $url_galery.'bmw-m2-02_thumbs.jpg', 'url_large' => $url_galery.'bmw-m2-02_large.jpg','caption' => 'BMW M2');
$images[] = array('url_thumbs' => $url_galery.'bmw-m2-03_thumbs.jpg', 'url_large' => $url_galery.'bmw-m2-03_large.jpg','caption' => 'BMW M2');
$images[] = array('url_thumbs' => $url_galery.'audi-rs3-01_thumbs.jpg', 'url_large' => $url_galery.'audi-rs3-01_large.jpg','caption' => 'Audi RS3');
$images[] = array('url_thumbs' => $url_galery.'audi-rs3-02_thumbs.jpg', 'url_large' => $url_galery.'audi-rs3-02_large.jpg','caption' => 'Audi RS3');
$images[] = array('url_thumbs' => $url_galery.'audi-rs3-03_thumbs.jpg', 'url_large' => $url_galery.'audi-rs3-03_large.jpg','caption' => 'Audi RS3');
$images[] = array('url_thumbs' => $url_galery.'bmw-x6m-01_thumbs.jpg', 'url_large' => $url_galery.'bmw-x6m-01_large.jpg','caption' => 'BMW X6M Compétition');
$images[] = array('url_thumbs' => $url_galery.'bmw-x6m-02_thumbs.jpg', 'url_large' => $url_galery.'bmw-x6m-02_large.jpg','caption' => 'BMW X6M Compétition');
$images[] = array('url_thumbs' => $url_galery.'bmw-x6m-03_thumbs.jpg', 'url_large' => $url_galery.'bmw-x6m-03_large.jpg','caption' => 'BMW X6M Compétition');
$images[] = array('url_thumbs' => $url_galery.'ford-mustang-bullitt-01_thumbs.jpg', 'url_large' => $url_galery.'ford-mustang-bullitt-01_large.jpg','caption' => 'ford-mustang-bullitt');
$images[] = array('url_thumbs' => $url_galery.'ford-mustang-bullitt-02_thumbs.jpg', 'url_large' => $url_galery.'ford-mustang-bullitt-02_large.jpg','caption' => 'ford-mustang-bullitt');
$images[] = array('url_thumbs' => $url_galery.'ford-mustang-bullitt-03_thumbs.jpg', 'url_large' => $url_galery.'ford-mustang-bullitt-03_large.jpg','caption' => 'ford-mustang-bullitt');
$images[] = array('url_thumbs' => $url_galery.'ford-mustanggt-01_thumbs.jpg', 'url_large' => $url_galery.'ford-mustanggt-01_large.jpg','caption' => 'Ford Mustang gt');
$images[] = array('url_thumbs' => $url_galery.'ford-mustanggt-02_thumbs.jpg', 'url_large' => $url_galery.'ford-mustanggt-02_large.jpg','caption' => 'Ford Mustang gt');
$images[] = array('url_thumbs' => $url_galery.'ford-mustanggt-03_thumbs.jpg', 'url_large' => $url_galery.'ford-mustanggt-03_large.jpg','caption' => 'Ford Mustang gt');
$images[] = array('url_thumbs' => $url_galery.'porsche-boxter-01_thumbs.jpg', 'url_large' => $url_galery.'porsche-boxter-01_large.jpg','caption' => 'Porsche Boxter');
$images[] = array('url_thumbs' => $url_galery.'porsche-boxter-02_thumbs.jpg', 'url_large' => $url_galery.'porsche-boxter-02_large.jpg','caption' => 'Porsche Boxter');
$images[] = array('url_thumbs' => $url_galery.'porsche-boxter-03_thumbs.jpg', 'url_large' => $url_galery.'porsche-boxter-03_large.jpg','caption' => 'Porsche Boxter');
return $this->render('main/page-detailing.html.twig', [
'images' => $images
]);
}
/**
* @Route("/regeneration-de-surface-chambery", name="regeneration-surface")
*/
public function regeneration_surface()
{
// Galerie photos > images
$images = array();
$url_galery = '/galeries/regeneration-surface/';
$images[] = array('url_thumbs' => $url_galery.'audi-rs3-01_thumbs.jpg', 'url_large' => $url_galery.'audi-rs3-01_large.jpg','caption' => 'audi-rs3');
$images[] = array('url_thumbs' => $url_galery.'audi-rs3-02_thumbs.jpg', 'url_large' => $url_galery.'audi-rs3-02_large.jpg','caption' => 'audi-rs3');
$images[] = array('url_thumbs' => $url_galery.'audi-rs3-03_thumbs.jpg', 'url_large' => $url_galery.'audi-rs3-03_large.jpg','caption' => 'audi-rs3');
$images[] = array('url_thumbs' => $url_galery.'audi-rs3-04_thumbs.jpg', 'url_large' => $url_galery.'audi-rs3-04_large.jpg','caption' => 'audi-rs3');
$images[] = array('url_thumbs' => $url_galery.'audi-rs3-05_thumbs.jpg', 'url_large' => $url_galery.'audi-rs3-05_large.jpg','caption' => 'audi-rs3');
$images[] = array('url_thumbs' => $url_galery.'audi-rs3-06_thumbs.jpg', 'url_large' => $url_galery.'audi-rs3-06_large.jpg','caption' => 'audi-rs3');
$images[] = array('url_thumbs' => $url_galery.'audi-rs3-07_thumbs.jpg', 'url_large' => $url_galery.'audi-rs3-07_large.jpg','caption' => 'audi-rs3');
$images[] = array('url_thumbs' => $url_galery.'audi-rs3-08_thumbs.jpg', 'url_large' => $url_galery.'audi-rs3-08_large.jpg','caption' => 'audi-rs3');
$images[] = array('url_thumbs' => $url_galery.'mini-01_thumbs.jpg', 'url_large' => $url_galery.'mini-01_large.jpg','caption' => 'mini');
$images[] = array('url_thumbs' => $url_galery.'mini-02_thumbs.jpg', 'url_large' => $url_galery.'mini-02_large.jpg','caption' => 'mini');
$images[] = array('url_thumbs' => $url_galery.'mini-03_thumbs.jpg', 'url_large' => $url_galery.'mini-03_large.jpg','caption' => 'mini');
return $this->render('main/page-regeneration-surface.html.twig', [
'images' => $images
]);
}
/**
* @Route("/covering-total-partiel-chambery", name="covering")
*/
public function covering()
{
// Galerie photos > images
$images = array();
$url_galery = '/galeries/covering/';
$images[] = array('url_thumbs' => $url_galery.'audi-r8lms-01_thumbs.jpg', 'url_large' => $url_galery.'audi-r8lms-01_large.jpg','caption' => 'audi-r8lms');
$images[] = array('url_thumbs' => $url_galery.'audi-r8lms-02_thumbs.jpg', 'url_large' => $url_galery.'audi-r8lms-02_large.jpg','caption' => 'audi-r8lms');
$images[] = array('url_thumbs' => $url_galery.'audi-r8lms-03_thumbs.jpg', 'url_large' => $url_galery.'audi-r8lms-03_large.jpg','caption' => 'audi-r8lms');
$images[] = array('url_thumbs' => $url_galery.'vw-golfgti-01_thumbs.jpg', 'url_large' => $url_galery.'vw-golfgti-01_large.jpg','caption' => 'vw-golfgti');
$images[] = array('url_thumbs' => $url_galery.'vw-golfgti-02_thumbs.jpg', 'url_large' => $url_galery.'vw-golfgti-02_large.jpg','caption' => 'vw-golfgti');
$images[] = array('url_thumbs' => $url_galery.'vw-golfgti-03_thumbs.jpg', 'url_large' => $url_galery.'vw-golfgti-03_large.jpg','caption' => 'vw-golfgti');
$images[] = array('url_thumbs' => $url_galery.'coolracing-lmp2-01_thumbs.jpg', 'url_large' => $url_galery.'coolracing-lmp2-01_large.jpg','caption' => 'Cool Racing');
$images[] = array('url_thumbs' => $url_galery.'coolracing-lmp2-02_thumbs.jpg', 'url_large' => $url_galery.'coolracing-lmp2-02_large.jpg','caption' => 'Cool Racing');
$images[] = array('url_thumbs' => $url_galery.'coolracing-lmp2-03_thumbs.jpg', 'url_large' => $url_galery.'coolracing-lmp2-03_large.jpg','caption' => 'Cool Racing');
$images[] = array('url_thumbs' => $url_galery.'coolracing-lmp2-04_thumbs.jpg', 'url_large' => $url_galery.'coolracing-lmp2-04_large.jpg','caption' => 'Cool Racing');
$images[] = array('url_thumbs' => $url_galery.'coolracing-lmp2-05_thumbs.jpg', 'url_large' => $url_galery.'coolracing-lmp2-05_large.jpg','caption' => 'Cool Racing');
$images[] = array('url_thumbs' => $url_galery.'coolracing-lpm3-01_thumbs.jpg', 'url_large' => $url_galery.'coolracing-lpm3-01_large.jpg','caption' => 'Cool Racing');
$images[] = array('url_thumbs' => $url_galery.'ferrari-812-01_thumbs.jpg', 'url_large' => $url_galery.'ferrari-812-01_large.jpg','caption' => 'ferrari-812-superfast');
$images[] = array('url_thumbs' => $url_galery.'ferrari-812-02_thumbs.jpg', 'url_large' => $url_galery.'ferrari-812-02_large.jpg','caption' => 'ferrari-812-superfast');
$images[] = array('url_thumbs' => $url_galery.'ferrari-812-03_thumbs.jpg', 'url_large' => $url_galery.'ferrari-812-03_large.jpg','caption' => 'ferrari-812-superfast');
$images[] = array('url_thumbs' => $url_galery.'ford-focusrs-01_thumbs.jpg', 'url_large' => $url_galery.'ford-focusrs-01_large.jpg','caption' => 'ford-focusrs');
$images[] = array('url_thumbs' => $url_galery.'ford-focusrs-02_thumbs.jpg', 'url_large' => $url_galery.'ford-focusrs-02_large.jpg','caption' => 'ford-focusrs');
$images[] = array('url_thumbs' => $url_galery.'ford-focusrs-03_thumbs.jpg', 'url_large' => $url_galery.'ford-focusrs-03_large.jpg','caption' => 'ford-focusrs');
$images[] = array('url_thumbs' => $url_galery.'helicoptere-01_thumbs.jpg', 'url_large' => $url_galery.'helicoptere-01_large.jpg','caption' => 'helicoptere');
$images[] = array('url_thumbs' => $url_galery.'helicoptere-02_thumbs.jpg', 'url_large' => $url_galery.'helicoptere-02_large.jpg','caption' => 'helicoptere');
$images[] = array('url_thumbs' => $url_galery.'helicoptere-03_thumbs.jpg', 'url_large' => $url_galery.'helicoptere-03_large.jpg','caption' => 'helicoptere');
$images[] = array('url_thumbs' => $url_galery.'lamborghini-urus-01_thumbs.jpg', 'url_large' => $url_galery.'lamborghini-urus-01_large.jpg','caption' => 'lamborghini-urus');
$images[] = array('url_thumbs' => $url_galery.'lamborghini-urus-02_thumbs.jpg', 'url_large' => $url_galery.'lamborghini-urus-02_large.jpg','caption' => 'lamborghini-urus');
$images[] = array('url_thumbs' => $url_galery.'lamborghini-urus-03_thumbs.jpg', 'url_large' => $url_galery.'lamborghini-urus-03_large.jpg','caption' => 'lamborghini-urus');
$images[] = array('url_thumbs' => $url_galery.'mitsubishi-sto-01_thumbs.jpg', 'url_large' => $url_galery.'mitsubishi-sto-01_large.jpg','caption' => 'mitsubishi-sto');
$images[] = array('url_thumbs' => $url_galery.'mitsubishi-sto-02_thumbs.jpg', 'url_large' => $url_galery.'mitsubishi-sto-02_large.jpg','caption' => 'mitsubishi-sto');
$images[] = array('url_thumbs' => $url_galery.'mitsubishi-sto-03_thumbs.jpg', 'url_large' => $url_galery.'mitsubishi-sto-03_large.jpg','caption' => 'mitsubishi-sto');
$images[] = array('url_thumbs' => $url_galery.'lamborghini-urus-04_thumbs.jpg', 'url_large' => $url_galery.'lamborghini-urus-04_large.jpg','caption' => 'lamborghini-urus');
$images[] = array('url_thumbs' => $url_galery.'lamborghini-urus-05_thumbs.jpg', 'url_large' => $url_galery.'lamborghini-urus-05_large.jpg','caption' => 'lamborghini-urus');
$images[] = array('url_thumbs' => $url_galery.'lamborghini-urus-06_thumbs.jpg', 'url_large' => $url_galery.'lamborghini-urus-06_large.jpg','caption' => 'lamborghini-urus');
$images[] = array('url_thumbs' => $url_galery.'opel-opc-01_thumbs.jpg', 'url_large' => $url_galery.'opel-opc-01_large.jpg','caption' => 'opel-opc');
$images[] = array('url_thumbs' => $url_galery.'opel-opc-02_thumbs.jpg', 'url_large' => $url_galery.'opel-opc-02_large.jpg','caption' => 'opel-opc');
$images[] = array('url_thumbs' => $url_galery.'opel-opc-03_thumbs.jpg', 'url_large' => $url_galery.'opel-opc-03_large.jpg','caption' => 'opel-opc');
$images[] = array('url_thumbs' => $url_galery.'porsche-gt3-01_thumbs.jpg', 'url_large' => $url_galery.'porsche-gt3-01_large.jpg','caption' => 'porsche-gt3');
$images[] = array('url_thumbs' => $url_galery.'porsche-gt3-02_thumbs.jpg', 'url_large' => $url_galery.'porsche-gt3-02_large.jpg','caption' => 'porsche-gt3');
$images[] = array('url_thumbs' => $url_galery.'porsche-gt3-03_thumbs.jpg', 'url_large' => $url_galery.'porsche-gt3-03_large.jpg','caption' => 'porsche-gt3');
$images[] = array('url_thumbs' => $url_galery.'skoda-kodiaq-01_thumbs.jpg', 'url_large' => $url_galery.'skoda-kodiaq-01_large.jpg','caption' => 'skoda-kodiaq');
$images[] = array('url_thumbs' => $url_galery.'skoda-kodiaq-02_thumbs.jpg', 'url_large' => $url_galery.'skoda-kodiaq-02_large.jpg','caption' => 'skoda-kodiaq');
$images[] = array('url_thumbs' => $url_galery.'skoda-kodiaq-03_thumbs.jpg', 'url_large' => $url_galery.'skoda-kodiaq-03_large.jpg','caption' => 'skoda-kodiaq');
$images[] = array('url_thumbs' => $url_galery.'racingspiritoflemans-lpm3-01_thumbs.jpg', 'url_large' => $url_galery.'racingspiritoflemans-lpm3-01_large.jpg','caption' => 'racingspiritoflemans-lpm3');
$images[] = array('url_thumbs' => $url_galery.'racingspiritoflemans-lpm3-02_thumbs.jpg', 'url_large' => $url_galery.'racingspiritoflemans-lpm3-02_large.jpg','caption' => 'racingspiritoflemans-lpm3');
return $this->render('main/page-covering.html.twig', [
'images' => $images
]);
}
/**
* @Route("/protection-ppf-film-xpel-chambery", name="ppf")
*/
public function ppf()
{
// Galerie photos > images
$images = array();
$url_galery = '/galeries/ppf/';
$images[] = array('url_thumbs' => $url_galery.'ferrari-488-01_thumbs.jpg', 'url_large' => $url_galery.'ferrari-488-01_large.jpg','caption' => 'ferrari-488-pista');
$images[] = array('url_thumbs' => $url_galery.'ferrari-488-02_thumbs.jpg', 'url_large' => $url_galery.'ferrari-488-02_large.jpg','caption' => 'ferrari-488-pista');
$images[] = array('url_thumbs' => $url_galery.'ferrari-488-03_thumbs.jpg', 'url_large' => $url_galery.'ferrari-488-03_large.jpg','caption' => 'ferrari-488-pista');
$images[] = array('url_thumbs' => $url_galery.'porsche-taycan-01_thumbs.jpg', 'url_large' => $url_galery.'porsche-taycan-01_large.jpg','caption' => 'porsche-taycan');
$images[] = array('url_thumbs' => $url_galery.'porsche-taycan-02_thumbs.jpg', 'url_large' => $url_galery.'porsche-taycan-02_large.jpg','caption' => 'porsche-taycan');
$images[] = array('url_thumbs' => $url_galery.'porsche-taycan-03_thumbs.jpg', 'url_large' => $url_galery.'porsche-taycan-03_large.jpg','caption' => 'porsche-taycan');
$images[] = array('url_thumbs' => $url_galery.'porsche-gt2rs-01_thumbs.jpg', 'url_large' => $url_galery.'porsche-gt2rs-01_large.jpg','caption' => 'porsche-gt2rs');
$images[] = array('url_thumbs' => $url_galery.'porsche-gt2rs-02_thumbs.jpg', 'url_large' => $url_galery.'porsche-gt2rs-02_large.jpg','caption' => 'porsche-gt2rs');
$images[] = array('url_thumbs' => $url_galery.'porsche-gt2rs-03_thumbs.jpg', 'url_large' => $url_galery.'porsche-gt2rs-03_large.jpg','caption' => 'porsche-gt2rs');
$images[] = array('url_thumbs' => $url_galery.'porsche-gt3-01_thumbs.jpg', 'url_large' => $url_galery.'porsche-gt3-01_large.jpg','caption' => 'porsche-gt3');
$images[] = array('url_thumbs' => $url_galery.'porsche-gt3-02_thumbs.jpg', 'url_large' => $url_galery.'porsche-gt3-02_large.jpg','caption' => 'porsche-gt3');
$images[] = array('url_thumbs' => $url_galery.'porsche-gt3-03_thumbs.jpg', 'url_large' => $url_galery.'porsche-gt3-03_large.jpg','caption' => 'porsche-gt3');
return $this->render('main/page-ppf.html.twig', [
'images' => $images
]);
}
/**
* @Route("/vitres-teintees-film-solaire-chambery", name="vitres-teintees")
*/
public function vitres_teintees()
{
return $this->render('main/page-vitres-teintees.html.twig', [
]);
}
/**
* @Route("/reprogrammation-moteur-br-performance-chambery", name="reprogrammation-moteur")
*/
public function reprogrammation_moteur()
{
return $this->render('main/page-reprogrammation-moteur.html.twig', [
]);
}
/**
* @Route("/jantes-et-pneus-chambery", name="jantes-et-pneus")
*/
public function jantes_et_pneus()
{
// Galerie photos > images
$images = array();
$url_galery = '/galeries/jantes-et-pneus/';
$images[] = array('url_thumbs' => $url_galery.'jante-ferrari-02_thumbs.jpg', 'url_large' => $url_galery.'jante-ferrari-02_large.jpg','caption' => 'jante ferrari');
$images[] = array('url_thumbs' => $url_galery.'jante-hre-01_thumbs.jpg', 'url_large' => $url_galery.'jante-hre-01_large.jpg','caption' => 'jante hre');
$images[] = array('url_thumbs' => $url_galery.'jante-hre-02_thumbs.jpg', 'url_large' => $url_galery.'jante-hre-02_large.jpg','caption' => 'jante hre');
$images[] = array('url_thumbs' => $url_galery.'jante-vellano-01_thumbs.jpg', 'url_large' => $url_galery.'jante-vellano-01_large.jpg','caption' => 'jante vellano');
$images[] = array('url_thumbs' => $url_galery.'jante-vossen-01_thumbs.jpg', 'url_large' => $url_galery.'jante-vossen-01_large.jpg','caption' => 'jante vossen');
$images[] = array('url_thumbs' => $url_galery.'jante-vossen-02_thumbs.jpg', 'url_large' => $url_galery.'jante-vossen-02_large.jpg','caption' => 'jante vossen ferrari');
return $this->render('main/page-jantes-et-pneus.html.twig', [
'images' => $images
]);
}
/**
* @Route("/nettoyage-interieur-exterieur-cryogenie-chambery", name="nettoyage-et-cryogenie")
*/
public function nettoyage_et_cryogenie()
{
// Galerie photos > images
$images = array();
$url_galery = '/galeries/cryogenie/';
$images[] = array('url_thumbs' => $url_galery.'nettoyage-cryogenie-01_thumbs.jpg', 'url_large' => $url_galery.'nettoyage-cryogenie-01_large.jpg','caption' => 'nettoyage-cryogenie');
$images[] = array('url_thumbs' => $url_galery.'nettoyage-cryogenie-02_thumbs.jpg', 'url_large' => $url_galery.'nettoyage-cryogenie-02_large.jpg','caption' => 'nettoyage-cryogenie');
$images[] = array('url_thumbs' => $url_galery.'nettoyage-cryogenie-03_thumbs.jpg', 'url_large' => $url_galery.'nettoyage-cryogenie-03_large.jpg','caption' => 'nettoyage-cryogenie');
return $this->render('main/page-nettoyage-et-cryogenie.html.twig', [
'images' => $images
]);
}
/**
* @Route("/accessoires-automobiles-chambery", name="accessoires")
*/
public function accessoires()
{
return $this->render('main/page-accessoires.html.twig', [
]);
}
/**
* @Route("/sport-auto-competition", name="sport-auto")
*/
public function sport_auto()
{
// Galerie photos > 3 galeries
//
$images = array();
$url_galery = '/galeries/sport-auto/gck/';
$images[] = array('url_thumbs' => $url_galery.'gck-fiarallycross-01_thumbs.jpg', 'url_large' => $url_galery.'gck-fiarallycross-01_large.jpg','caption' => 'gck-fiarallycross');
$images[] = array('url_thumbs' => $url_galery.'gck-fiarallycross-02_thumbs.jpg', 'url_large' => $url_galery.'gck-fiarallycross-02_large.jpg','caption' => 'gck-fiarallycross');
$images[] = array('url_thumbs' => $url_galery.'gck-fiarallycross-03_thumbs.jpg', 'url_large' => $url_galery.'gck-fiarallycross-03_large.jpg','caption' => 'gck-fiarallycross');
// Galerie photos
$images_2 = array();
$url_galery = '/galeries/sport-auto/';
$images_2[] = array('url_thumbs' => $url_galery.'racing-spirit-of-leman-01_thumbs.jpg', 'url_large' => $url_galery.'racing-spirit-of-leman-01_large.jpg','caption' => 'racing-spirit-of-leman');
$images_2[] = array('url_thumbs' => $url_galery.'racing-spirit-of-leman-02_thumbs.jpg', 'url_large' => $url_galery.'racing-spirit-of-leman-02_large.jpg','caption' => 'racing-spirit-of-leman');
// Galerie photos
$images_3 = array();
$url_galery = '/galeries/sport-auto/clx/';
$images_3[] = array('url_thumbs' => $url_galery.'clx-motorsport-lmp3-02_thumbs.jpg', 'url_large' => $url_galery.'clx-motorsport-lmp3-02_large.jpg','caption' => 'clx-motorsport-lmp2');
$images_3[] = array('url_thumbs' => $url_galery.'clx-motorsport-lmp2-01_thumbs.jpg', 'url_large' => $url_galery.'clx-motorsport-lmp2-01_large.jpg','caption' => 'clx-motorsport-lmp2');
$images_3[] = array('url_thumbs' => $url_galery.'clx-motorsport-lmp2-03_thumbs.jpg', 'url_large' => $url_galery.'clx-motorsport-lmp2-03_large.jpg','caption' => 'clx-motorsport-lmp2');
$images_3[] = array('url_thumbs' => $url_galery.'clx-motorsport-lmp2-04_thumbs.jpg', 'url_large' => $url_galery.'clx-motorsport-lmp2-04_large.jpg','caption' => 'clx-motorsport-lmp2');
$images_3[] = array('url_thumbs' => $url_galery.'clx-motorsport-lmp2-05_thumbs.jpg', 'url_large' => $url_galery.'clx-motorsport-lmp2-05_large.jpg','caption' => 'clx-motorsport-lmp2');
return $this->render('main/page-sport-auto.html.twig', [
'images' => $images,
'images_2' => $images_2,
'images_3' => $images_3
]);
}
/**
* @Route("/cover-design-equipe-histoire", name="cover-design")
*/
public function cover_design()
{
return $this->render('main/page-cover-design.html.twig', [
]);
}
/**
* @Route("/contact", name="contact")
* @param Request $request
* @param MailerInterface $mailer
* @return \Symfony\Component\HttpFoundation\RedirectResponse|\Symfony\Component\HttpFoundation\Response
* @throws \Symfony\Component\Mailer\Exception\TransportExceptionInterface
*/
public function contact(Request $request, MailerInterface $mailer)
//public function contact(Request $request)
{
// CONTACT FORM ////////////////////////////////////
// creates a task object and initializes some data for this example
$form = $this->createForm(ContactFormType::class);
$form->handleRequest($request); // on passe la requête au formulaire (affichera une entité si elle existe par exemple)
$message_is_sent = false;
$recipient['email'] = 'contact@cover-design73.com'; // destinataire du formulaire de contact
//$recipient['email'] = 'infos@monmoulin.fr'; // destinataire du formulaire de contact
$recipient_bcc['email'] = 'agencemonmoulin@gmail.com'; // copie caché destinataire du formulaire de contact
// Si le formulaire est OK
if($form->isSubmitted() && $form->isValid())
{
// DATA du FORMULAIRE
$data = $form->getData();
// Anti-spam comparaison > time created_form VS time submitted_form
$created_form = $data['d_crea']; // anti-spam > input hidden > time de la création du formulaire
$submitted_form = time();
$check_anti_spam = $submitted_form - $created_form;
if( $check_anti_spam > 5 ){
// human
// SEND EMAIL via MAILER ///////
$message = (new TemplatedEmail())
->from('form@cover-design.fr')
//->from('form@monmoulin.fr')
->to($recipient['email'])
//->cc()
->bcc($recipient_bcc['email'])
//->replyTo($replyto['email'])
//->priority(Email::PRIORITY_HIGH)
->subject('Contact du site : cover-design.fr')
->htmlTemplate('emails/contact-form.html.twig')
// pass variables (name => value) to the template
->context([
'data' => $data,
])
;
$mailer->send($message);
// NOTIFICATION
$this->addFlash('success','Votre message a bien été envoyé, Merci.');
// ENLEVER LE FORMULAIRE
$message_is_sent = true;
// REDIRECTION
return $this->redirectToRoute('contact');
} else {
// BOT?
//echo "<br>Are You're a fuckin Bot ?";
return $this->redirectToRoute('contact'); // tentative d'un bot
}
// REDIRECTION
return $this->redirectToRoute('contact');
}
// AFFICHAGE DU FORMULAIRE VIDE
return $this->render('main/page-contact.html.twig', [
'contactForm' => $form->createView(),
'message_is_sent' => $message_is_sent
]);
}
/**
* Catalogue produits > listing complet
* @Route("/produits-entretien-chambery", name="produits-entretien")
* @param ProductRepository $productRepository
* @param Request $request
* @return \Symfony\Component\HttpFoundation\Response
*/
public function produits_entretien(ProductRepository $productRepository, Request $request)
{
$all_products = $productRepository->findAll(); // grâce au repo, on fait un select de toutes les entrées
$count_all_products = count($all_products);
//dump($all_products);
// pagination
$products = $this->paginator->paginate($all_products, $request->query->getInt('page', 1), 6);
// filtres : action & catégories
$filters = $this->coverDesignHelper->getFilters();
//dump($filters);
return $this->render('main/page-produits-entretien.html.twig', [
'products' => $products,
'filters' => $filters,
'count_all_products' => $count_all_products,
]);
}
/**
* Catalogue produits > filtrage produits: action et catégorie
* @Route("/produits-entretien-chambery/a/{a_slug}/c/{cat_slug}", name="produits-entretien-filters")
*/
public function produits_entretien_filters(string $a_slug, string $cat_slug, ProductRepository $productRepository, ProductActionRepository $productActionRepository, ProductCategoryRepository $productCategoryRepository, Request $request)
{
// titre à ajouter au compteur, ex: 8 produits >>> dans "maintenir" et "tissu"
$filter_title['action'] = '';
$filter_title['category'] = '';
// get -> action
if($a_slug != 'all'){
$get_action = $productActionRepository->findOneBy(['slug' => $a_slug]);
//dump($get_action);
$action['id'] = $get_action->getId();
$filter_title['action'] = $get_action->getName();
} else {
$action['id'] = 0;
}
// get -> category
if($cat_slug != 'all'){
$get_category = $productCategoryRepository->findOneBy(['slug' => $cat_slug]);
$category['id'] = $get_category->getId();
$filter_title['category'] = $get_category->getName();
} else {
$category['id'] = 0;
}
$get_products = $productRepository->findByActionAndOrCategory($action['id'], $category['id']);
// filtres : action & catégories
$filters = $this->coverDesignHelper->getFilters();
// compteur
$count_all_products = count($get_products);
// pagination
$products = $this->paginator->paginate($get_products, $request->query->getInt('page', 1), 6);
return $this->render('main/page-produits-entretien.html.twig', [
'products' => $products,
'filters' => $filters,
'filter_title' => $filter_title,
'count_all_products' => $count_all_products,
]);
}
/**
* Fiche produit
* @Route("/produits-entretien-chambery/p/{id}", name="produits-entretien-show")
* @param Product $product
* @param Request $request
* @return \Symfony\Component\HttpFoundation\Response
*/
public function produits_entretien_show (Product $product, Request $request)
{
// go back (btn retour)
$go_back = $this->getGoBackPage($request);
return $this->render('main/page-produits-entretien-show.html.twig', [
'product' => $product,
'go_back' => $go_back,
]);
}
/////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////
/**
* URL GO BACK (btn retour)
* - Mise en session de la page de retour (en cas d'actualisation de la page, same page)
*
* @param $request
* @return mixed|string
*/
private function getGoBackPage ($request) {
$go_back = '';
$referer = filter_var($request->headers->get('referer'), FILTER_SANITIZE_URL); // securisation vulnérabilité XSS
if ($referer) {
$go_back = $referer;
$this->session->set('go_back', $referer);
} else {
if ($this->session->get('go_back')) {
$go_back = $this->session->get('go_back');
}
}
//dump($go_back);
return $go_back;
}
}