src/Controller/DestinationController.php line 80

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Api\Helper\SeoHelper
  4. use App\Helper\NavigationHelper;
  5. use App\Api\ApiClient
  6. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  7. use Symfony\Component\Routing\Annotation\Route;
  8. use Symfony\Contracts\Translation\TranslatorInterface;
  9. use Symfony\Component\HttpFoundation\Request;
  10. use App\Api\Helper\TemoignageHelper;
  11. use App\Api\Helper\PaysHelper;
  12. use App\Api\Helper\ContentHelper;
  13. class DestinationController extends AbstractController
  14. {
  15.     public function show($slugRequest $requestApiClient $apiClient,
  16.      TranslatorInterface $translatorPaysHelper $paysHelper,
  17.      SeoHelper $seoHelper,
  18.      NavigationHelper $navigationHelper,
  19.      TemoignageHelper $temoignageHelper)
  20.     {
  21.         $page $request->query->get('page'1);
  22.         
  23.         $debug $this->getParameter('kernel.debug');
  24.         $locale $request->getLocale();
  25.         $entity 'pays';
  26.         
  27.         //dd($request->getSession('date'));
  28.         $params = [];
  29.         $params['arrivee'] = $request->query->get('arrival'"");
  30.         $params['duree'] = $request->query->get('duration_range'"");
  31.         $params['categorie'] = $request->query->get('category'"");
  32.         
  33.         if ($params['arrivee'] != "" ) {
  34.             $request->getSession()->set('date'$params['arrivee']);
  35.         }
  36.         if($locale != "fr"  ){
  37.             $arrRealSlug = [
  38.                 "thailand" => "thailande",
  39.                 "myanmar" => "birmanie-myanmar",
  40.                 "sri-lanka" => "sri-lanka",
  41.                 "cambodia" => "cambodge",
  42.                 "indonesia" => "indonesie",
  43.                 "laos" => "laos"
  44.             ];
  45.             if(in_array($slug,array_keys($arrRealSlug))){
  46.                 $slug $arrRealSlug[$slug];
  47.             }
  48.         } 
  49.       
  50.         try {
  51.            
  52.             $pays $paysHelper->getOneBySlug($slug);
  53.         } catch (ClientException $e) {
  54.             if ($debug) {
  55.                 $viewPath "api/error/notfound.html.twig";
  56.                 return $this->render($viewPath, array("message" => sprintf("Erreur API : %s"$this->getParameter('api.base_uri') . $e->getRequest()->getRequestTarget())));
  57.             }
  58.         }
  59.         try {
  60.             $seo $seoHelper->getSeoBySlug($entity$slug,$request->getLocale());
  61.         } catch (ClientException $e) {
  62.             if ($debug) {
  63.                 $viewPath "api/error/notfound.html.twig";
  64.                 return $this->render($viewPath, array("message" => sprintf("Erreur API : %s"$this->getParameter('api.base_uri') . $e->getRequest()->getRequestTarget())));
  65.             }
  66.         }
  67.         /*
  68.         $seo['meta_title'] = $seo['meta_title']  ?? sprintf("Voyages %s circuits plongée, croisières, en famille, entre amis et voyages de noces", $pays['pays_libelle']);
  69.         $seo['meta_description'] = $seo['meta_description']  ?? sprintf("Voyages %s circuits plongée, croisières, en famille, entre amis et voyages de noces : vos vacances dans les pays d'Asie du Sud-Est avec le spécialiste des voyages sur-mesure", $pays['pays_libelle']);
  70.         */
  71.         /* Pays */
  72.         $countries =  $paysHelper->getAllTranslated($locale);
  73.         $limit $request->query->get('limit'999); 
  74.         $sort $request->query->get('sort''c.date_crea'); 
  75.         $direction $request->query->get('direction''ASC'); 
  76.         $agentTours $request->query->get('agentTours'true); 
  77.         $zone "blog"
  78.         //($sort = null, $direction = null, $limit = null, $offset = null,$voyage = null, $reviewId = null, $paysId) {
  79.         $arrTemoignages = [];
  80.         if($pays && !empty($pays)){
  81.             $arrTemoignages $temoignageHelper->getAllForPageList(null,null,999,null,null,null,intval($pays['pays_id']),$locale);
  82.         }
  83.         try {
  84.             $navigation $navigationHelper->getNavigation();
  85.         }
  86.         catch(\Exception $e) {
  87.         }
  88.         
  89.         return $this->render('destination/show.html.twig', [
  90.             'temoignages' => $arrTemoignages,
  91.             'countries' => $countries,
  92.             'seo' => $seo,
  93.             'slug' => $slug,
  94.             'page' => $page,
  95.             'pays' => $pays,
  96.             'params' => $params,
  97.             'navigation' => $navigation
  98.         ]);
  99.     }
  100. }