app/Plugin/ReCaptcha/Event.php line 79

Open in your IDE?
  1. <?php
  2. namespace Plugin\ReCaptcha;
  3. use Eccube\Event\TemplateEvent;
  4. use Plugin\ReCaptcha\Repository\RecaptchaRepository;
  5. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  6. class Event implements EventSubscriberInterface
  7. {
  8.     /**
  9.      * @var RecaptchaRepository
  10.      */
  11.     protected $recaptchaRepository;
  12.     /**
  13.      * RecaptchaController constructor.
  14.      *
  15.      * @param RecaptchaRepository $recaptchaRepository
  16.      */
  17.     public function __construct(RecaptchaRepository $recaptchaRepository)
  18.     {
  19.         $this->recaptchaRepository $recaptchaRepository;
  20.     }
  21.     /**
  22.      * @inheritDoc
  23.      */
  24.     public static function getSubscribedEvents()
  25.     {
  26.         return [
  27.             'Entry/index.twig' => 'entryTwig',
  28.             'Entry/confirm.twig' => 'entryConfirmTwig',
  29.             'Mypage/login.twig' => 'loginTwig',
  30.             'Mypage/change.twig' => 'changeTwig',
  31.             'Shopping/login.twig' => 'orderTwig',
  32.             'Shopping/index.twig' => 'orderTwig',
  33.             'Shopping/confirm.twig' => 'orderConfirmTwig',
  34.             'Contact/index.twig' => 'contactTwig',
  35.             'Contact/confirm.twig' => 'contactConfirmTwig',
  36.         ];
  37.     }
  38.     /**
  39.      * @param TemplateEvent $event
  40.      */
  41.     public function entryTwig(TemplateEvent $event)
  42.     {
  43.         $this->addEntryRecaptcha($event);
  44.     }
  45.     /**
  46.      * @param TemplateEvent $event
  47.      */
  48.     public function entryConfirmTwig(TemplateEvent $event)
  49.     {
  50.         $this->addEntryRecaptcha($eventtrue);
  51.     }
  52.     /**
  53.      * @param TemplateEvent $event
  54.      */
  55.     public function loginTwig(TemplateEvent $event)
  56.     {
  57.         $this->addLoginRecaptcha($eventtrue);
  58.     }
  59.     /**
  60.      * @param TemplateEvent $event
  61.      */
  62.     public function changeTwig(TemplateEvent $event)
  63.     {
  64.         $this->addChangeRecaptcha($eventtrue);
  65.     }
  66.     /**
  67.      * @param TemplateEvent $event
  68.      */
  69.     public function orderTwig(TemplateEvent $event)
  70.     {
  71.         $this->addOrderRecaptcha($event);
  72.     }
  73.     /**
  74.      * @param TemplateEvent $event
  75.      */
  76.     public function orderConfirmTwig(TemplateEvent $event)
  77.     {
  78.         $this->addOrderRecaptcha($eventtrue);
  79.     }
  80.     /**
  81.      * @param TemplateEvent $event
  82.      */
  83.     public function contactTwig(TemplateEvent $event)
  84.     {
  85.         $this->addContactRecaptcha($event);
  86.     }
  87.     /**
  88.      * @param TemplateEvent $event
  89.      */
  90.     public function contactConfirmTwig(TemplateEvent $event)
  91.     {
  92.         $this->addContactRecaptcha($eventtrue);
  93.     }
  94.     /**
  95.      * @param TemplateEvent $event
  96.      */
  97.     private function addEntryRecaptcha(TemplateEvent $event$mode false)
  98.     {
  99.         /** @var \Plugin\ReCaptcha\Entity\Recaptcha $Recaptcha */
  100.         $Recaptcha $this->recaptchaRepository->get();
  101.         if ($Recaptcha->getSiteKey() && $Recaptcha->getSecretKey() && $Recaptcha->getEntryPageEnabled()) {
  102.             $event->addSnippet('@ReCaptcha/default/Entry/recaptcha_entry.twig');
  103.             if ($mode) {
  104.                 $event->addSnippet('@ReCaptcha/common/mode.twig');
  105.             }
  106.             $event->setParameter('recaptcha_site_key'$Recaptcha->getSiteKey());
  107.             $event->setParameter('show_grecaptcha_badge'$Recaptcha->getShowGrecapthaBadgeEnabled());
  108.         }
  109.     }
  110.     /**
  111.      * @param TemplateEvent $event
  112.      */
  113.     private function addLoginRecaptcha(TemplateEvent $event$mode false)
  114.     {
  115.         /** @var \Plugin\ReCaptcha\Entity\Recaptcha $Recaptcha */
  116.         $Recaptcha $this->recaptchaRepository->get();
  117.         if ($Recaptcha->getSiteKey() && $Recaptcha->getSecretKey() && $Recaptcha->getLoginPageEnabled()) {
  118.             $event->addSnippet('@ReCaptcha/common/extension.twig');
  119.             $event->addSnippet('@ReCaptcha/default/Mypage/recaptcha_login.twig');
  120.             if ($mode) {
  121.                 $event->addSnippet('@ReCaptcha/common/mode.twig');
  122.             }
  123.             $event->setParameter('recaptcha_site_key'$Recaptcha->getSiteKey());
  124.             $event->setParameter('show_grecaptcha_badge'$Recaptcha->getShowGrecapthaBadgeEnabled());
  125.         }
  126.     }
  127.     /**
  128.      * @param TemplateEvent $event
  129.      */
  130.     private function addChangeRecaptcha(TemplateEvent $event$mode false)
  131.     {
  132.         /** @var \Plugin\ReCaptcha\Entity\Recaptcha $Recaptcha */
  133.         $Recaptcha $this->recaptchaRepository->get();
  134.         if ($Recaptcha->getSiteKey() && $Recaptcha->getSecretKey() && $Recaptcha->getChangeMypageEnabled()) {
  135.             $event->addSnippet('@ReCaptcha/common/extension.twig');
  136.             $event->addSnippet('@ReCaptcha/default/Mypage/recaptcha_change.twig');
  137.             if ($mode) {
  138.                 $event->addSnippet('@ReCaptcha/common/mode.twig');
  139.             }
  140.             $event->setParameter('recaptcha_site_key'$Recaptcha->getSiteKey());
  141.             $event->setParameter('show_grecaptcha_badge'$Recaptcha->getShowGrecapthaBadgeEnabled());
  142.         }
  143.     }
  144.     /**
  145.      * @param TemplateEvent $event
  146.      */
  147.     private function addOrderRecaptcha(TemplateEvent $event$mode false)
  148.     {
  149.         /** @var \Plugin\ReCaptcha\Entity\Recaptcha $Recaptcha */
  150.         $Recaptcha $this->recaptchaRepository->get();
  151.         if ($Recaptcha->getSiteKey() && $Recaptcha->getSecretKey() && $Recaptcha->getOrderPageEnabled()) {
  152.             $event->addSnippet('@ReCaptcha/common/extension.twig');
  153.             $event->addSnippet('@ReCaptcha/default/Shopping/recaptcha_order.twig');
  154.             if ($mode) {
  155.                 $event->addSnippet('@ReCaptcha/common/mode.twig');
  156.             }
  157.             $event->setParameter('recaptcha_site_key'$Recaptcha->getSiteKey());
  158.             $event->setParameter('show_grecaptcha_badge'$Recaptcha->getShowGrecapthaBadgeEnabled());
  159.         }
  160.     }
  161.     /**
  162.      * @param TemplateEvent $event
  163.      */
  164.     private function addContactRecaptcha(TemplateEvent $event$mode false)
  165.     {
  166.         /** @var \Plugin\ReCaptcha\Entity\Recaptcha $Recaptcha */
  167.         $Recaptcha $this->recaptchaRepository->get();
  168.         if ($Recaptcha->getSiteKey() && $Recaptcha->getSecretKey() && $Recaptcha->getContactPageEnabled()) {
  169.             $event->addSnippet('@ReCaptcha/common/extension.twig');
  170.             $event->addSnippet('@ReCaptcha/default/Contact/recaptcha_contact.twig');
  171.             if ($mode) {
  172.                 $event->addSnippet('@ReCaptcha/common/mode.twig');
  173.             }
  174.             $event->setParameter('recaptcha_site_key'$Recaptcha->getSiteKey());
  175.             $event->setParameter('show_grecaptcha_badge'$Recaptcha->getShowGrecapthaBadgeEnabled());
  176.         }
  177.     }
  178. }