![]() 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-wishlist/Observer/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Wishlist\Observer; use Magento\Checkout\Model\Session as CheckoutSession; use Magento\Customer\Model\Session as CustomerSession; use Magento\Framework\Event\Observer; use Magento\Framework\Event\ObserverInterface; use Magento\Framework\Message\ManagerInterface; use Magento\Wishlist\Model\WishlistFactory; /** * Class AddToCart * @deprecated 101.0.0 * @package Magento\Wishlist\Observer */ class AddToCart implements ObserverInterface { /** * @var \Magento\Checkout\Model\Session */ protected $checkoutSession; /** * @var \Magento\Customer\Model\Session */ protected $customerSession; /** * @var \Magento\Wishlist\Model\WishlistFactory */ protected $wishlistFactory; /** * @var \Magento\Framework\Message\ManagerInterface */ protected $messageManager; /** * @param CheckoutSession $checkoutSession * @param CustomerSession $customerSession * @param WishlistFactory $wishlistFactory * @param ManagerInterface $messageManager */ public function __construct( CheckoutSession $checkoutSession, CustomerSession $customerSession, WishlistFactory $wishlistFactory, ManagerInterface $messageManager ) { $this->checkoutSession = $checkoutSession; $this->customerSession = $customerSession; $this->wishlistFactory = $wishlistFactory; $this->messageManager = $messageManager; } /** * @param Observer $observer * @return void * @SuppressWarnings(PHPMD.CyclomaticComplexity) */ public function execute(Observer $observer) { $request = $observer->getEvent()->getRequest(); $sharedWishlist = $this->checkoutSession->getSharedWishlist(); $messages = $this->checkoutSession->getWishlistPendingMessages(); $urls = $this->checkoutSession->getWishlistPendingUrls(); $wishlistIds = $this->checkoutSession->getWishlistIds(); $singleWishlistId = $this->checkoutSession->getSingleWishlistId(); if ($singleWishlistId) { $wishlistIds = [$singleWishlistId]; } if (is_array($wishlistIds) && count($wishlistIds) && $request->getParam('wishlist_next')) { $wishlistId = array_shift($wishlistIds); if ($this->customerSession->isLoggedIn()) { $wishlist = $this->wishlistFactory->create() ->loadByCustomerId($this->customerSession->getCustomerId(), true); } elseif ($sharedWishlist) { $wishlist = $this->wishlistFactory->create()->loadByCode($sharedWishlist); } else { return; } $wishlists = $wishlist->getItemCollection()->load(); foreach ($wishlists as $wishlistItem) { if ($wishlistItem->getId() == $wishlistId) { $wishlistItem->delete(); } } $this->checkoutSession->setWishlistIds($wishlistIds); $this->checkoutSession->setSingleWishlistId(null); } if ($request->getParam('wishlist_next') && count($urls)) { $url = array_shift($urls); $message = array_shift($messages); $this->checkoutSession->setWishlistPendingUrls($urls); $this->checkoutSession->setWishlistPendingMessages($messages); $this->messageManager->addError($message); $observer->getEvent()->getResponse()->setRedirect($url); $this->checkoutSession->setNoCartRedirect(true); } } }