![]() 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-persistent/Helper/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Persistent\Helper; /** * Persistent Shopping Cart Data Helper * * @api * @since 100.0.2 */ class Session extends \Magento\Framework\App\Helper\AbstractHelper { /** * Instance of Session Model * * @var \Magento\Persistent\Model\Session */ protected $_sessionModel; /** * Is "Remember Me" checked * * @var null|bool */ protected $_isRememberMeChecked; /** * Persistent data * * @var \Magento\Persistent\Helper\Data */ protected $_persistentData; /** * Persistent session factory * * @var \Magento\Persistent\Model\SessionFactory */ protected $_sessionFactory; /** * Checkout session * * @var \Magento\Checkout\Model\Session */ protected $_checkoutSession; /** * @param \Magento\Framework\App\Helper\Context $context * @param Data $persistentData * @param \Magento\Checkout\Model\Session $checkoutSession * @param \Magento\Persistent\Model\SessionFactory $sessionFactory */ public function __construct( \Magento\Framework\App\Helper\Context $context, \Magento\Persistent\Helper\Data $persistentData, \Magento\Checkout\Model\Session $checkoutSession, \Magento\Persistent\Model\SessionFactory $sessionFactory ) { $this->_persistentData = $persistentData; $this->_checkoutSession = $checkoutSession; $this->_sessionFactory = $sessionFactory; parent::__construct( $context ); } /** * Get Session model * * @return \Magento\Persistent\Model\Session */ public function getSession() { if ($this->_sessionModel === null) { $this->_sessionModel = $this->_sessionFactory->create(); $this->_sessionModel->loadByCookieKey(); } return $this->_sessionModel; } /** * Force setting session model * * @param \Magento\Persistent\Model\Session $sessionModel * @return \Magento\Persistent\Model\Session * @codeCoverageIgnore */ public function setSession($sessionModel) { $this->_sessionModel = $sessionModel; return $this->_sessionModel; } /** * Check whether persistent mode is running * * @return bool */ public function isPersistent() { return $this->getSession()->getId() && $this->_persistentData->isEnabled(); } /** * Check if "Remember Me" checked * * @return bool */ public function isRememberMeChecked() { if ($this->_isRememberMeChecked === null) { //Try to get from checkout session $isRememberMeChecked = $this->_checkoutSession->getRememberMeChecked(); if ($isRememberMeChecked !== null) { $this->_isRememberMeChecked = $isRememberMeChecked; $this->_checkoutSession->unsRememberMeChecked(); return $isRememberMeChecked; } return $this->_persistentData->isEnabled() && $this->_persistentData->isRememberMeEnabled() && $this->_persistentData->isRememberMeCheckedDefault(); } return (bool)$this->_isRememberMeChecked; } /** * Set "Remember Me" checked or not * * @param bool $checked * @return void * @codeCoverageIgnore */ public function setRememberMeChecked($checked = true) { $this->_isRememberMeChecked = $checked; } }