Spamworldpro Mini Shell
Spamworldpro


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/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/old/app/code/Magecomp/Savecartpro/Controller/Index/Savenewquote.php
<?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;
    }
}

Spamworldpro Mini