![]() 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/app/code/Magecomp/Savecartpro/Controller/Index/ |
<?php namespace Magecomp\Savecartpro\Controller\Index; use Magento\Framework\App\Action\Context; use Magento\Framework\App\Request\Http; use Magento\Framework\Data\Form\FormKey; use Magento\Checkout\Model\Cart; use Magecomp\Savecartpro\Model\SavecartprodetailFactory; use Magento\Setup\Exception; use Magento\Checkout\Model\Session; use Magento\Quote\Model\QuoteFactory; use Magento\Framework\Controller\ResultFactory; class Savenewquote extends \Magento\Framework\App\Action\Action { protected $request; protected $formKey; protected $cart; protected $savecartdetailFactory; protected $resultFactory; protected $checkoutSession; protected $quoteFactory; protected $_logger; protected $serialize; public function __construct(Context $context, Http $request, FormKey $formKey, Cart $cart, SavecartprodetailFactory $savecartdetailFactory, Session $checkoutSession, QuoteFactory $quoteFactory, \Psr\Log\LoggerInterface $logger, \Magento\Framework\Serialize\Serializer\Json $serialize ) { $this->request = $request; $this->formKey = $formKey; $this->cart = $cart; $this->savecartdetailFactory = $savecartdetailFactory; $this->checkoutSession = $checkoutSession; $this->quoteFactory = $quoteFactory; $this->_logger = $logger; $this->serialize = $serialize; parent::__construct($context); } public function execute() { try { $om = \Magento\Framework\App\ObjectManager::getInstance(); $param = $this->getRequest()->getParams(); $id = substr($param['qid'], 3,-3); $quotedetailCollection = $this->savecartdetailFactory->create()->getCollection()->addFieldToFilter('savecart_id', $id); $allItems = $this->checkoutSession->getQuote()->getAllVisibleItems(); foreach ($allItems as $item) { $itemId = $item->getItemId(); $this->cart->removeItem($itemId); } if (count($quotedetailCollection->getData()) > 0) { foreach ($quotedetailCollection->getData() as $col) { $configdata = $this->serialize->unserialize($col['quote_config_prd_data']); $obj_product = $om->create('Magento\Catalog\Model\Product'); array_push($configdata, 'form_key', $this->formKey->getFormKey()); $_product = $obj_product->load($col['quote_prd_id']); $this->cart->addProduct($_product, $configdata); } $this->cart->save(); $this->messageManager->addSuccess(__('Successfull Message')); } else { $this->messageManager->addError(__('There no products in your save cart')); } $resultRedirect = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT); } catch (\Exception $e) { $this->_logger->critical($e->getMessage()); } $resultRedirect->setPath('checkout/cart/'); return $resultRedirect; } }