54 \
Magento\Persistent\Helper\Data $persistentData,
56 \
Magento\Customer\Model\Session $customerSession,
57 \
Magento\Persistent\Model\SessionFactory $sessionFactory
59 $this->_persistentData = $persistentData;
61 $this->_customerSession = $customerSession;
62 $this->_sessionFactory = $sessionFactory;
75 if (!
$customer || !
$customer->getId() || !$this->_persistentSession->isRememberMeChecked()) {
76 $this->_sessionFactory->create()->removePersistentCookie();
80 $persistentLifeTime = $this->_persistentData->getLifeTime();
82 if ($this->_persistentData->isEnabled() && $persistentLifeTime <= 0) {
84 $this->_sessionFactory->create()->deleteByCustomerId(
$customer->getId());
89 $sessionModel = $this->_persistentSession->getSession();
92 if (!$sessionModel->getId() || $sessionModel->getCustomerId() !=
$customer->getId()) {
94 $sessionModel = $this->_sessionFactory->create();
95 $sessionModel->setLoadExpired()->loadByCustomerId(
$customer->getId());
96 if (!$sessionModel->getId()) {
98 $sessionModel = $this->_sessionFactory->create();
99 $sessionModel->setCustomerId(
$customer->getId())->save();
101 $this->_persistentSession->setSession($sessionModel);
105 if ($sessionModel->getId()) {
106 $sessionModel->setPersistentCookie(
108 $this->_customerSession->getCookiePath()
__construct(\Magento\Persistent\Helper\Data $persistentData, \Magento\Persistent\Helper\Session $persistentSession, \Magento\Customer\Model\Session $customerSession, \Magento\Persistent\Model\SessionFactory $sessionFactory)
execute(Observer $observer)