src/Form/ResetPasswordRequestFormType.php line 22

Open in your IDE?
  1. <?php
  2. namespace App\Form;
  3. use App\Form\RecaptchaType;
  4. use Symfony\Component\Form\AbstractType;
  5. use Karser\Recaptcha3Bundle\Form\Recaptcha3Type;
  6. use Symfony\Component\Form\FormBuilderInterface;
  7. use Symfony\Component\HttpFoundation\RequestStack;
  8. use Symfony\Component\Validator\Constraints\NotBlank;
  9. use Symfony\Component\OptionsResolver\OptionsResolver;
  10. use Symfony\Contracts\Translation\TranslatorInterface;
  11. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  12. use Symfony\Component\Form\Extension\Core\Type\HiddenType;
  13. use Symfony\Component\Form\Extension\Core\Type\SubmitType;
  14. use Karser\Recaptcha3Bundle\Validator\Constraints\Recaptcha3;
  15. use Symfony\Component\HttpFoundation\Session\SessionInterface;
  16. class ResetPasswordRequestFormType extends AbstractType
  17. {
  18.     private $translator;
  19.     private $requestStack;
  20.     private $session;
  21.     public function __construct(TranslatorInterface $translator,RequestStack $requestStack)
  22.     {
  23.         $this->setTranslator($translator);
  24.         $this->requestStack $requestStack;
  25.     }
  26.     public function buildForm(FormBuilderInterface $builder, array $options): void
  27.     {
  28.         $this->session $this->getRequestStack()->getSession();
  29.         $locale $this->getSession()->get('_locale''en');
  30.         
  31.         $email$this->getTranslator()->trans('email'$locale);
  32.         $saissiemail$this->getTranslator()->trans('saissiemail'$locale);
  33.         $humanvalidation$this->getTranslator()->trans('humanvalidation'$locale);
  34.         //  dd($email);
  35.         
  36.         $builder
  37.             ->add('email'EmailType::class, [
  38.                 'label' => false,
  39.                 'attr' => ['autocomplete' => $email,
  40.                 'class' => 'p',
  41.                 'placeholder' => $email,
  42.                 'style' => 'border: 2px solid #4CAF50; border-radius: 5px; padding: 10px;'
  43.             ],
  44.                 'constraints' => [
  45.                     new NotBlank([
  46.                         'message' => $saissiemail,
  47.                     ]),
  48.                 ],
  49.             ])
  50.             
  51.             ->add('captcha'RecaptchaType::class, [
  52.                 'site_key' => $options['site_key'],
  53.             ])
  54.             // ->add('recaptcha', RecaptchaType::class, [
  55.             //     'site_key' => $_ENV['RECAPTCHA3_SITE_KEY'],
  56.             // ]);
  57.             
  58.             // ->add('recaptcha', RecaptchaType::class, [
  59.             //     'site_key' => $_ENV['RECAPTCHA3_SITE_KEY'],
  60.             //     'label' => $humanvalidation,
  61.             // ])
  62.             
  63.             // ->add('g_recaptcha_response', HiddenType::class, [
  64.             //     'mapped'=>false,
  65.             //     'label' => $humanvalidation,
  66.             // ])
  67.             ->add('submit'SubmitType::class)
  68.             ;
  69.             // ->add('recaptcha', Recaptcha3Type::class, [
  70.             //     'constraints' => new Recaptcha3(),
  71.             //     'action_name' => 'app_forgot_password_request',
  72.             // ]);
  73.             
  74.             
  75.     }
  76.     public function configureOptions(OptionsResolver $resolver): void
  77.     {
  78.         $resolver->setDefaults([
  79.             'site_key' => getenv('GOOGLE_RECAPTCHA_SITE_KEY'),
  80.         ]);
  81.     }
  82.     /**
  83.      * Set the value of translator
  84.      *
  85.      * @return  self
  86.      */ 
  87.     public function setTranslator($translator)
  88.     {
  89.         $this->translator $translator;
  90.         return $this;
  91.     }
  92.     /**
  93.      * Get the value of requestStack
  94.      */ 
  95.     public function getRequestStack()
  96.     {
  97.         return $this->requestStack;
  98.     }
  99.     /**
  100.      * Get the value of session
  101.      */ 
  102.     public function getSession()
  103.     {
  104.         return $this->session;
  105.     }
  106.     /**
  107.      * Get the value of translator
  108.      */ 
  109.     public function getTranslator()
  110.     {
  111.         return $this->translator;
  112.     }
  113. }