<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Customer\Controller\Account; use Magento\Framework\App\Action\HttpGetActionInterface as HttpGetActionInterface; use Magento\Customer\Model\Session; use Magento\Framework\App\Action\Context; use Magento\Framework\View\Result\PageFactory; /** * Forgot Password controller */ class ForgotPassword extends \Magento\Customer\Controller\AbstractAccount implements HttpGetActionInterface { /** * @var PageFactory */ protected $resultPageFactory; /** * @var Session */ protected $session; /** * @param Context $context * @param Session $customerSession * @param PageFactory $resultPageFactory */ public function __construct( Context $context, Session $customerSession, PageFactory $resultPageFactory ) { $this->session = $customerSession; $this->resultPageFactory = $resultPageFactory; parent::__construct($context); } /** * Forgot customer password page * * @return \Magento\Framework\Controller\Result\Redirect|\Magento\Framework\View\Result\Page */ public function execute() { if ($this->session->isLoggedIn()) { /** @var \Magento\Framework\Controller\Result\Redirect $resultRedirect */ $resultRedirect = $this->resultRedirectFactory->create(); $resultRedirect->setPath('*/*/'); return $resultRedirect; } /** @var \Magento\Framework\View\Result\Page $resultPage */ $resultPage = $this->resultPageFactory->create(); $resultPage->getLayout()->getBlock('forgotPassword')->setEmailValue($this->session->getForgottenEmail()); $this->session->unsForgottenEmail(); return $resultPage; } }