Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
CheckUserForgotPasswordBackendObserver.php
Go to the documentation of this file.
1 <?php
7 
9 
11 {
15  protected $_helper;
16 
21 
25  protected $_session;
26 
30  protected $_actionFlag;
31 
35  protected $messageManager;
36 
44  public function __construct(
45  \Magento\Captcha\Helper\Data $helper,
48  \Magento\Framework\App\ActionFlag $actionFlag,
49  \Magento\Framework\Message\ManagerInterface $messageManager
50  ) {
51  $this->_helper = $helper;
52  $this->captchaStringResolver = $captchaStringResolver;
53  $this->_session = $session;
54  $this->_actionFlag = $actionFlag;
55  $this->messageManager = $messageManager;
56  }
57 
65  public function execute(\Magento\Framework\Event\Observer $observer)
66  {
67  $formId = 'backend_forgotpassword';
68  $captchaModel = $this->_helper->getCaptcha($formId);
69  $controller = $observer->getControllerAction();
70  $email = (string)$observer->getControllerAction()->getRequest()->getParam('email');
71  $params = $observer->getControllerAction()->getRequest()->getParams();
72  if (!empty($email)
73  && !empty($params)
74  && $captchaModel->isRequired()
75  && !$captchaModel->isCorrect($this->captchaStringResolver->resolve($controller->getRequest(), $formId))
76  ) {
77  $this->_session->setEmail((string)$controller->getRequest()->getPost('email'));
78  $this->_actionFlag->set('', \Magento\Framework\App\Action\Action::FLAG_NO_DISPATCH, true);
79  $this->messageManager->addError(__('Incorrect CAPTCHA'));
80  $controller->getResponse()->setRedirect(
81  $controller->getUrl('*/*/forgotpassword', ['_nosecret' => true])
82  );
83  }
84 
85  return $this;
86  }
87 }
$helper
Definition: iframe.phtml:13
__construct(\Magento\Captcha\Helper\Data $helper, CaptchaStringResolver $captchaStringResolver, \Magento\Framework\Session\SessionManagerInterface $session, \Magento\Framework\App\ActionFlag $actionFlag, \Magento\Framework\Message\ManagerInterface $messageManager)
$email
Definition: details.phtml:13
__()
Definition: __.php:13
$controller
Definition: info.phtml:14
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE]
Definition: website.php:18