12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Customer\CustomerData\Plugin;
- use Magento\Framework\Session\SessionManager;
- use Magento\Framework\Stdlib\Cookie\CookieMetadataFactory;
- use Magento\Framework\Stdlib\Cookie\PhpCookieManager;
- class SessionChecker
- {
- /**
- * @var PhpCookieManager
- */
- private $cookieManager;
- /**
- * @var CookieMetadataFactory
- */
- private $cookieMetadataFactory;
- /**
- * @param PhpCookieManager $cookieManager
- * @param CookieMetadataFactory $cookieMetadataFactory
- */
- public function __construct(
- PhpCookieManager $cookieManager,
- CookieMetadataFactory $cookieMetadataFactory
- ) {
- $this->cookieManager = $cookieManager;
- $this->cookieMetadataFactory = $cookieMetadataFactory;
- }
- /**
- * Delete frontend session cookie if customer session is expired
- *
- * @param SessionManager $sessionManager
- * @return void
- */
- public function beforeStart(SessionManager $sessionManager)
- {
- if (!$this->cookieManager->getCookie($sessionManager->getName())
- && $this->cookieManager->getCookie('mage-cache-sessid')
- ) {
- $metadata = $this->cookieMetadataFactory->createCookieMetadata();
- $metadata->setPath('/');
- $this->cookieManager->deleteCookie('mage-cache-sessid', $metadata);
- }
- }
- }
|