src/Controller/Web/DefaultController.php line 100

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Web;
  3. use App\Entity\Organization;
  4. use App\WebContent\MetaData;
  5. use App\WebContent\SEO;
  6. use App\WebContent\WebPage;
  7. use Doctrine\ORM\EntityManagerInterface;
  8. use Symfony\Component\HttpFoundation\JsonResponse;
  9. use Symfony\Component\HttpFoundation\Request;
  10. use Symfony\Component\HttpFoundation\Response;
  11. use Symfony\Component\Mailer\MailerInterface;
  12. use Symfony\Component\Mime\Email;
  13. use Symfony\Component\Routing\Annotation\Route;
  14. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  15. class DefaultController extends AbstractController
  16. {
  17.     /**
  18.      * @Route("/", name="web_root")
  19.      */
  20.     public function index(SEO $seoServiceWebPage $webPageServiceMetaData $metaDataService ): Response
  21.     {
  22.         $slug 'accueil';
  23.         $webPage $webPageService->getData($slug);
  24.         $metaData $metaDataService->getData($webPage);
  25.         $entities = ['webPage' => $webPage];
  26.         $structuredData $seoService->getStructuredData($metaData,$entities);
  27.         $components $webPageService->getComponents($webPage->getComponents());
  28.         $data = [
  29.             'controller_name' => 'DefaultController',
  30.             'page' => $webPage,
  31.             'meta_data' => $metaData,
  32.             'structured_data' => $structuredData,
  33.             'components' => $components
  34.         ];
  35.         return $this->render('web/pages/home.html.twig'$data);
  36.     }
  37.     /**
  38.      * @Route("/a-propos", name="web_about")
  39.      */
  40.     public function about(SEO $seoServiceWebPage $webPageServiceMetaData $metaDataService): Response
  41.     {
  42.         $slug 'a-propos';
  43.         $webPage $webPageService->getData($slug);
  44.         $metaData $metaDataService->getData($webPage);
  45.         $entities = ['webPage' => $webPage];
  46.         $structuredData $seoService->getStructuredData($metaData,$entities);
  47.         $components $webPageService->getComponents($webPage->getComponents());
  48.         $data = [
  49.             'controller_name' => 'DefaultController',
  50.             'page' => $webPage,
  51.             'meta_data' => $metaData,
  52.             'structured_data' => $structuredData,
  53.             'components' => $components
  54.         ];
  55.         return $this->render('web/pages/about.html.twig'$data);
  56.     }
  57.      /**
  58.      * @Route("/mentions-legales", name="web_mentions_legales")
  59.      */
  60.     public function mentionsLegales(SEO $seoServiceWebPage $webPageServiceMetaData $metaDataService): Response
  61.     {
  62.         $slug 'mentions-legales';
  63.         $webPage $webPageService->getData($slug);
  64.         $metaData $metaDataService->getData($webPage);
  65.         $entities = ['webPage' => $webPage];
  66.         $structuredData $seoService->getStructuredData($metaData$entities);
  67.         $components $webPageService->getComponents($webPage->getComponents());
  68.         // $cares = $webPageService->getCares();
  69.         // $menuCategories = $webPageService->getMenuCategories();
  70.         $data = [
  71.             'controller_name' => 'DefaultController',
  72.             'page' => $webPage,
  73.             'meta_data' => $metaData,
  74.             'structured_data' => $structuredData,
  75.             'components' => $components,
  76.             // 'cares' => $cares,
  77.             // 'menuCategories' => $menuCategories
  78.         ];
  79.        
  80.         // dump($data);die;
  81.         return $this->render('web/pages/default.html.twig'$data);
  82.     }
  83.     /**
  84.      * @Route("/contact", name="web_contact")
  85.      */
  86.     public function contact(SEO $seoServiceWebPage $webPageServiceMetaData $metaDataService): Response
  87.     {
  88.         $slug 'contact';
  89.         $webPage $webPageService->getData($slug);
  90.         $metaData $metaDataService->getData($webPage);
  91.         $entities = ['webPage' => $webPage];
  92.         $structuredData $seoService->getStructuredData($metaData,$entities);
  93.         $components $webPageService->getComponents($webPage->getComponents());
  94.         $data = [
  95.             'controller_name' => 'DefaultController',
  96.             'page' => $webPage,
  97.             'meta_data' => $metaData,
  98.             'structured_data' => $structuredData,
  99.             'components' => $components
  100.         ];
  101.         return $this->render('web/pages/contact.html.twig'$data);
  102.     }
  103.      /**
  104.      * @Route("/tarification", name="web_tarification")
  105.      */
  106.     public function tarification(SEO $seoServiceWebPage $webPageServiceMetaData $metaDataService): Response
  107.     {
  108.         $slug 'tarification';
  109.         $webPage $webPageService->getData($slug);
  110.         $metaData $metaDataService->getData($webPage);
  111.         $entities = ['webPage' => $webPage];
  112.         $structuredData $seoService->getStructuredData($metaData,$entities);
  113.         $components $webPageService->getComponents($webPage->getComponents());
  114.         $data = [
  115.             'controller_name' => 'DefaultController',
  116.             'page' => $webPage,
  117.             'meta_data' => $metaData,
  118.             'structured_data' => $structuredData,
  119.             'components' => $components
  120.         ];
  121.         return $this->render('web/pages/tarification.html.twig'$data);
  122.     }
  123.     /**
  124.      * @Route("/actualites", name="web_news_list")
  125.      */
  126.     public function articles(SEO $seoServiceWebPage $webPageServiceMetaData $metaDataService): Response
  127.     {
  128.         $slug 'actualites';
  129.         $webPage $webPageService->getData($slug);
  130.         $metaData $metaDataService->getData($webPage);
  131.         $entities = ['webPage' => $webPage];
  132.         $structuredData $seoService->getStructuredData($metaData,$entities);
  133.         $components $webPageService->getComponents($webPage->getComponents());
  134.         $data = [
  135.             'controller_name' => 'DefaultController',
  136.             'page' => $webPage,
  137.             'meta_data' => $metaData,
  138.             'structured_data' => $structuredData,
  139.             'components' => $components
  140.         ];
  141.         return $this->render('web/pages/news_list.html.twig'$data);
  142.     }
  143.     /**
  144.      * @Route("/actualites/{slug}", name="web_article_show")
  145.      */
  146.     public function article($slugSEO $seoServiceWebPage $webPageServiceMetaData $metaDataService): Response
  147.     {
  148.         $article $webPageService->getDataArticle($slug);
  149.         if(null === $article) {
  150.             die('error 404');
  151.         }
  152.         $webPage $webPageService->getData('actualites');
  153.         $metaData $metaDataService->getData($webPage);
  154.         $entities = ['webPage' => $webPage,'article' => $article];
  155.         $structuredData $seoService->getStructuredData($metaData,$entities);
  156.         $components $webPageService->getComponents($webPage->getComponents());
  157.         
  158.         $data = [
  159.             'controller_name' => 'DefaultController',
  160.             'page' => $webPage,
  161.             "article" => $article,
  162.             'meta_data' => $metaData,
  163.             'structured_data' => $structuredData,
  164.             'components' => $components
  165.         ];
  166.         return $this->render('web/pages/news_show.html.twig'$data);
  167.     }
  168.     /**
  169.      * @Route("/references", name="web_projects_list")
  170.      */
  171.     public function projects(SEO $seoServiceWebPage $webPageServiceMetaData $metaDataService): Response
  172.     {
  173.         $slug 'references';
  174.         $webPage $webPageService->getData($slug);
  175.         $metaData $metaDataService->getData($webPage);
  176.         $entities = ['webPage' => $webPage];
  177.         $structuredData $seoService->getStructuredData($metaData,$entities);
  178.         $components $webPageService->getComponents($webPage->getComponents());
  179.         $data = [
  180.             'controller_name' => 'DefaultController',
  181.             'page' => $webPage,
  182.             'meta_data' => $metaData,
  183.             'structured_data' => $structuredData,
  184.             'components' => $components
  185.         ];
  186. // dump($data);die;
  187.         return $this->render('web/pages/projects_list.html.twig'$data);
  188.     }
  189.     /**
  190.      * @Route("/references/{slug}", name="web_project_show")
  191.      */
  192.     public function project($slugSEO $seoServiceWebPage $webPageServiceMetaData $metaDataService): Response
  193.     {
  194.         $article $webPageService->getDataArticle($slug'project');
  195.         if(null === $article) {
  196.             die('error 404');
  197.         }
  198.         $webPage $webPageService->getData('references');
  199.         $metaData $metaDataService->getData($webPage);
  200.         $entities = ['webPage' => $webPage];
  201.         $structuredData $seoService->getStructuredData($metaData,$entities);
  202.         $components $webPageService->getComponents($webPage->getComponents());
  203.         
  204.         $data = [
  205.             'controller_name' => 'DefaultController',
  206.             'page' => $webPage,
  207.             "article" => $article,
  208.             'meta_data' => $metaData,
  209.             'structured_data' => $structuredData,
  210.             'components' => $components
  211.         ];
  212.         return $this->render('web/pages/project_show.html.twig'$data);
  213.     }
  214.     /**
  215.      * @Route("/prestations", name="web_prestations_list")
  216.      */
  217.     public function prestations(SEO $seoServiceWebPage $webPageServiceMetaData $metaDataService): Response
  218.     {
  219.         $slug 'prestations';
  220.         $webPage $webPageService->getData($slug);
  221.         $metaData $metaDataService->getData($webPage);
  222.         $entities = ['webPage' => $webPage];
  223.         $structuredData $seoService->getStructuredData($metaData,$entities);
  224.         $components $webPageService->getComponents($webPage->getComponents());
  225.         $data = [
  226.             'controller_name' => 'DefaultController',
  227.             'page' => $webPage,
  228.             'meta_data' => $metaData,
  229.             'structured_data' => $structuredData,
  230.             'components' => $components
  231.         ];
  232.         return $this->render('web/pages/prestations_list.html.twig'$data);
  233.     }
  234.     /**
  235.      * @Route("/prestations/{slug}", name="web_prestation_show")
  236.      */
  237.     public function prestation($slugSEO $seoServiceWebPage $webPageServiceMetaData $metaDataService): Response
  238.     {
  239.         $article $webPageService->getDataArticle($slug'prestation');
  240.         if(null === $article) {
  241.             die('error 404');
  242.         }
  243.         $webPage $webPageService->getData('prestations');
  244.         $metaData $metaDataService->getData($webPage);
  245.         $entities = ['webPage' => $webPage];
  246.         $structuredData $seoService->getStructuredData($metaData,$entities);
  247.         $components $webPageService->getComponents($webPage->getComponents());
  248.         
  249.         $data = [
  250.             'controller_name' => 'DefaultController',
  251.             'page' => $webPage,
  252.             "article" => $article,
  253.             'meta_data' => $metaData,
  254.             'structured_data' => $structuredData,
  255.             'components' => $components
  256.         ];
  257.         return $this->render('web/pages/prestation_show.html.twig'$data);
  258.     }
  259.     /**
  260.      * @Route("/ajax/form/contact", name="ajax_form_contact")
  261.      */
  262.     public function ajaxFomContact(Request $requestMailerInterface $mailerEntityManagerInterface $manager)
  263.     {
  264. //        dump($request);
  265. //        dump($request->isXmlHttpRequest());
  266. //        die;
  267.         if ($request->isXmlHttpRequest()){
  268.             $slug $this->getParameter('organization.slug');
  269.             $organization $manager->getRepository(Organization::class)
  270.                 ->findOneBy(['slug' => $slug]);
  271.             $data $request->request->all();
  272. //            dump($organization);
  273. //            dump($data);
  274. //            dump($data['email']);
  275. //            die;
  276.             $email = (new Email())
  277.                 ->from($data['email'])
  278.                 // ->from('johan@delit.fr')
  279.                 ->to($organization->getEmail())
  280.         //->to('olivier@delit.fr')
  281. //                ->cc($this->getParameter('dev1.mail'))
  282.                 ->cc($this->getParameter('dev2.mail'))
  283.                 //->cc('cc@example.com')
  284.                 //->bcc('bcc@example.com')
  285.                 //->replyTo('fabien@example.com')
  286.                 //->priority(Email::PRIORITY_HIGH)
  287.                 ->subject('Nouveau message de contact')
  288.                 // ->text('Sending emails is fun again!')
  289.                 ->html($this->renderView(
  290.                     '@web/emails/email_default.html.twig',
  291.                     [ 'data' => $data ]
  292.                 )
  293.                 );
  294.             $mailer->send($email);
  295.             return new JsonResponse([
  296.                 'data' => [
  297.                 ]
  298.             ], JsonResponse::HTTP_OK);
  299.         }
  300.         return new JsonResponse([
  301.             'data' => ["test"]
  302.         ], JsonResponse::HTTP_BAD_GATEWAY);
  303.     }
  304.     /**
  305.      * @Route("/template/email", name="web_template_email")
  306.      */
  307.     public function email(): Response
  308.     {
  309.         $data = [
  310.             "first_name" => "fgdg",
  311.             "company" => "",
  312.             "last_name" => "xcvxcv",
  313.             "collab" => "",
  314.             "email" => "johan.remy@graines-digitales.online",
  315.             "website" => "",
  316.             "phone" => "+212700377087",
  317.             "message" => "ghfdghdf"
  318.         ];
  319.         return $this->render('@web/emails/email_default.html.twig', [ 'data' => $data ]);
  320.     }
  321.     /**
  322.      * @Route("/georgesdasilva", name="georges_da_silva")
  323.      */
  324.     public function georgesdasilva(SEO $seoServiceWebPage $webPageServiceMetaData $metaDataService): Response
  325.     {
  326.         $slug 'georges-da-silva';
  327.         $webPage $webPageService->getData($slug);
  328.         $metaData $metaDataService->getData($webPage);
  329.         $entities = ['webPage' => $webPage];
  330.         $structuredData $seoService->getStructuredData($metaData,$entities);
  331.         $components $webPageService->getComponents($webPage->getComponents());
  332.         $data = [
  333.             'controller_name' => 'DefaultController',
  334.             'page' => $webPage,
  335.             'meta_data' => $metaData,
  336.             'structured_data' => $structuredData,
  337.             'components' => $components
  338.         ];
  339.         return $this->render('web/pages/default.html.twig'$data);
  340.     }
  341.     
  342.     /**
  343.      * @Route("/mathieuchaput", name="mathieu_chaput")
  344.      */
  345.     public function mathieuchaput(SEO $seoServiceWebPage $webPageServiceMetaData $metaDataService): Response
  346.     {
  347.         $slug 'mathieu-chaput';
  348.         $webPage $webPageService->getData($slug);
  349.         $metaData $metaDataService->getData($webPage);
  350.         $entities = ['webPage' => $webPage];
  351.         $structuredData $seoService->getStructuredData($metaData,$entities);
  352.         $components $webPageService->getComponents($webPage->getComponents());
  353.         $data = [
  354.             'controller_name' => 'DefaultController',
  355.             'page' => $webPage,
  356.             'meta_data' => $metaData,
  357.             'structured_data' => $structuredData,
  358.             'components' => $components
  359.         ];
  360.         return $this->render('web/pages/default.html.twig'$data);
  361.     }
  362.     /**
  363.      * @Route("/ceciledasilvahisquin", name="cecile_da_silva_hisquin")
  364.      */
  365.     public function ceciledasilvahisquin(SEO $seoServiceWebPage $webPageServiceMetaData $metaDataService): Response
  366.     {
  367.         $slug 'cecile-da-silva-hisquin';
  368.         $webPage $webPageService->getData($slug);
  369.         $metaData $metaDataService->getData($webPage);
  370.         $entities = ['webPage' => $webPage];
  371.         $structuredData $seoService->getStructuredData($metaData,$entities);
  372.         $components $webPageService->getComponents($webPage->getComponents());
  373.         $data = [
  374.             'controller_name' => 'DefaultController',
  375.             'page' => $webPage,
  376.             'meta_data' => $metaData,
  377.             'structured_data' => $structuredData,
  378.             'components' => $components
  379.         ];
  380.         return $this->render('web/pages/default.html.twig'$data);
  381.     }
  382. }