src/Aviatur/SearchBundle/Controller/PackageController.php line 14

Open in your IDE?
  1. <?php
  2. namespace Aviatur\SearchBundle\Controller;
  3. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  4. use Doctrine\Persistence\ManagerRegistry;
  5. use Symfony\Component\HttpFoundation\Session\SessionInterface;
  6. use Aviatur\TwigBundle\Services\TwigFolder;
  7. use Aviatur\GeneralBundle\Services\AviaturChangeCoin;
  8. use Aviatur\PackageBundle\Services\SearchPackageCookie;
  9. class PackageController extends AbstractController {
  10.     public function indexAction(SessionInterface $sessionSearchPackageCookie $searchPackageCookieManagerRegistry $registryTwigFolder $twigFolderAviaturChangeCoin $aviaturChangeCoinService) {
  11.         $cookieLastSearch $searchPackageCookie->searchPackageCookie();
  12.         $em $registry->getManager();
  13.         $agencyId $session->get('agencyId');
  14.         $validateChange $aviaturChangeCoinService->validateChangeCoin('mpt');
  15.         $agency $em->getRepository(\Aviatur\AgencyBundle\Entity\Agency::class)->find($agencyId);
  16.         $promoType '';
  17.         $promoTypeMain '-main';
  18.         $promoTypeMes 'paquetes-mes';
  19.         $promoTypeRecommendations '-recommendations';
  20.         $promoTypeFaq '-faq';
  21.         if($session->has('whitemark') === true){
  22.             $promoType '_' $session->get('whitemark');
  23.         }
  24.         $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'];
  25.         $agencyPromoId 172;
  26.         $validationAgencyFolder false;
  27.         foreach ($agenciesExcluded as $agencyExcluded) {
  28.             if ($agencyExcluded === $agency->getName()) {
  29.                 $agencyPromoId $session->get('agencyId');
  30.                 $validationAgencyFolder true;
  31.             }
  32.         }
  33.         $homePromoList $em->getRepository(\Aviatur\EditionBundle\Entity\HomePromoList::class)->findOneBy(['type' => '__paquetes'.$promoType'agency' => $agencyPromoId'online' => true]);
  34.         if ($homePromoList != null) {
  35.             $homePromoTitle $homePromoList->getTitle();
  36.             $homePromoSubtitle $homePromoList->getSubtitle();
  37.             $homePromos $em->getRepository(\Aviatur\EditionBundle\Entity\HomePromo::class)->findByHomePromoList($homePromoList, ['date' => 'DESC']);
  38.         } else {
  39.             $homePromoTitle null;
  40.             $homePromoSubtitle null;
  41.             $homePromos = [];
  42.         }
  43.         $homePromoListMain $em->getRepository(\Aviatur\EditionBundle\Entity\HomePromoList::class)->findOneBy(["type" => '__paquetes'.$promoTypeMain"agency" => $agencyPromoId"online" => true]);
  44.         if ($homePromoListMain != null) {
  45.             $homePromoTitleMain $homePromoListMain->getTitle();
  46.             $homePromoSubtitleMain $homePromoListMain->getSubtitle();
  47.             $homePromosMain $em->getRepository(\Aviatur\EditionBundle\Entity\HomePromo::class)->findByHomePromoList($homePromoListMain, ['date' => 'DESC']);
  48.         }else {
  49.             $homePromoTitleMain null;
  50.             $homePromoSubtitleMain null;
  51.             $homePromosMain = [];
  52.         }
  53.         $homePromoListMes $em->getRepository(\Aviatur\EditionBundle\Entity\HomePromoList::class)->findOneBy(["type" => $promoTypeMes"agency" => $agencyPromoId"online" => true]);
  54.         if ($homePromoListMes != null) {
  55.             $homePromoTitleMes $homePromoListMes->getTitle();
  56.             $homePromoSubtitleMes $homePromoListMes->getSubtitle();
  57.             $homePromosMes $em->getRepository(\Aviatur\EditionBundle\Entity\HomePromo::class)->findByHomePromoList($homePromoListMes, ['date' => 'DESC']);
  58.         }else {
  59.             $homePromoTitleMes null;
  60.             $homePromoSubtitleMes null;
  61.             $homePromosMes = [];
  62.         }
  63.         $homePromoListRecommendations $em->getRepository(\Aviatur\EditionBundle\Entity\HomePromoList::class)->findOneBy(["type" => '__paquetes'.$promoTypeRecommendations"agency" => $agencyPromoId"online" => true]);
  64.         if ($homePromoListRecommendations != null) {
  65.             $homePromoRecommendationsTitle $homePromoListRecommendations->getTitle();
  66.             $homePromoRecommendationsSubtitle $homePromoListRecommendations->getSubtitle();
  67.             $homePromosRecommendations $em->getRepository(\Aviatur\EditionBundle\Entity\HomePromo::class)->findByHomePromoList($homePromoListRecommendations, ['date' => 'DESC']);
  68.         } else {
  69.             $homePromoRecommendationsTitle null;
  70.             $homePromoRecommendationsSubtitle null;
  71.             $homePromosRecommendations = [];
  72.         }
  73.         $homePromoListFaq $em->getRepository(\Aviatur\EditionBundle\Entity\HomePromoList::class)->findOneBy(["type" => '__paquetes'.$promoTypeFaq"agency" => $agencyPromoId"online" => true]);
  74.         if ($homePromoListFaq != null) {
  75.             $homePromoFaqTitle $homePromoListFaq->getTitle();
  76.             $homePromoFaqSubtitle $homePromoListFaq->getSubtitle();
  77.             $homePromosFaq $em->getRepository(\Aviatur\EditionBundle\Entity\HomePromo::class)->findByHomePromoList($homePromoListFaq, ['date' => 'DESC']);
  78.         } else {
  79.             $homePromoFaqTitle null;
  80.             $homePromoFaqSubtitle null;
  81.             $homePromosFaq = [];
  82.         }
  83.         //Validar si estan las promos en false(switch distinto a false) 
  84.         $homePromos array_filter($homePromos, function($promo) {
  85.             return $promo->getSwitch() != false;
  86.         });
  87.         $homePromosMain array_filter($homePromosMain, function($promo) {
  88.             return $promo->getSwitch() != false;
  89.         });
  90.         $homePromosMes array_filter($homePromosMes, function($promo) {
  91.             return $promo->getSwitch() != false;
  92.         });
  93.         $homePromosRecommendations array_filter($homePromosRecommendations, function($promo) {
  94.             return $promo->getSwitch() != false;
  95.         });
  96.         $homePromosFaq array_filter($homePromosFaq, function($promo) {
  97.             return $promo->getSwitch() != false;
  98.         });
  99.         $agencyFolder $twigFolder->twigFlux();
  100.         return $this->render($twigFolder->twigExists('@AviaturTwig/'$agencyFolder .'/Search/Package/packageSearch_index.html.twig'), ['cookieLastSearch' => $cookieLastSearch'homePromos' => $homePromos'titlePromo' => $homePromoTitle'subtitlePromo' => $homePromoSubtitle'promoType' => '__paquetes''homePromosMain' => $homePromosMain'titlePromoMain' => $homePromoTitleMain'subtitlePromoMain' => $homePromoSubtitleMain'promoTypeMain'=>'__paquetes'.$promoTypeMain'homePromosMes' => $homePromosMes'titlePromoMes' => $homePromoTitleMes'subtitlePromoMes' => $homePromoSubtitleMes'promoTypeMes'=>$promoTypeMes'homePromosRecommendations' => $homePromosRecommendations'titlePromoRecommendations' => $homePromoRecommendationsTitle'subtitlePromoRecommendations' => $homePromoRecommendationsSubtitle'promoTypeRecommendations' => '__paquetes'.$promoTypeRecommendations'agency_name' => $agency->getDomain(), 'validationAgencyFolder' => $validationAgencyFolder'homePromosFaq' => $homePromosFaq'titlePromoFaq' => $homePromoFaqTitle'subtitlePromoFaq' => $homePromoFaqSubtitle'promoTypeFaq' => '__paquetes'.$promoTypeFaq]);
  101.     }
  102. }