ResetAttemptForFrontendAccountEditObserver.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Captcha\Observer;
  7. use Magento\Framework\Event\ObserverInterface;
  8. class ResetAttemptForFrontendAccountEditObserver implements ObserverInterface
  9. {
  10. /**
  11. * Form ID
  12. */
  13. const FORM_ID = 'user_edit';
  14. /**
  15. * @var \Magento\Captcha\Helper\Data
  16. */
  17. protected $helper;
  18. /**
  19. * @var \Magento\Captcha\Model\ResourceModel\LogFactory
  20. */
  21. public $resLogFactory;
  22. /**
  23. * ResetAttemptForFrontendAccountEditObserver constructor
  24. *
  25. * @param \Magento\Captcha\Helper\Data $helper
  26. * @param \Magento\Captcha\Model\ResourceModel\LogFactory $resLogFactory
  27. */
  28. public function __construct(
  29. \Magento\Captcha\Helper\Data $helper,
  30. \Magento\Captcha\Model\ResourceModel\LogFactory $resLogFactory
  31. ) {
  32. $this->helper = $helper;
  33. $this->resLogFactory = $resLogFactory;
  34. }
  35. /**
  36. * Reset Attempts For Frontend
  37. *
  38. * @param \Magento\Framework\Event\Observer $observer
  39. * @return \Magento\Captcha\Observer\ResetAttemptForFrontendObserver
  40. */
  41. public function execute(\Magento\Framework\Event\Observer $observer)
  42. {
  43. $email = $observer->getEmail();
  44. $captchaModel = $this->helper->getCaptcha(self::FORM_ID);
  45. $captchaModel->setShowCaptchaInSession(false);
  46. return $this->resLogFactory->create()->deleteUserAttempts($email);
  47. }
  48. }