![]() 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-wishlist/Controller/Index/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Wishlist\Controller\Index; use Magento\Checkout\Helper\Cart as CartHelper; use Magento\Checkout\Model\Cart as CheckoutCart; use Magento\Framework\App\Action; use Magento\Framework\Data\Form\FormKey\Validator; use Magento\Framework\Escaper; use Magento\Framework\Exception\NotFoundException; use Magento\Framework\Exception\LocalizedException; use Magento\Framework\Controller\ResultFactory; use Magento\Wishlist\Controller\WishlistProviderInterface; use Magento\Wishlist\Helper\Data as WishlistHelper; /** * Add cart item to wishlist and remove from cart controller. * * @SuppressWarnings(PHPMD.CouplingBetweenObjects) */ class Fromcart extends \Magento\Wishlist\Controller\AbstractIndex implements Action\HttpPostActionInterface { /** * @var WishlistProviderInterface */ protected $wishlistProvider; /** * @var WishlistHelper */ protected $wishlistHelper; /** * @var CheckoutCart */ protected $cart; /** * @var CartHelper */ protected $cartHelper; /** * @var Escaper */ protected $escaper; /** * @var Validator */ protected $formKeyValidator; /** * @param Action\Context $context * @param WishlistProviderInterface $wishlistProvider * @param WishlistHelper $wishlistHelper * @param CheckoutCart $cart * @param CartHelper $cartHelper * @param Escaper $escaper * @param Validator $formKeyValidator */ public function __construct( Action\Context $context, WishlistProviderInterface $wishlistProvider, WishlistHelper $wishlistHelper, CheckoutCart $cart, CartHelper $cartHelper, Escaper $escaper, Validator $formKeyValidator ) { $this->wishlistProvider = $wishlistProvider; $this->wishlistHelper = $wishlistHelper; $this->cart = $cart; $this->cartHelper = $cartHelper; $this->escaper = $escaper; $this->formKeyValidator = $formKeyValidator; parent::__construct($context); } /** * Add cart item to wishlist and remove from cart * * @return \Magento\Framework\Controller\Result\Redirect * @throws NotFoundException * @SuppressWarnings(PHPMD.UnusedLocalVariable) */ public function execute() { /** @var \Magento\Framework\Controller\Result\Redirect $resultRedirect */ $resultRedirect = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT); if (!$this->formKeyValidator->validate($this->getRequest())) { return $resultRedirect->setPath('*/*/'); } $wishlist = $this->wishlistProvider->getWishlist(); if (!$wishlist) { throw new NotFoundException(__('Page not found.')); } try { $itemId = (int)$this->getRequest()->getParam('item'); $item = $this->cart->getQuote()->getItemById($itemId); if (!$item) { throw new LocalizedException( __("The cart item doesn't exist.") ); } $productId = $item->getProductId(); $buyRequest = $item->getBuyRequest(); $wishlist->addNewItem($productId, $buyRequest); $this->cart->getQuote()->removeItem($itemId); $this->cart->save(); $this->wishlistHelper->calculate(); $wishlist->save(); $this->messageManager->addSuccessMessage(__( "%1 has been moved to your wish list.", $this->escaper->escapeHtml($item->getProduct()->getName()) )); } catch (LocalizedException $e) { $this->messageManager->addErrorMessage($e->getMessage()); } catch (\Exception $e) { $this->messageManager->addExceptionMessage($e, __('We can\'t move the item to the wish list.')); } return $resultRedirect->setUrl($this->cartHelper->getCartUrl()); } }