src/Support/Forms/RecaptchaType.php line 10

Open in your IDE?
  1. <?php
  2. namespace Support\Forms;
  3. use Symfony\Component\Form\AbstractType;
  4. use Symfony\Component\OptionsResolver\OptionsResolver;
  5. use Symfony\Component\Form\FormInterface;
  6. use Symfony\Component\Form\FormView;
  7. class RecaptchaType extends AbstractType
  8. {
  9.     public function configureOptions(OptionsResolver $resolver)
  10.     {
  11.         //required values
  12.         $resolver->setDefined('site_key');
  13.         $resolver->setRequired('site_key');
  14.         //optional values
  15.         $resolver->setDefined('url');
  16.         $resolver->setDefined('theme');
  17.         $resolver->setDefined('type');
  18.         $resolver->setDefined('size');
  19.         $resolver->setDefined('culture');
  20.         $resolver->setDefaults([
  21.             'url' => 'https://www.google.com/recaptcha/api.js',
  22.             'theme' => 'light',
  23.             'type' => 'image',
  24.             'size' => 'normal',
  25.             'culture' => 'en',
  26.         ]);
  27.     }
  28.     public function buildView(FormView $viewFormInterface $form, array $options)
  29.     {
  30.         parent::buildView($view$form$options);
  31.         $vars = [
  32.             'key' => $options['site_key'],
  33.             'url' => $options['url'],
  34.             'theme' => $options['theme'],
  35.             'type' => $options['type'],
  36.             'size' => $options['size'],
  37.             'culture' => $options['culture'],
  38.         ];
  39.         $view->vars array_merge($view->vars$vars);
  40.     }
  41. }