![]() 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/cartforge.co/vendor/magento/module-customer/Controller/Adminhtml/Index/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Customer\Controller\Adminhtml\Index; use Magento\Backend\App\Action\Context; use Magento\Backend\Model\View\Result\ForwardFactory; use Magento\Customer\Api\AccountManagementInterface; use Magento\Customer\Api\AddressRepositoryInterface; use Magento\Customer\Api\CustomerRepositoryInterface; use Magento\Customer\Api\Data\AddressInterfaceFactory; use Magento\Customer\Api\Data\CustomerInterfaceFactory; use Magento\Customer\Controller\Adminhtml\Index as BaseAction; use Magento\Customer\Helper\View; use Magento\Customer\Model\Address\Mapper; use Magento\Customer\Model\AddressFactory; use Magento\Customer\Model\CustomerFactory; use Magento\Customer\Model\Metadata\FormFactory; use Magento\Framework\Api\DataObjectHelper; use Magento\Framework\Api\ExtensibleDataObjectConverter; use Magento\Framework\App\Action\HttpGetActionInterface; use Magento\Framework\App\Action\HttpPostActionInterface as HttpPostActionInterface; use Magento\Framework\App\Response\Http\FileFactory; use Magento\Framework\Controller\Result\JsonFactory; use Magento\Framework\DataObjectFactory as ObjectFactory; use Magento\Framework\Exception\NoSuchEntityException; use Magento\Framework\Math\Random; use Magento\Framework\Reflection\DataObjectProcessor; use Magento\Framework\Registry; use Magento\Framework\View\Result\Layout; use Magento\Framework\View\Result\LayoutFactory; use Magento\Framework\View\Result\PageFactory; use Magento\Newsletter\Model\SubscriberFactory; use Magento\Quote\Api\CartRepositoryInterface; use Magento\Quote\Model\Quote; use Magento\Quote\Model\QuoteFactory; use Magento\Store\Model\StoreManagerInterface; /** * Admin customer shopping cart controller * * @SuppressWarnings(PHPMD.CouplingBetweenObjects) * @deprecated 101.0.0 */ class Cart extends BaseAction implements HttpGetActionInterface, HttpPostActionInterface { /** * @var QuoteFactory */ private $quoteFactory; /** * @var StoreManagerInterface */ private $storeManager; /** * Constructor * * @param Context $context * @param Registry $coreRegistry * @param FileFactory $fileFactory * @param CustomerFactory $customerFactory * @param AddressFactory $addressFactory * @param FormFactory $formFactory * @param SubscriberFactory $subscriberFactory * @param View $viewHelper * @param Random $random * @param CustomerRepositoryInterface $customerRepository * @param ExtensibleDataObjectConverter $extensibleDataObjectConverter * @param Mapper $addressMapper * @param AccountManagementInterface $customerAccountManagement * @param AddressRepositoryInterface $addressRepository * @param CustomerInterfaceFactory $customerDataFactory * @param AddressInterfaceFactory $addressDataFactory * @param \Magento\Customer\Model\Customer\Mapper $customerMapper * @param DataObjectProcessor $dataObjectProcessor * @param DataObjectHelper $dataObjectHelper * @param ObjectFactory $objectFactory * @param \Magento\Framework\View\LayoutFactory $layoutFactory * @param LayoutFactory $resultLayoutFactory * @param PageFactory $resultPageFactory * @param ForwardFactory $resultForwardFactory * @param JsonFactory $resultJsonFactory * @param QuoteFactory|null $quoteFactory * @param StoreManagerInterface|null $storeManager * @SuppressWarnings(PHPMD.ExcessiveParameterList) */ public function __construct( Context $context, Registry $coreRegistry, FileFactory $fileFactory, CustomerFactory $customerFactory, AddressFactory $addressFactory, FormFactory $formFactory, SubscriberFactory $subscriberFactory, View $viewHelper, Random $random, CustomerRepositoryInterface $customerRepository, ExtensibleDataObjectConverter $extensibleDataObjectConverter, Mapper $addressMapper, AccountManagementInterface $customerAccountManagement, AddressRepositoryInterface $addressRepository, CustomerInterfaceFactory $customerDataFactory, AddressInterfaceFactory $addressDataFactory, \Magento\Customer\Model\Customer\Mapper $customerMapper, DataObjectProcessor $dataObjectProcessor, DataObjectHelper $dataObjectHelper, ObjectFactory $objectFactory, \Magento\Framework\View\LayoutFactory $layoutFactory, LayoutFactory $resultLayoutFactory, PageFactory $resultPageFactory, ForwardFactory $resultForwardFactory, JsonFactory $resultJsonFactory, QuoteFactory $quoteFactory = null, ?StoreManagerInterface $storeManager = null ) { parent::__construct( $context, $coreRegistry, $fileFactory, $customerFactory, $addressFactory, $formFactory, $subscriberFactory, $viewHelper, $random, $customerRepository, $extensibleDataObjectConverter, $addressMapper, $customerAccountManagement, $addressRepository, $customerDataFactory, $addressDataFactory, $customerMapper, $dataObjectProcessor, $dataObjectHelper, $objectFactory, $layoutFactory, $resultLayoutFactory, $resultPageFactory, $resultForwardFactory, $resultJsonFactory ); $this->quoteFactory = $quoteFactory ?: $this->_objectManager->get(QuoteFactory::class); $this->storeManager = $storeManager ?? $this->_objectManager->get(StoreManagerInterface::class); } /** * Handle and then get cart grid contents * * @return Layout */ public function execute() { $customerId = $this->initCurrentCustomer(); $websiteId = $this->getRequest()->getParam('website_id'); // delete an item from cart $deleteItemId = $this->getRequest()->getPost('delete'); if ($deleteItemId) { /** @var CartRepositoryInterface $quoteRepository */ $quoteRepository = $this->_objectManager->create(CartRepositoryInterface::class); /** @var Quote $quote */ try { $storeIds = $this->storeManager->getWebsite($websiteId)->getStoreIds(); $quote = $quoteRepository->getForCustomer($customerId, $storeIds); } catch (NoSuchEntityException $e) { $quote = $this->quoteFactory->create(); } $quote->setWebsite( $this->storeManager->getWebsite($websiteId) ); $item = $quote->getItemById($deleteItemId); if ($item && $item->getId()) { $quote->removeItem($deleteItemId); $quoteRepository->save($quote->collectTotals()); } } $resultLayout = $this->resultLayoutFactory->create(); $resultLayout->getLayout()->getBlock('admin.customer.view.edit.cart')->setWebsiteId($websiteId); return $resultLayout; } }