![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-re-captcha-user/Observer/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\ReCaptchaUser\Observer; use Magento\Framework\App\Action\Action; use Magento\Framework\Event\Observer; use Magento\Framework\Event\ObserverInterface; use Magento\Framework\Exception\LocalizedException; use Magento\Framework\UrlInterface; use Magento\ReCaptchaUi\Model\IsCaptchaEnabledInterface; use Magento\ReCaptchaUi\Model\RequestHandlerInterface; /** * ForgotPasswordObserver */ class ForgotPasswordObserver implements ObserverInterface { /** * @var UrlInterface */ private $url; /** * @var RequestHandlerInterface */ private $requestHandler; /** * @var IsCaptchaEnabledInterface */ private $isCaptchaEnabled; /** * @param UrlInterface $url * @param RequestHandlerInterface $requestHandler * @param IsCaptchaEnabledInterface $isCaptchaEnabled */ public function __construct( UrlInterface $url, RequestHandlerInterface $requestHandler, IsCaptchaEnabledInterface $isCaptchaEnabled ) { $this->url = $url; $this->requestHandler = $requestHandler; $this->isCaptchaEnabled = $isCaptchaEnabled; } /** * @param Observer $observer * @return void * @throws LocalizedException */ public function execute(Observer $observer): void { /** @var Action $controller */ $controller = $observer->getControllerAction(); $request = $controller->getRequest(); $key = 'user_forgot_password'; if ($this->isCaptchaEnabled->isCaptchaEnabledFor($key) && null !== $request->getParam('email')) { $response = $controller->getResponse(); $redirectOnFailureUrl = $this->url->getUrl('*/*/forgotpassword', ['_secure' => true]); $this->requestHandler->execute($key, $request, $response, $redirectOnFailureUrl); } } }