src/Aviatur/SearchBundle/Controller/HotelController.php line 24

Open in your IDE?
  1. <?php
  2. namespace Aviatur\SearchBundle\Controller;
  3. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  4. use Symfony\Component\HttpFoundation\Request;
  5. use Doctrine\Persistence\ManagerRegistry;
  6. use Symfony\Component\HttpFoundation\Session\SessionInterface;
  7. use Aviatur\TwigBundle\Services\TwigFolder;
  8. use Aviatur\GeneralBundle\Services\AviaturChangeCoin;
  9. use Aviatur\HotelBundle\Services\SearchHotelCookie;
  10. class HotelController extends AbstractController {
  11.     public function indexAction(SessionInterface $sessionSearchHotelCookie $searchHotelCookieManagerRegistry $registryTwigFolder $twigFolderAviaturChangeCoin $aviaturChangeCoinService) {
  12.         $cookieLastSearch $searchHotelCookie->searchHotelCookie();
  13.         $em $registry->getManager();
  14.         $agencyId $session->get('agencyId');
  15.         $agencyInfo $em->getRepository(\Aviatur\AgencyBundle\Entity\Agency::class)->find($agencyId);
  16.         $validateChange $aviaturChangeCoinService->validateChangeCoin('hotel');
  17.         $promoType '';
  18.         $promoTypeMain '-main';
  19.         $promoTypeRecommendations '-recommendations';
  20.         if($session->has('whitemark') === true){
  21.             $promoType '_' $session->get('whitemark');
  22.         }
  23.         $agenciesExcluded = ['Aviatur S.A.S.''Aviatur S.A.S. Metasearch''Aval''Aviacaribbean''Aviatur - WorldPay''Aviatur Carnaval BAQ MB''Aviatur Colombia''Aviatur Colombia EN''Aviatur Colombia ES''Aviatur Ecoturismo''Aviatur Kioskos''Aviatur Metasearch Mexico''Aviatur Mexico''Aviatur Mexico QA''Aviatur Mobile''Aviatur PinBus''Aviatur - Pruebas''BabyMarket''Buceo Colombia''Cielos Abiertos''Corona Aviatur''Directo a la Playa''Experiencias Jet-Set''Great Vibes''Landing visa''Lufthansa City Center''Megatours''Octopus Agents''Octopus Marcas Blancas''Octopus Travel QA''Panturismo Marcas Blancas''Parque Tayrona''Representaciones Pasabordo WM''Rokatur Marcas Blancas''RollingTrips''Star World''Swissandina''Takentours''TerraNet Marcas Blancas''Turiscol Ltda.''Aviatur S.A.''Union de Representaciones''Union de Representaciones - Whitemark''Virtuoso''Claro''WeCare''Octopus Travel Ltda.''Aviatur Site''Aviatur S.A.S. - BBVA''Aviatur Welcome Beds'];
  24.         $agencyPromoId 172;
  25.         $validationAgencyFolder false;
  26.         foreach ($agenciesExcluded as $agencyExcluded) {
  27.             if ($agencyExcluded === $agencyInfo->getName()) {
  28.                 $agencyPromoId $session->get('agencyId');
  29.                 $validationAgencyFolder true;
  30.             }
  31.         }
  32.         $homePromoList $em->getRepository(\Aviatur\EditionBundle\Entity\HomePromoList::class)->findOneBy(['type' => '__hoteles'.$promoType'agency' => $agencyPromoId]);
  33.         if ($homePromoList != null) {
  34.             $homePromoTitle $homePromoList->getTitle();
  35.             $homePromoSubtitle $homePromoList->getSubtitle();
  36.             $homePromos $em->getRepository(\Aviatur\EditionBundle\Entity\HomePromo::class)->findByHomePromoList($homePromoList, ['date' => 'DESC']);
  37.         } else {
  38.             $homePromoTitle null;
  39.             $homePromoSubtitle null;
  40.             $homePromos = [];
  41.         }
  42.         $homePromoListMain $em->getRepository(\Aviatur\EditionBundle\Entity\HomePromoList::class)->findOneBy(["type" => '__hoteles'.$promoTypeMain"agency" => $agencyPromoId]);
  43.         if ($homePromoListMain != null) {
  44.             $homePromoMainTitle $homePromoListMain->getTitle();
  45.             $homePromoMainSubtitle $homePromoListMain->getSubtitle();
  46.             $homePromosMain $em->getRepository(\Aviatur\EditionBundle\Entity\HomePromo::class)->findByHomePromoList($homePromoListMain, ['date' => 'DESC']);
  47.         } else {
  48.             $homePromoMainTitle null;
  49.             $homePromoMainSubtitle null;
  50.             $homePromosMain = [];
  51.         }
  52.         $homePromoListRecommendations $em->getRepository(\Aviatur\EditionBundle\Entity\HomePromoList::class)->findOneBy(["type" => '__hoteles'.$promoTypeRecommendations"agency" => $agencyPromoId]);
  53.         if ($homePromoListRecommendations != null) {
  54.             $homePromoRecommendationsTitle $homePromoListRecommendations->getTitle();
  55.             $homePromoRecommendationsSubtitle $homePromoListRecommendations->getSubtitle();
  56.             $homePromosRecommendations $em->getRepository(\Aviatur\EditionBundle\Entity\HomePromo::class)->findByHomePromoList($homePromoListRecommendations, ['date' => 'DESC']);
  57.         } else {
  58.             $homePromoRecommendationsTitle null;
  59.             $homePromoRecommendationsSubtitle null;
  60.             $homePromosRecommendations = [];
  61.         }
  62.         $booking false;
  63.         $configHotelAgency $em->getRepository(\Aviatur\HotelBundle\Entity\ConfigHotelAgency::class)->findBy(['agency' => $agencyId]);
  64.         foreach ($configHotelAgency as $agency) {
  65.             if ($agency->getType() == 'B') {
  66.                 $booking true;
  67.                 $domain $agency->getWsUrl();
  68.             }
  69.         }
  70.         if ($session->has('operatorId')) {
  71.             $operatorId $session->get('operatorId');
  72.         }
  73.         $isFront $session->has('operatorId');
  74.         $pixelInfo = [];
  75.         $agencyFolder $twigFolder->twigFlux();
  76.         return $this->render($twigFolder->twigExists('@AviaturTwig/' $agencyFolder '/Search/Hotel/hotelSearch_index.html.twig'), ['pixel_info' => $pixelInfo'booking' => $booking'domain' => $domain ?? null'agencyId' => $agencyId ?? null'operatorId' => $operatorId ?? null'cookieLastSearch' => $cookieLastSearch'homePromos' => $homePromos'titlePromo' => $homePromoTitle'subtitlePromo' => $homePromoSubtitle'promoType' => '__hoteles''homePromosMain' => $homePromosMain'titlePromoMain' => $homePromoMainTitle'subtitlePromoMain' => $homePromoMainSubtitle'promoTypeMain' => '__hoteles'.$promoTypeMain'homePromosRecommendations' => $homePromosRecommendations'titlePromoRecommendations' => $homePromoRecommendationsTitle'subtitlePromoRecommendations' => $homePromoRecommendationsSubtitle'promoTypeRecommendations' => '__hoteles'.$promoTypeRecommendations'validationAgencyFolder' => $validationAgencyFolder]);
  77.     }
  78. }