![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-checkout/Controller/Index/ |
<?php /** * * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Checkout\Controller\Index; use Magento\Framework\App\Action\HttpGetActionInterface as HttpGetActionInterface; class Index extends \Magento\Checkout\Controller\Onepage implements HttpGetActionInterface { /** * Checkout page * * @return \Magento\Framework\Controller\ResultInterface */ public function execute() { /** @var \Magento\Checkout\Helper\Data $checkoutHelper */ $checkoutHelper = $this->_objectManager->get(\Magento\Checkout\Helper\Data::class); if (!$checkoutHelper->canOnepageCheckout()) { $this->messageManager->addErrorMessage(__('One-page checkout is turned off.')); return $this->resultRedirectFactory->create()->setPath('checkout/cart'); } $quote = $this->getOnepage()->getQuote(); if (!$quote->hasItems() || $quote->getHasError() || !$quote->validateMinimumAmount()) { return $this->resultRedirectFactory->create()->setPath('checkout/cart'); } if (!$this->_customerSession->isLoggedIn() && !$checkoutHelper->isAllowedGuestCheckout($quote)) { $this->messageManager->addErrorMessage(__('Guest checkout is disabled.')); return $this->resultRedirectFactory->create()->setPath('checkout/cart'); } // generate session ID only if connection is unsecure according to issues in session_regenerate_id function. // @see http://php.net/manual/en/function.session-regenerate-id.php if (!$this->isSecureRequest()) { $this->_customerSession->regenerateId(); } $this->_objectManager->get(\Magento\Checkout\Model\Session::class)->setCartWasUpdated(false); $this->getOnepage()->initCheckout(); $resultPage = $this->resultPageFactory->create(); $resultPage->getConfig()->getTitle()->set(__('Checkout')); return $resultPage; } /** * Checks if current request uses SSL and referer also is secure. * * @return bool */ private function isSecureRequest(): bool { $request = $this->getRequest(); $referrer = $request->getHeader('referer'); $secure = false; if ($referrer) { $scheme = parse_url($referrer, PHP_URL_SCHEME); $secure = $scheme === 'https'; } return $secure && $request->isSecure(); } }