Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
SetRememberMeStatusForAjaxLoginObserver.php
Go to the documentation of this file.
1 <?php
7 
9 
11 
16 {
23 
29  protected $_persistentData = null;
30 
34  private $serializer;
35 
44  public function __construct(
45  \Magento\Persistent\Helper\Data $persistentData,
46  \Magento\Persistent\Helper\Session $persistentSession,
47  \Magento\Framework\Serialize\Serializer\Json $serializer = null
48  ) {
49  $this->_persistentData = $persistentData;
50  $this->_persistentSession = $persistentSession;
51  $this->serializer = $serializer ?: \Magento\Framework\App\ObjectManager::getInstance()
52  ->get(\Magento\Framework\Serialize\Serializer\Json::class);
53  }
54 
61  public function execute(Observer $observer)
62  {
63  if (!$this->_persistentData->canProcess($observer)
64  || !$this->_persistentData->isEnabled()
65  || !$this->_persistentData->isRememberMeEnabled()
66  ) {
67  return;
68  }
69 
71  $request = $observer->getEvent()->getRequest();
72  if ($request && $request->isXmlHttpRequest()) {
73  $requestData = [];
74  $content = $request->getContent();
75  if ($content) {
76  $requestData = $this->serializer->unserialize($content);
77  }
78  $isRememberMeChecked = empty($requestData['persistent_remember_me']) ? false : true;
79  $this->_persistentSession->setRememberMeChecked((bool)$isRememberMeChecked);
80  }
81  }
82 }
__construct(\Magento\Persistent\Helper\Data $persistentData, \Magento\Persistent\Helper\Session $persistentSession, \Magento\Framework\Serialize\Serializer\Json $serializer=null)
return false
Definition: gallery.phtml:36
$persistentSession
Definition: persistent.php:11