src/Controller/Home/IndexController.php line 426

Open in your IDE?
  1. <?php
  2. /**
  3.  * Created by PhpStorm.
  4.  * User: yazidneghiche
  5.  * Date: 23/03/2021
  6.  * Time: 20:26.
  7.  */
  8. namespace App\Controller\Home;
  9. use App\Entity\Block;
  10. use App\Entity\Newsletter;
  11. use App\Entity\Page;
  12. use App\Entity\PageBlock;
  13. use App\Form\NewsLetterType;
  14. use App\Form\DayroomType;
  15. use App\Helper as hlp;
  16. use App\Repository\ContentRepository;
  17. use App\Repository\FooterRepository;
  18. use App\Repository\MenuRepository;
  19. use App\Repository\PageBlockRepository;
  20. use App\Repository\PageRepository;
  21. use App\Repository\MenuCardRepository;
  22. use App\Repository\NewsRepository;
  23. use App\Service\LangService;
  24. use App\Service\Mail;
  25. use App\Service\SaferpayService;
  26. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  27. use Symfony\Component\HttpFoundation\Request;
  28. use Symfony\Component\HttpFoundation\Response;
  29. use Symfony\Component\HttpFoundation\Session\SessionInterface;
  30. use Symfony\Component\Routing\Annotation\Route;
  31. class IndexController extends AbstractController
  32. {
  33.     /**
  34.      * @var array
  35.      */
  36.     public $valid_route = [
  37.         'accueil',
  38.         'about',
  39.         'apartments',
  40.         'brochure',
  41.         'birthday',
  42.         'home',
  43.         'test',
  44.         'baptism-communion',
  45.         'bed-bike',
  46.         'contact',
  47.         'class-reunion',
  48.         'event',
  49.         'conference',
  50.         'discovery-news',
  51.         'events',
  52.         'gifts',
  53.         'meeting-room'//meeting rooms
  54.         'medium-size',
  55.         'small-size',
  56.         'big-size',
  57.         'bowling-room',
  58.         'packages',
  59.         'rooms'//rooms
  60.         'leisure-sport',
  61.         'medium-size',
  62.         'meetings',
  63.         'packages',
  64.         'rallye',
  65.         'restaurant',
  66.         'la-veranda',
  67.         'lounge-bar',
  68.         'small-size',
  69.         'leisure-sports',
  70.         'swimming-pools',
  71.         'spa-leisure',
  72.         'special-offers',
  73.         'wedding',
  74.         'wellness-area',
  75.         'test',
  76.     ];
  77.     /**
  78.      * @var string
  79.      */
  80.     public $slug 'accueil';
  81.     /**
  82.      * @var array
  83.      */
  84.     private $classe = [
  85.         'contact' => \App\Form\ContactType::class,
  86.         'gifts' => \App\Form\GiftType::class,
  87.         'gift-vouchers' => \App\Form\GiftType::class,
  88.         'wedding' => \App\Form\GiftType::class,
  89.         'meeting-room' => \App\Form\ContactType::class,
  90.         'bowling-room' => \App\Form\ContactType::class,
  91.         'conferences' => \App\Form\GiftType::class,
  92.         'class-reunion' => \App\Form\GiftType::class,
  93.         'baptism-and-communion' => \App\Form\GiftType::class,
  94.         'birthday' => \App\Form\GiftType::class,
  95.         'our-reception-rooms' => \App\Form\ContactType::class,
  96.         'small-rooms' => \App\Form\ContactType::class,
  97.         'medium-rooms' => \App\Form\ContactType::class,
  98.         'big-room' => \App\Form\ContactType::class,
  99.         'special-offers' => \App\Form\DayroomType::class,
  100.     ];
  101.     /**
  102.      * page -> entity form.
  103.      *
  104.      * @var array
  105.      */
  106.     public $page_form = [
  107.         'contact' => ['contact'],
  108.         'gifts' => ['gift'],
  109.         'gift-vouchers' => ['gift'],
  110.         'wedding' => ['gift'],
  111.         'meeting-room' => ['contact'],
  112.         'bowling-room' => ['contact'],
  113.         'conferences' => ['gift'],
  114.         'class-reunion' => ['gift'],
  115.         'baptism-and-communion' => ['gift'],
  116.         'birthday' => ['gift'],
  117.         'our-reception-rooms' => ['contact'],
  118.         'small-rooms' => ['contact'],
  119.         'medium-rooms' => ['contact'],
  120.         'big-room' => ['contact'],
  121.         'special-offers' => ['special-offers'],
  122.     ];
  123.     /**
  124.      * @var LangService
  125.      */
  126.     private $langService;
  127.     /**
  128.      * @var ContentRepository
  129.      */
  130.     private $contentRepository;
  131.     /**
  132.      * @var PageRepository
  133.      */
  134.     private $pageRepository;
  135.     public function __construct(LangService $langServiceContentRepository $contentRepositoryPageRepository $pageRepository)
  136.     {
  137.         $this->langService $langService;
  138.         $this->contentRepository $contentRepository;
  139.         $this->pageRepository $pageRepository;
  140.     }
  141.     public function index()
  142.     {
  143.         $datas $this->_page('accueil');
  144.         $datas['slug'] = $this->slug;
  145.         return $this->redirectToRoute('app_page', ['slug' => 'home']);
  146.     }
  147.     /**
  148.      * @param $slug
  149.      * @param string $id
  150.      *
  151.      * @return Response
  152.      */
  153.     public function page($slug$id ''Request $requestMenuCardRepository $menuCardRepositoryMenuRepository $menuRepositoryFooterRepository $footerRepositoryPageBlockRepository $pageBlockRepositoryLangService $langServiceSessionInterface $sessionNewsRepository $newsRepository)
  154.     {
  155.         $page $this->getDoctrine()->getRepository(Page::class)->findBy(['slug' => $slug]);
  156.         $pageDark $this->getDoctrine()->getRepository(Page::class)->findBy(['slug' => 'dark']);
  157.         $imgPreloads $this->imgPreload();
  158.         if (!empty($page)) {
  159.             $lang $this->langService->getCodeLanguage($request->getLocale());
  160.             $array = [];
  161.             $datas['slug'] = $slug;
  162.             $datas['locale'] = $request->getLocale();
  163.             $site $this->_getDataSite($langService->getCodeLanguage($lang));
  164.            /* if(!empty($site)){
  165.                 $datas['header'] = $site[0]->datas;
  166.                 if(isset( $site[1]))
  167.                    // $datas['newsletter_block'] = $site[1]->datas;
  168.             }*/
  169.             // Footer components
  170.             // TODO Footer
  171.           /*  if (2 === $lang) {
  172.                 $site = $pageBlockRepository->find(646);
  173.                 $datas['footer']['links'] = $site->getPageBlock()[0]->json;
  174.                 $datas['footer']['logos'] = $site->getPageBlock()[1]->json;
  175.                 $datas['footer']['privacy_links'] = $site->getPageBlock()[2]->json;
  176.                 $datas['footer']['location'] = $site->getPageBlock()[3]->json;
  177.                 $datas['footer']['social'] = $site->getPageBlock()[4]->json ?? [];
  178.             } elseif (3 === $lang) {
  179.                 $site = $pageBlockRepository->find(648);
  180.                 $datas['footer']['links'] = $site->getPageBlock()[0]->json;
  181.                 $datas['footer']['logos'] = $site->getPageBlock()[1]->json;
  182.                 $datas['footer']['privacy_links'] = $site->getPageBlock()[2]->json;
  183.                 $datas['footer']['location'] = $site->getPageBlock()[3]->json;
  184.                 $datas['footer']['social'] = $site->getPageBlock()[4]->json ?? [];
  185.             } else {
  186.                 $datas['footer']['links'] = $site[5]->getPageBlock()[0]->json;
  187.                 $datas['footer']['logos'] = $site[5]->getPageBlock()[1]->json;
  188.                 $datas['footer']['privacy_links'] = $site[5]->getPageBlock()[2]->json;
  189.                 $datas['footer']['location'] = $site[5]->getPageBlock()[3]->json;
  190.                 $datas['footer']['social'] = $site[5]->getPageBlock()[4]->json ?? [];
  191.             }*/
  192.             $datas['blocks'] = array_merge($this->_getDataPage($slug$request->getLocale(), $page[0]->getId()), $this->_getDataPage($slug$request->getLocale(), $pageDark[0]->getId()));
  193.             //$datas['blocks']['light'] = $this->_getDataPage($slug, $request->getLocale(), $page[0]->getId());
  194.             //$datas['blocks']['dark'] = $this->_getDataPage($slug, $request->getLocale(), $pageDark[0]->getId());
  195.             if (empty($datas['blocks'])) {
  196.                 return new Response(
  197.                     $this->render('bundles/TwigBundle/Exception/error404.html.twig'),
  198.                     404
  199.                 );
  200.             }
  201.             //get Header
  202.             if(!empty( $this->_getDataHeader($slug)))
  203.                 $datas['header'] = $this->_getDataHeader($slug)[0]->datas;
  204.             $menu $menuRepository->findOneBy(['name' => 'main_menu']);
  205.             $datas['menus'] = json_decode($menu->getJsonData());
  206.             $datas['metas'] = [];
  207.             $datas['footer'] = $footerRepository->find(1);
  208.             foreach ($datas['blocks'] as $key => $dt) {
  209.                 if (isset($dt->datas) && array_key_exists('meta_title'$dt->datas)) {
  210.                     $datas['metas'] = $dt->datas;
  211.                 } else {
  212.                     $sub = [];
  213.                     if (true == $dt->getBlock()->getSubBlock()) {
  214.                         foreach ($dt->getPageBlock() as $children) {
  215.                             $sub[] = $children->json;
  216.                         }
  217.                         $dt->datas['slider'] = $sub;
  218.                     }
  219.                     $template $dt->getBlock()->getPath();
  220.                     $array['blocks'][] = ['data' => $dt->datas'template' => $template];
  221.                 }
  222.             }
  223.             unset($datas['blocks']);
  224.             $datas array_merge($datas$array);
  225.         } else {
  226.             if (!in_array($slug$this->valid_route)) {
  227.                 $slug '404';
  228.             }
  229.             $form '';
  230.             $is_numeric true;
  231.             if ('' != $id) {
  232.                 if (!is_numeric($id)) {
  233.                     $id str_replace('-''_'$id);
  234.                     $is_numeric false;
  235.                 }
  236.             }
  237.             $datas $this->_page($slug$id);
  238.             if (!$is_numeric) {
  239.                 $id '';
  240.             }
  241.             $datas['slug'] = $slug;
  242.             if (!is_null($id)) {
  243.                 $datas['id'] = $id;
  244.             }
  245.         }
  246.         if (array_key_exists($slug$this->page_form)) {
  247.             $classe $this->page_form[$slug][0];
  248.             if ($classe === 'special-offers') {
  249.                 $classe 'dayroom';
  250.             }
  251.             $model 'App\\Entity\\'.ucfirst($classe);
  252.             $model = new $model();
  253.             $form $this->createForm($this->classe[$slug], $model,
  254.                 [
  255.                     'action' => $this->generateUrl('ajax_form'),
  256.                     'method' => 'POST',
  257.                     'slug' => $slug ?? null,
  258.                 ]
  259.             );
  260.             $datas['form'] = $form->createView();
  261.         }
  262.         //newsletter
  263.        /* $newsLetter = new NewsLetter();
  264.         $newsletter_form = $this->createForm(NewsletterType::class, $newsLetter,
  265.             [
  266.                 'action' => $this->generateUrl('ajax_form'),
  267.                 'method' => 'POST',
  268.             ]
  269.         );
  270.         $datas['newsletter_form'] = $newsletter_form->createView();
  271.         if (!empty($page)) {
  272.             $hasNewsletter = $page[0]->getHasNewsletter();
  273.             $datas['has_newsletter'] = $hasNewsletter;
  274.         }*/
  275.         $datas['img_preload'] = $imgPreloads;
  276.         // FOR POSTS
  277.         $posts $this->pageRepository->getArticles();
  278.         $arrayPostsSix = [];
  279.         $arrayPostsSeven = [];
  280.         foreach ($posts as $post) {
  281.             foreach ($post->getPageBlock() as $pageBlock) {
  282.                 $dataDecoded json_decode($pageBlock->getJsonData());
  283.                 $childrens = [];
  284.                 foreach ($pageBlock->getPageBlock() as $children) {
  285.                     $childrens[] = json_decode($children->getJsonData());
  286.                 }
  287.                 if (isset($dataDecoded->published_at)) {
  288.                     $datePost = new \DateTime($dataDecoded->published_at);
  289.                 } else {
  290.                     $datePost = new \DateTime();
  291.                 }
  292.                 $langUs null;
  293.                 if ($datas['locale'] === 'en') {
  294.                     $langUs 'us';
  295.                 }
  296.                 if ($datas['locale'] === $dataDecoded->lang_block || $dataDecoded->lang_block === $langUs) {
  297.                     if (isset($dataDecoded->dispo_page_6)) {
  298.                         $arrayPostsSix[$dataDecoded->block_page_id] = [
  299.                             'title' => $dataDecoded->title,
  300.                             'subtitle' => $dataDecoded->title,
  301.                             'contents' => $childrens,
  302.                             'published_at' => $datePost,
  303.                             'image' => $dataDecoded->image[0],
  304.                         ];
  305.                     }
  306.                     if (isset($dataDecoded->dispo_page_7)) {
  307.                         $arrayPostsSeven[$dataDecoded->block_page_id] = [
  308.                             'title' => $dataDecoded->title,
  309.                             'subtitle' => $dataDecoded->title,
  310.                             'contents' => $childrens,
  311.                             'published_at' => $datePost,
  312.                             'image' => $dataDecoded->image[0],
  313.                         ];
  314.                     }
  315.                 }
  316.             }
  317.         }
  318.         $news $newsRepository->findAll();
  319.         $arrayNewsSix = [];
  320.         $arrayNewsSeven = [];
  321.         foreach ($news as $new) {
  322.             if ($new->getIsSix()) {
  323.                 $arrayNewsSix[] = $new;
  324.             }
  325.             if ($new->getIsSeven()) {
  326.                 $arrayNewsSeven[] = $new;
  327.             }
  328.         }
  329.         
  330.         $datas['posts']['six'] = $arrayNewsSix;
  331.         $datas['posts']['seven'] = $arrayNewsSeven;
  332.         
  333.         // Menus / Plats
  334.         $datas['plats']['six'] = $menuCardRepository->findBy(['isSeven' => 1]);
  335.         /*
  336.         $parrayPlatsSixFr = [];
  337.         foreach ($platsSixFr as $platSixFr) {
  338.             $parrayPlatsSixFr[] = [
  339.                 'id' => $platSixFr->getId(),
  340.                 'name' => $platSixFr->getName(),
  341.                 'isSix' => $platSixFr->getIsSix(),
  342.                 'isSeven' => $platSixFr->getIsSeven()
  343.             ];
  344.             for ($i = 1; $i <= 10; $i++) {
  345.                 $parrayPlatsSixFr[] = [
  346.                     'namePlat'.$i => $platSixFr->getNamePlat1()
  347.                 ];
  348.             }
  349.             dd($parrayPlatsSixFr);
  350.         }*/
  351.         $datas['plats']['seven'] = $menuCardRepository->findBy(['isSix' => 1]);
  352.         $arraySevent = [];
  353.         foreach ($datas['plats']['seven'] as $platSeven => $value) {
  354.             if ($value->getName() === 'TOUT POUR DEUX') {
  355.                 $newPlat $value;
  356.                 array_unshift($arraySevent$newPlat);
  357.                 unset($datas['plats']['seven'][$platSeven]);
  358.             }
  359.             $arraySevent[] = $value;
  360.         }
  361.         dd($arraySevent);
  362.         return $this->render('home/page/_generic-page.html.twig'$datas);
  363.     }
  364.     /**
  365.      * search  datas.
  366.      *
  367.      * @return array
  368.      */
  369.     protected function _page($page$id '')
  370.     {
  371.         return ['blocks' => hlp\Datas::getStructure($page$id)];
  372.     }
  373.     /**
  374.      * @param $page
  375.      */
  376.     protected function _getDataPage(string $slugstring $localeint $pageId)
  377.     {
  378.         $lang $this->langService->getCodeLanguage($locale);
  379.         $contents $this->contentRepository->getLangExist($lang$pageId);
  380.         //$page_blocks = $this->getDoctrine()->getRepository(PageBlock::class)->getbyNameByBlockType($slug, 2);
  381.         $arrayPageBlocks = [];
  382.         foreach ($contents as $content) {
  383.             $json $content->getJson();
  384.             $lg $content->getLanguage();
  385.             if($lg == (int)$lang) {
  386.                 if ($content->getPageBlock()) {
  387.                     $content->getPageBlock()->setJsonData($json);
  388.                     $arrayPageBlocks[$content->getPageBlock()->getItemOrder()] = $content->getPageBlock();
  389.                 } else {
  390.                     $content->getBlockChildren()->setJsonData($json);
  391.                     $arrayPageBlocks[$content->getBlockChildren()->getPageBlock()->getItemOrder()] = $content->getBlockChildren()->getPageBlock();
  392.                 }
  393.             }
  394.         }
  395.         ksort($arrayPageBlocks);
  396.         return $this->_getData($arrayPageBlocks);
  397.     }
  398.     protected function _getDataSite(int $locale null)
  399.     {
  400.         $page_blocks $this->getDoctrine()->getRepository(PageBlock::class)->getByPageNameBy('site'$locale);
  401.         return $this->_getData($page_blocks);
  402.     }
  403.     protected function _getDataHeader($slug)
  404.     {
  405.         $page_blocks $this->getDoctrine()->getRepository(PageBlock::class)->getbyNameByBlockType($slug1);
  406.         return $this->_getData($page_blocks);
  407.     }
  408.     protected function _getDataFooter($slug)
  409.     {
  410.         $page_blocks $this->getDoctrine()->getRepository(PageBlock::class)->getbyNameByBlockType($slug5);
  411.         return $this->_getData($page_blocks);
  412.     }
  413.     protected function _getDayliMessage()
  414.     {
  415.         return $this->getDoctrine()->getRepository(Block::class)->findByType(6);
  416.     }
  417.     /*
  418.      * 03/11/2021 update Manage Preview for draft
  419.      */
  420.     protected function _getData($page_blocks)
  421.     {
  422.         $request Request::createFromGlobals();
  423.         foreach ($page_blocks as $key => $pb) {
  424.             $jsonDatas $request->get('preview') ? $pb->getJsonDataPreview() : $pb->getJsonData();
  425.             $pb->datas json_decode($jsonDatas ?? $pb->getJsonData(), true);
  426.             if (true === $pb->getBlock()->getSubBlock()) {
  427.                 foreach ($pb->getPageBlock() as $p_b) {
  428.                     $p_b->json json_decode($p_b->getjsonData(), true);
  429.                 }
  430.             }
  431.         }
  432.         return $page_blocks;
  433.     }
  434.     /**
  435.      * @Route("/offer/send-form", name="front_ajax_valid_offer", methods={"POST"})
  436.      */
  437.     public function validOfferForm(Request $requestSaferpayService $saferpayServiceMail $mail)
  438.     {
  439.         $datas $request->request->all();
  440.         if (isset($datas['gift']) && $datas['gift'] && $datas['gift']['amount']) {
  441.             $link $saferpayService->getLink($datas['gift']['amount']);
  442.             $mail->sendOffer($datas['gift']);
  443.             return $this->json([
  444.                 'status' => 'ok',
  445.                 'message' => $link,
  446.             ], Response::HTTP_OK);
  447.         } elseif (isset($datas['dayroom'])) {
  448.             $mail->sendDayroom($datas['dayroom']);
  449.             return $this->json( [
  450.                 'slug' => 'special-offers',
  451.                 'type' => 2
  452.             ]);
  453.         }
  454.     }
  455.     /**
  456.      * @Route("/send/newsletter", name="index_home_send_newsletter")
  457.      */
  458.     public function sendNewsletter(Request $requestMail $mail)
  459.     {
  460.         dd($request->request->all());
  461.     }
  462.     public function redirectOldUrl(string $slug null)
  463.     {
  464.         $currentSlug 'home';
  465.         switch ($slug) {
  466.             case 'st_sylvestre_2021':
  467.                 $currentSlug 'saint-sylvestre';
  468.                 break;
  469.             case 'offres-sejours':
  470.                 $currentSlug 'offre-promotionnelle-en-chambre';
  471.                 break;
  472.             case 'noel-2021':
  473.                 $currentSlug 'noel';
  474.                 break;
  475.             case 'anniversaires':
  476.                 $currentSlug 'birthday';
  477.                 break;
  478.             case 'appartements_villa':
  479.                 $currentSlug 'la-villa';
  480.                 break;
  481.             case 'bar-lounge':
  482.                 $currentSlug 'lounge-bar';
  483.                 break;
  484.             case 'beaute_spa_fr':
  485.                 $currentSlug 'wellness-area';
  486.                 break;
  487.             case 'biketours-2':
  488.                 $currentSlug 'bed-bike';
  489.                 break;
  490.             case 'bons-cadeaux':
  491.                 $currentSlug 'gift-vouchers';
  492.                 break;
  493.             case 'brochures':
  494.                 $currentSlug 'brochures';
  495.                 break;
  496.             case 'carte_restaurant':
  497.                 $currentSlug 'la-veranda-restaurant';
  498.                 break;
  499.             case 'chambre-comfort':
  500.                 $currentSlug 'the-comfort-room';
  501.                 break;
  502.             case 'chambres':
  503.                 $currentSlug 'rooms';
  504.                 break;
  505.             case 'cocktail-happy-hours':
  506.                 $currentSlug 'lounge-bar';
  507.                 break;
  508.             case 'conferences':
  509.                 $currentSlug 'conferences';
  510.                 break;
  511.             case 'contactez-nous':
  512.                 $currentSlug 'contact';
  513.                 break;
  514.             case 'detente-loisirs-fr':
  515.                 $currentSlug 'spa-and-leisure';
  516.                 break;
  517.             case 'evenements':
  518.                 $currentSlug 'events';
  519.                 break;
  520.             case 'fitness_fr':
  521.                 $currentSlug 'leisure-and-sports';
  522.                 break;
  523.             case 'grandes-salles':
  524.                 $currentSlug 'big-room';
  525.                 break;
  526.             case 'hotel_fr':
  527.                 $currentSlug 'about-us';
  528.                 break;
  529.             case 'jeu-de-quilles':
  530.                 $currentSlug 'bowling-room';
  531.                 break;
  532.             case 'les-salles':
  533.                 $currentSlug 'wedding';
  534.                 break;
  535.             case 'location-de-salles':
  536.                 $currentSlug 'our-reception-rooms';
  537.                 break;
  538.             case 'mariages':
  539.                 $currentSlug 'wedding';
  540.                 break;
  541.             case 'package-decouverte':
  542.                 $currentSlug 'package-decouverte';
  543.                 break;
  544.             case 'package-romantique':
  545.                 $currentSlug 'package-romantique';
  546.                 break;
  547.             case 'package-sportif':
  548.                 $currentSlug 'package-sportif';
  549.                 break;
  550.             case 'package_gastronomique':
  551.                 $currentSlug 'package-gastronomique';
  552.                 break;
  553.             case 'package_wellness':
  554.                 $currentSlug 'wellness-area';
  555.                 break;
  556.             case 'petites-salles':
  557.                 $currentSlug 'small-rooms';
  558.                 break;
  559.             case 'quilles':
  560.                 $currentSlug 'bowling-room';
  561.                 break;
  562.             case 'pour-vous-faire-une-idee':
  563.                 $currentSlug 'wedding';
  564.                 break;
  565.             case 'rallye':
  566.                 $currentSlug 'rallye';
  567.                 break;
  568.             case 'randonnee':
  569.                 $currentSlug 'leisure-and-sports';
  570.                 break;
  571.             case 'relaxation-leisure':
  572.                 $currentSlug 'spa-and-leisure';
  573.                 break;
  574.             case 'relaxation-fitness':
  575.                 $currentSlug 'wellness-area';
  576.                 break;
  577.             case 'restaurant-la-veranda':
  578.                 $currentSlug 'la-veranda-restaurant';
  579.                 break;
  580.             case 'restaurant-la-veranda-2':
  581.                 $currentSlug 'la-veranda-restaurant';
  582.                 break;
  583.             case 'restaurant_bar':
  584.                 $currentSlug 'restaurant-and-bar';
  585.                 break;
  586.             case 'salles-de-taille-moyenne':
  587.                 $currentSlug 'medium-rooms';
  588.                 break;
  589.             case 'st-valentin':
  590.                 $currentSlug 'st-valentin';
  591.                 break;
  592.             case 'appartements':
  593.                 $currentSlug 'apartements';
  594.                 break;
  595.             case 'tres-grande-salle':
  596.                 $currentSlug 'big-room';
  597.                 break;
  598.             case 'very-large-room':
  599.                 $currentSlug 'events';
  600.                 break;
  601.             case 'environnement':
  602.                 $currentSlug 'environnement';
  603.                 break;
  604.             case 'suggestions-du-chef':
  605.                 $currentSlug 'suggestions-du-mois';
  606.                 break;
  607.             case 'guide-client':
  608.                 $currentSlug 'guide-client';
  609.                 break;
  610. //yaz adds
  611.             case 'nuit-romantique-parc-hotel-alvisse':
  612.                 $currentSlug 'package-romantique';
  613.                 break;
  614.             case 'offre-promotionnelle-en-chambre':
  615.                 $currentSlug 'special-offers';
  616.                 break;
  617.             case 'menu-de-mariage':
  618.                 $currentSlug 'wedding';
  619.                 break;
  620.             case 'gdpr_fr':
  621.                 $currentSlug 'gdpr';
  622.                 break;
  623.             case 'menu-du-dimanche':
  624.                 return $this->redirect('/uploads/TV-Channels-61d31b37718dc.pdf');
  625.                 break;
  626.             case 'TV-Channels.pdf':
  627.                 return $this->redirect('/uploads/TV-Channels-61d31b37718dc.pdf');
  628.                 break;
  629.             case 'carte_menu_veranda_current.pdf':
  630.                 return $this->redirect('/uploads/carte-menu-veranda-current-2-61bb781fea955.pdf');
  631.                 break;
  632.             case 'charte-de-qualite-environnementale':
  633.                 return $this->redirect('/uploads/Charte-Ecolo-2021-pour-site-61951bde89894.pdf');
  634.                 break;
  635.         }
  636.         return $this->redirectToRoute('app_page', ['slug' => $currentSlug]);
  637.     }
  638.     protected function imgPreload(){
  639.         $path =  __DIR__ .'/../../../public/build/images';
  640.         $files scandir($path);
  641.         array_shift($files);
  642.         array_shift($files);
  643.         $array= array();
  644.         foreach( $files as $file){
  645.           if((int)substr($file,0,1) == || (int)substr($file,0,1) == 7){
  646.               $array[] = $file;
  647.           }
  648.        }
  649.        return $array;
  650.     }
  651. }