Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
CheckForgotpasswordObserver.php
Go to the documentation of this file.
1 <?php
7 
9 
11 {
15  protected $_helper;
16 
20  protected $_actionFlag;
21 
25  protected $messageManager;
26 
30  protected $redirect;
31 
36 
44  public function __construct(
45  \Magento\Captcha\Helper\Data $helper,
46  \Magento\Framework\App\ActionFlag $actionFlag,
47  \Magento\Framework\Message\ManagerInterface $messageManager,
48  \Magento\Framework\App\Response\RedirectInterface $redirect,
50  ) {
51  $this->_helper = $helper;
52  $this->_actionFlag = $actionFlag;
53  $this->messageManager = $messageManager;
54  $this->redirect = $redirect;
55  $this->captchaStringResolver = $captchaStringResolver;
56  }
57 
64  public function execute(\Magento\Framework\Event\Observer $observer)
65  {
66  $formId = 'user_forgotpassword';
67  $captchaModel = $this->_helper->getCaptcha($formId);
68  if ($captchaModel->isRequired()) {
70  $controller = $observer->getControllerAction();
71  if (!$captchaModel->isCorrect($this->captchaStringResolver->resolve($controller->getRequest(), $formId))) {
72  $this->messageManager->addError(__('Incorrect CAPTCHA'));
73  $this->_actionFlag->set('', \Magento\Framework\App\Action\Action::FLAG_NO_DISPATCH, true);
74  $this->redirect->redirect($controller->getResponse(), '*/*/forgotpassword');
75  }
76  }
77 
78  return $this;
79  }
80 }
$helper
Definition: iframe.phtml:13
__()
Definition: __.php:13
__construct(\Magento\Captcha\Helper\Data $helper, \Magento\Framework\App\ActionFlag $actionFlag, \Magento\Framework\Message\ManagerInterface $messageManager, \Magento\Framework\App\Response\RedirectInterface $redirect, CaptchaStringResolver $captchaStringResolver)
$controller
Definition: info.phtml:14