app/Customize/Event/CustomGoogleReCaptchaEvent.php line 56

Open in your IDE?
  1. <?php
  2. /*
  3. *
  4. * Plugin Name : Google reCAPTCHA v3 by FirstNetJapan
  5. *
  6. * Copyright (C) First Net Japan co.,Ltd All Rights Reserved.
  7. * https://www.1st-net.jp/
  8. *
  9. * For the full copyright and license information, please view the LICENSE
  10. * file that was distributed with this source code.
  11. *
  12. */
  13. namespace Customize\Event;
  14. use Eccube\Event\TemplateEvent;
  15. use GuzzleHttp\Client as HttpClient;
  16. use Plugin\FNJ_GoogleReCaptcha\Entity\GoogleReCaptchaConfig;
  17. use Plugin\FNJ_GoogleReCaptcha\Repository\GoogleReCaptchaConfigRepository;
  18. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  19. use Symfony\Component\HttpFoundation\Request;
  20. use Symfony\Component\HttpFoundation\RequestStack;
  21. class CustomGoogleReCaptchaEvent implements EventSubscriberInterface
  22. {
  23.     /**
  24.      * @var GoogleReCaptchaConfigRepository
  25.      */
  26.     protected $GoogleReCaptchaConfigRepository;
  27.     private $requestStack;
  28.     /**
  29.      * ProductReview constructor.
  30.      * 
  31.      * @param GoogleReCaptchaConfigRepository $GoogleReCaptchaConfigRepository
  32.      */
  33.     public function __construct(GoogleReCaptchaConfigRepository $GoogleReCaptchaConfigRepositoryRequestStack $requestStack)
  34.     {
  35.         $this->GoogleReCaptchaConfigRepository $GoogleReCaptchaConfigRepository;
  36.         $this->requestStack $requestStack;
  37.     }
  38.     /**
  39.      * @return array
  40.      */
  41.     public static function getSubscribedEvents()
  42.     {
  43.         return [
  44.             'EstimateRequest/login.twig'         => 'customGoogleReCaptchaViews',
  45.         ];
  46.     }
  47.     /**
  48.      * @param TemplateEvent $event
  49.      * @param GoogleReCaptchaConfig $GoogleReCaptchaConfig
  50.      */
  51.     public function customGoogleReCaptchaViews(TemplateEvent $event)
  52.     {
  53.         $Config $this->GoogleReCaptchaConfigRepository->get();
  54.         if ($Config === null) {
  55.             return;
  56.         }
  57.         $request Request::createFromGlobals();
  58.         $currentUrl $request->getRequestUri(); 
  59.         $twig 'FNJ_GoogleReCaptcha/Resource/template/default/set_google_re_captcha.twig';
  60.         $event->addSnippet($twig); 
  61.         $parameters $event->getParameters();
  62.         $parameters['BadgeDisplay'] = $Config->getBadgeDisplay();
  63.         $parameters['BadgePosition'] = $Config->getBadgePosition();
  64.         $parameters['ScoreJudgement'] = $Config->getScoreJudgement();
  65.         $parameters['GoogleReCaptchaSiteKey'] = $Config->getGoogleReCaptchaSiteKey();
  66.         if (strpos($currentUrl"/estimate_request/login") !== false) {
  67.             $parameters['SetCheck'] = $Config->getLoginPage();
  68.         }
  69.         $event->setParameters($parameters);
  70.     }
  71. }