![]() 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/Cart/ |
<?php /** * * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Checkout\Controller\Cart; use Magento\Framework\App\Action\HttpGetActionInterface as HttpGetActionInterface; use Magento\Framework; use Magento\Framework\Controller\ResultFactory; /** * @SuppressWarnings(PHPMD.CouplingBetweenObjects) */ class Configure extends \Magento\Checkout\Controller\Cart implements HttpGetActionInterface { /** * @var \Magento\Framework\View\Result\PageFactory */ protected $resultPageFactory; /** * @param \Magento\Framework\App\Action\Context $context * @param \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig * @param \Magento\Checkout\Model\Session $checkoutSession * @param \Magento\Store\Model\StoreManagerInterface $storeManager * @param \Magento\Framework\Data\Form\FormKey\Validator $formKeyValidator * @param \Magento\Checkout\Model\Cart $cart * @codeCoverageIgnore */ public function __construct( Framework\App\Action\Context $context, Framework\App\Config\ScopeConfigInterface $scopeConfig, \Magento\Checkout\Model\Session $checkoutSession, \Magento\Store\Model\StoreManagerInterface $storeManager, \Magento\Framework\Data\Form\FormKey\Validator $formKeyValidator, \Magento\Checkout\Model\Cart $cart ) { parent::__construct( $context, $scopeConfig, $checkoutSession, $storeManager, $formKeyValidator, $cart ); } /** * Action to reconfigure cart item * * @return \Magento\Framework\View\Result\Page|\Magento\Framework\Controller\Result\Redirect */ public function execute() { // Extract item and product to configure $id = (int)$this->getRequest()->getParam('id'); $productId = (int)$this->getRequest()->getParam('product_id'); $quoteItem = null; if ($id) { $quoteItem = $this->cart->getQuote()->getItemById($id); } try { if (!$quoteItem || $productId != $quoteItem->getProduct()->getId()) { $this->messageManager->addErrorMessage( __("The quote item isn't found. Verify the item and try again.") ); return $this->resultFactory->create(ResultFactory::TYPE_REDIRECT)->setPath('checkout/cart'); } $params = new \Magento\Framework\DataObject(); $params->setCategoryId(false); $params->setConfigureMode(true); $params->setBuyRequest($quoteItem->getBuyRequest()); $resultPage = $this->resultFactory->create(ResultFactory::TYPE_PAGE); $this->_objectManager->get(\Magento\Catalog\Helper\Product\View::class) ->prepareAndRender( $resultPage, $quoteItem->getProduct()->getId(), $this, $params ); return $resultPage; } catch (\Exception $e) { $this->messageManager->addErrorMessage(__('We cannot configure the product.')); $this->_objectManager->get(\Psr\Log\LoggerInterface::class)->critical($e); return $this->_goBack(); } } }