src/Controller/ContentController.php line 33

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use Pimcore\Controller\FrontendController;
  4. use Symfony\Component\HttpFoundation\Request;
  5. use Symfony\Component\HttpFoundation\Session\Attribute\AttributeBagInterface;
  6. use Pimcore\Bundle\EcommerceFrameworkBundle\IndexService\ProductList\ProductListInterface;
  7. use Pimcore\Model\DataObject;
  8. use Symfony\Component\Intl\Intl;
  9. use Symfony\Component\HttpKernel\Event\FilterControllerEvent;
  10. // class ContentController extends \Website\Controller\Action
  11. class ContentController extends Action {
  12.     //public function init() {
  13.     public function onKernelController(FilterControllerEvent $event)
  14.     {
  15.         parent::onKernelController($event);
  16.         $params $event->getRequest()->request->all();
  17.         $this->view->preview $event->getRequest()->get('pimcore_preview');
  18.     }
  19.     
  20.     public function portalAction (Request $request) {
  21.         //$this->layout()->setLayout('product');
  22.         //$this->enableLayout();
  23.         $data = [];
  24.         $lastlogin '';
  25.         $data['locale'] = strtolower($request->getLocale());
  26.         $data['params'] = $request->request->all();
  27.         $data['preview'] = $request->get('pimcore_preview',null);
  28.         // Set Us as default country
  29.         $defaultCountry DataObject\AvailabilityCountry::getByPath('/availability-countries/us');
  30.         if(isset($this->country)){
  31.             $availableCountry $this->country;
  32.         }else{
  33.             $availableCountry $defaultCountry;
  34.             //$this->view->country = $defaultCountry;
  35.             $data['country'] = $defaultCountry;
  36.         }
  37.         //$authNamespace = new Zend_Session_Namespace('Zend_Auth');   
  38.         $session $request->getSession();
  39.         $authNamespace $session->getBag('espirit');
  40.         $data['lastlogin'] = '';
  41.         if ($authNamespace && $authNamespace->get('customeraccount')) {
  42.             $orders = new DataObject\OnlineShopOrder\Listing();
  43.             $orders->setCondition(" customer__id = '" $authNamespace->get('customeraccount')->getId() . "'");
  44.             $orders->setOrderKey("orderdate",false);
  45.             $orders->setOrder("desc");
  46.             $orders->setLimit(1);
  47.             $orders->load();
  48.             $orders $orders->getData();
  49.             if (!empty($orders)) {
  50.                 $order $orders[0];
  51.                 $lastlogin $order->getOrderDate()->getTimestamp();
  52.                 $data['lastlogin'] = $lastlogin;
  53.             } else {
  54.                 $lastlogin $authNamespace->get('customeraccount')->getLastLoginDate()->getTimestamp();
  55.                 //$this->view->lastlogin = $lastlogin;
  56.                 $data['lastlogin'] = $lastlogin;
  57.             }
  58.         }
  59.             
  60.         // create product list       
  61.         $products \Pimcore\Bundle\EcommerceFrameworkBundle\Factory::getInstance()->getIndexService()->getProductListForCurrentTenant();
  62.         $products->setVariantMode(ProductListInterface::VARIANT_MODE_HIDE);
  63.        // $products->addRelationCondition('CountryAvailabilityList', "dest IN (" . $availableCountry->getId() . ")");
  64.        // $products->addCondition("is_default = 1"); 
  65.         $products->setOrderKey("modificationDate");
  66.         $products->setOrder("DESC");
  67.         $products->setLimit(10); 
  68.         
  69.         $data['products'] = $products;
  70.         $data['heading'] = '';
  71.         
  72.         //Get CurrentUser Email
  73.         if ($authNamespace->get('customeraccount')) {
  74.             $data['useremail'] = $authNamespace->get('customeraccount')->getEmail();
  75.             $data['FirstName'] = $authNamespace->get('customeraccount')->getFirstName();
  76.             $data['LastName'] = $authNamespace->get('customeraccount')->getLastName();
  77.         }else{
  78.             $data['useremail'] = "";
  79.         }
  80.         return $this->render('Content/portal.html.twig'$data);
  81.     }
  82.     
  83.     public function defaultAction (Request $request) {
  84.        // $this->enableLayout();
  85.     }
  86.     public function landingPageAction(Request $request) {
  87.         //$this->enableLayout();
  88.     }
  89.     public function redirectAction(Request $request) {
  90.         return $this->redirect('/en');
  91.     }
  92.     public function tenantSwitchesAction(Request $request) {
  93.         //$this->enableLayout();
  94.         $environment \Pimcore\Bundle\EcommerceFrameworkBundle\Factory::getInstance()->getEnvironment();
  95.         if($request->get("change-checkout-tenant")) {
  96.             $checkoutTenant $request->get("change-checkout-tenant");
  97.             $checkoutTenant $checkoutTenant == "default" "" $checkoutTenant;
  98.             $environment->setCurrentCheckoutTenant(strip_tags($checkoutTenant));
  99.             $environment->save();
  100.         }
  101.         if($request->get("change-assortment-tenant")) {
  102.             $assortmentTenant $request->get("change-assortment-tenant");
  103.             $assortmentTenant $assortmentTenant == "default" "" $assortmentTenant;
  104.             $environment->setCurrentAssortmentTenant(strip_tags($assortmentTenant));
  105.             $environment->save();
  106.         }
  107.         $this->view->checkoutTenants = array("default""noShipping""expensiveShipping""paypal""datatrans""otherFolder");
  108.         $this->view->currentCheckoutTenant $environment->getCurrentCheckoutTenant() ? $environment->getCurrentCheckoutTenant() : "default";
  109.         $this->view->assortmentTenants = array("default""OptimizedMysql");
  110.         $this->view->currentAssortmentTenant $environment->getCurrentAssortmentTenant() ? $environment->getCurrentAssortmentTenant() : "default";
  111.     }
  112.     
  113.     public function footerAction(Request $request) {
  114.         return $this->render('Content/footer.html.twig');
  115.     }
  116.     public function contactUsAction(Request $request) {
  117.         //Function for Contact-Us Page
  118.         
  119.         $params = [];
  120.         $params['locale'] = strtolower($request->getLocale());
  121.         $params['document'] = $this->document;
  122.         $params['params'] = $request->request->all();
  123.         $params['preview'] = $request->get('pimcore_preview',null);
  124.         $params['actual_link'] = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' "https" "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
  125.         // Set Us as default country
  126.         $defaultCountry DataObject\AvailabilityCountry::getByPath('/availability-countries/us');
  127.         if(isset($this->country)){
  128.             $availableCountry $this->country;
  129.         }else{
  130.             $availableCountry $defaultCountry;
  131.             $params['country'] = $defaultCountry;
  132.         }
  133.         $mailSent '';
  134.         if(!empty($request->request->all()) && !empty($request->get("userEmail"))){
  135.             $params $request->request->all();
  136.             $mail = new \Pimcore\Mail();
  137.             $mail->setIgnoreDebugMode(true);
  138.             $mail->setDocument('/emails/contact-form-confirmation');
  139.             $mail->setParams($params);
  140.             $mail->send();
  141.             if($mail){
  142.                 $mailSent 'Email Sent'
  143.             }else{
  144.                 $mailSent 'Something went wrong!!'
  145.             }
  146.         }
  147.         $params['mailSent'] = $mailSent;
  148.         return $this->render('Content/contactUs.html.twig',$params);
  149.     }
  150.     
  151.     public function pageAction(Request $request){
  152.         
  153.         /*if ($this->user) {
  154.             //$this->layout()->setLayout('product');
  155.             //$this->enableLayout();
  156.         } else {
  157.             //$this->layout()->setLayout('signin');
  158.             //$this->enableLayout();    
  159.         }*/
  160.         $params = [];
  161.         $params['params'] = $request->request->all();
  162.         $params['preview'] = $request->get('pimcore_preview',null);
  163.         $defaultCountry DataObject\AvailabilityCountry::getByPath('/availability-countries/us');
  164.         if(isset($this->country)){
  165.             $availableCountry $this->country;
  166.         }else{
  167.             $availableCountry $defaultCountry;
  168.             $params['country'] = $defaultCountry;
  169.         }
  170.         $params['locale'] = strtolower($request->getLocale());
  171.         $params['user'] = $this->user;
  172.         //$this->view->user = $this->user;
  173.         return $this->render('Content/page.html.twig',$params);
  174.     }
  175.     public function learningGuideAction(Request $request) {
  176.         //$this->layout()->setLayout('learningguide');
  177.         //$this->enableLayout();
  178.         $lgid $request->get("id");
  179.         if ($lgid) {
  180.             $learningguide \DataObject\LearningGuide::getById($lgid);
  181.             $this->view->learningguide $learningguide;
  182.         }
  183.     }
  184.     public function learningGuideListAction(Request $request) {
  185.         //$this->layout()->setLayout('learningguide');
  186.         //$this->enableLayout();
  187.         $vlgs = new DataObject\LearningGuide\Listing();
  188.         $this->view->vlgs $vlgs;
  189.     }
  190. }