Index.php 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Persistent\Controller;
  7. use Magento\Framework\App\Action\Action;
  8. use Magento\Framework\App\Action\Context;
  9. use Magento\Persistent\Model\QuoteManager;
  10. use Magento\Checkout\Model\Session as CheckoutSession;
  11. use Magento\Customer\Model\Session as CustomerSession;
  12. use Magento\Persistent\Helper\Session as SessionHelper;
  13. /**
  14. * Persistent front controller
  15. * @codeCoverageIgnore
  16. */
  17. abstract class Index extends Action
  18. {
  19. /**
  20. * Persistent observer
  21. *
  22. * @var \Magento\Persistent\Model\Observer
  23. */
  24. protected $quoteManager;
  25. /**
  26. * Checkout session
  27. *
  28. * @var \Magento\Checkout\Model\Session
  29. */
  30. protected $checkoutSession;
  31. /**
  32. * Customer session
  33. *
  34. * @var \Magento\Customer\Model\Session
  35. */
  36. protected $customerSession;
  37. /**
  38. * @var \Magento\Persistent\Helper\Session
  39. */
  40. protected $sessionHelper;
  41. /**
  42. * Whether clear checkout session when logout
  43. *
  44. * @var bool
  45. */
  46. protected $clearCheckoutSession = true;
  47. /**
  48. * @param \Magento\Framework\App\Action\Context $context
  49. * @param \Magento\Persistent\Model\QuoteManager $quoteManager
  50. * @param \Magento\Checkout\Model\Session $checkoutSession
  51. * @param \Magento\Customer\Model\Session $customerSession
  52. * @param \Magento\Persistent\Helper\Session $sessionHelper
  53. */
  54. public function __construct(
  55. Context $context,
  56. QuoteManager $quoteManager,
  57. CheckoutSession $checkoutSession,
  58. CustomerSession $customerSession,
  59. SessionHelper $sessionHelper
  60. ) {
  61. $this->quoteManager = $quoteManager;
  62. $this->checkoutSession = $checkoutSession;
  63. $this->customerSession = $customerSession;
  64. $this->sessionHelper = $sessionHelper;
  65. parent::__construct($context);
  66. }
  67. /**
  68. * Set whether clear checkout session when logout
  69. *
  70. * @param bool $clear
  71. * @return $this
  72. */
  73. public function setClearCheckoutSession($clear = true)
  74. {
  75. $this->clearCheckoutSession = $clear;
  76. return $this;
  77. }
  78. }