src/Elements/Bundle/DemiFrontendBundle/Controller/ContentController.php line 27

Open in your IDE?
  1. <?php
  2. /**
  3.  * Elements DeMI
  4.  *
  5.  * This source file is available under the elements DeMI license version 1
  6.  *
  7.  *  @copyright  Copyright (c) elements.at New Media Solutions GmbH (https://www.elements.at/)
  8.  *  @license    elements DeMI Lizenz Version 1 (https://www.elements.at/de/demi-lizenz)
  9.  */
  10. namespace Elements\Bundle\DemiFrontendBundle\Controller;
  11. use Elements\Demi\Frontend\Service\Configuration;
  12. use Elements\Demi\Model\AccommodationServiceProvider;
  13. use Elements\Demi\Model\HousePackageMaster;
  14. use Symfony\Component\HttpFoundation\Request;
  15. use Symfony\Component\HttpFoundation\Response;
  16. class ContentController extends AbstractDemiController
  17. {
  18.     public function __construct(Configuration $configuration)
  19.     {
  20.         $this->setConfiguration($configuration);
  21.     }
  22.     public function contentAction(Request $request)
  23.     {
  24.         $document $this->document ?? $request->attributes->get('contentDocument');
  25.         if (empty($this->configuration->getCurrentDocument())) {
  26.             $this->configuration->setDocument($document);
  27.         }
  28.         $viewParams["language"] = $request->get('language');
  29.         if ($document->getTemplate()) {
  30.             //this is for project BC - it seems sometimes the content action was used for snippets, with auto view rendering that worked
  31.             return $this->renderTemplate($document->getTemplate(), $viewParams);
  32.         }
  33.         return $this->renderTemplate('@ElementsDemiFrontend/Content/content.html.twig'$viewParams);
  34.     }
  35.     public function enquireThankYouAction(Request $request): Response
  36.     {
  37.         if (empty($this->configuration->getCurrentDocument())) {
  38.             $this->configuration->setDocument($this->document ?? $request->attributes->get('contentDocument'));
  39.         }
  40.         $viewParams["language"] = $request->get('language');
  41.         $viewParams["accommodation"] = AccommodationServiceProvider::getById($request->get('id'));
  42.         if ($request->get('pid')) {
  43.             $viewParams["package"] = HousePackageMaster::getById($request->get('pid'));
  44.         }
  45.         return $this->renderTemplate('@ElementsDemiFrontend/Content/enquireThankYou.html.twig'$viewParams);
  46.     }
  47.     public function savingRequestThankYouAction(Request $request): Response
  48.     {
  49.         if (empty($this->configuration->getCurrentDocument())) {
  50.             $this->configuration->setDocument($this->document ?? $request->attributes->get('contentDocument'));
  51.         }
  52.         return $this->renderTemplate('@ElementsDemiFrontend/Content/savingRequestThankYou.html.twig');
  53.     }
  54.     public function thxAction(Request $request): Response
  55.     {
  56.         if (empty($this->configuration->getCurrentDocument())) {
  57.             $this->configuration->setDocument($this->document ?? $request->attributes->get('contentDocument'));
  58.         }
  59.         $viewParams array_map(static function ($a) {
  60.             return in_array($a, ["isMobile""backUrl""order""editmode"]);
  61.         }, array_keys($request->query->all()));
  62.         return $this->renderTemplate('@ElementsDemiFrontend/Includes/snippets/thx.html.twig'$viewParams);
  63.     }
  64.     public function accountInfoAction(Request $request): Response
  65.     {
  66.         if (empty($this->configuration->getCurrentDocument())) {
  67.             $this->configuration->setDocument($this->document ?? $request->attributes->get('contentDocument'));
  68.         }
  69.         return $this->renderTemplate('@ElementsDemiFrontend/Content/accountInfo.html.twig');
  70.     }
  71. }