CustomerAuthenticatedEventObserver.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. /**
  3. *
  4. * Copyright © Magento, Inc. All rights reserved.
  5. * See COPYING.txt for license details.
  6. */
  7. namespace Magento\Persistent\Observer;
  8. use Magento\Framework\Event\ObserverInterface;
  9. class CustomerAuthenticatedEventObserver implements ObserverInterface
  10. {
  11. /**
  12. * Customer session
  13. *
  14. * @var \Magento\Customer\Model\Session
  15. */
  16. protected $_customerSession;
  17. /**
  18. * Request http
  19. *
  20. * @var \Magento\Framework\App\RequestInterface
  21. */
  22. protected $_requestHttp;
  23. /**
  24. * @var \Magento\Persistent\Model\QuoteManager
  25. */
  26. protected $quoteManager;
  27. /**
  28. * @param \Magento\Customer\Model\Session $customerSession
  29. * @param \Magento\Framework\App\RequestInterface $request
  30. * @param \Magento\Persistent\Model\QuoteManager $quoteManager
  31. */
  32. public function __construct(
  33. \Magento\Customer\Model\Session $customerSession,
  34. \Magento\Framework\App\RequestInterface $request,
  35. \Magento\Persistent\Model\QuoteManager $quoteManager
  36. ) {
  37. $this->_customerSession = $customerSession;
  38. $this->_requestHttp = $request;
  39. $this->quoteManager = $quoteManager;
  40. }
  41. /**
  42. * Reset session data when customer re-authenticates
  43. *
  44. * @param \Magento\Framework\Event\Observer $observer
  45. * @return void
  46. * @SuppressWarnings(PHPMD.UnusedFormalParameter)
  47. */
  48. public function execute(\Magento\Framework\Event\Observer $observer)
  49. {
  50. $this->_customerSession->setCustomerId(null)->setCustomerGroupId(null);
  51. if ($this->_requestHttp->getParam('context') != 'checkout') {
  52. $this->quoteManager->expire();
  53. return;
  54. }
  55. $this->quoteManager->setGuest();
  56. }
  57. }