<?php
namespace Support\Forms;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Form\FormInterface;
use Symfony\Component\Form\FormView;
class RecaptchaType extends AbstractType
{
public function configureOptions(OptionsResolver $resolver)
{
//required values
$resolver->setDefined('site_key');
$resolver->setRequired('site_key');
//optional values
$resolver->setDefined('url');
$resolver->setDefined('theme');
$resolver->setDefined('type');
$resolver->setDefined('size');
$resolver->setDefined('culture');
$resolver->setDefaults([
'url' => 'https://www.google.com/recaptcha/api.js',
'theme' => 'light',
'type' => 'image',
'size' => 'normal',
'culture' => 'en',
]);
}
public function buildView(FormView $view, FormInterface $form, array $options)
{
parent::buildView($view, $form, $options);
$vars = [
'key' => $options['site_key'],
'url' => $options['url'],
'theme' => $options['theme'],
'type' => $options['type'],
'size' => $options['size'],
'culture' => $options['culture'],
];
$view->vars = array_merge($view->vars, $vars);
}
}