<?php
namespace App\Controller;
use App\Api\Helper\SeoHelper;
use App\Helper\NavigationHelper;
use App\Api\ApiClient;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Contracts\Translation\TranslatorInterface;
use Symfony\Component\HttpFoundation\Request;
use App\Api\Helper\TemoignageHelper;
use App\Api\Helper\PaysHelper;
use App\Api\Helper\ContentHelper;
class DestinationController extends AbstractController
{
public function show($slug, Request $request, ApiClient $apiClient,
TranslatorInterface $translator, PaysHelper $paysHelper,
SeoHelper $seoHelper,
NavigationHelper $navigationHelper,
TemoignageHelper $temoignageHelper)
{
$page = $request->query->get('page', 1);
$debug = $this->getParameter('kernel.debug');
$locale = $request->getLocale();
$entity = 'pays';
//dd($request->getSession('date'));
$params = [];
$params['arrivee'] = $request->query->get('arrival', "");
$params['duree'] = $request->query->get('duration_range', "");
$params['categorie'] = $request->query->get('category', "");
if ($params['arrivee'] != "" ) {
$request->getSession()->set('date', $params['arrivee']);
}
if($locale != "fr" ){
$arrRealSlug = [
"thailand" => "thailande",
"myanmar" => "birmanie-myanmar",
"sri-lanka" => "sri-lanka",
"cambodia" => "cambodge",
"indonesia" => "indonesie",
"laos" => "laos"
];
if(in_array($slug,array_keys($arrRealSlug))){
$slug = $arrRealSlug[$slug];
}
}
try {
$pays = $paysHelper->getOneBySlug($slug);
} catch (ClientException $e) {
if ($debug) {
$viewPath = "api/error/notfound.html.twig";
return $this->render($viewPath, array("message" => sprintf("Erreur API : %s", $this->getParameter('api.base_uri') . $e->getRequest()->getRequestTarget())));
}
}
try {
$seo = $seoHelper->getSeoBySlug($entity, $slug,$request->getLocale());
} catch (ClientException $e) {
if ($debug) {
$viewPath = "api/error/notfound.html.twig";
return $this->render($viewPath, array("message" => sprintf("Erreur API : %s", $this->getParameter('api.base_uri') . $e->getRequest()->getRequestTarget())));
}
}
/*
$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']);
$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']);
*/
/* Pays */
$countries = $paysHelper->getAllTranslated($locale);
$limit = $request->query->get('limit', 999);
$sort = $request->query->get('sort', 'c.date_crea');
$direction = $request->query->get('direction', 'ASC');
$agentTours = $request->query->get('agentTours', true);
$zone = "blog";
//($sort = null, $direction = null, $limit = null, $offset = null,$voyage = null, $reviewId = null, $paysId) {
$arrTemoignages = [];
if($pays && !empty($pays)){
$arrTemoignages = $temoignageHelper->getAllForPageList(null,null,999,null,null,null,intval($pays['pays_id']),$locale);
}
try {
$navigation = $navigationHelper->getNavigation();
}
catch(\Exception $e) {
}
return $this->render('destination/show.html.twig', [
'temoignages' => $arrTemoignages,
'countries' => $countries,
'seo' => $seo,
'slug' => $slug,
'page' => $page,
'pays' => $pays,
'params' => $params,
'navigation' => $navigation
]);
}
}