namespace Rapsys\PackBundle\Form;
+use Rapsys\PackBundle\RapsysPackBundle;
use Rapsys\PackBundle\Util\ImageUtil;
use Rapsys\PackBundle\Util\SluggerUtil;
use Symfony\Component\Form\FormError;
use Symfony\Component\Form\FormEvent;
use Symfony\Component\Form\FormEvents;
+use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Contracts\Translation\TranslatorInterface;
/**
*/
public function buildForm(FormBuilderInterface $builder, array $options): void {
//With image, slugger and translator
- if ($this->image !== null && $this->slugger !== null && $this->translator !== null) {
+ if (!empty($options['captcha']) && $this->image !== null && $this->slugger !== null && $this->translator !== null) {
//Set captcha
- $captcha = $this->image->getCaptcha((new \DateTime('-1 year'))->getTimestamp());
+ $captcha = $this->image->getCaptcha();
//Add captcha token
$builder->add('_captcha_token', HiddenType::class, ['data' => $captcha['token'], 'empty_data' => $captcha['token'], 'mapped' => false]);
}
}
+ /**
+ * {@inheritdoc}
+ */
+ public function configureOptions(OptionsResolver $resolver): void {
+ //Call parent configure options
+ parent::configureOptions($resolver);
+
+ //Set defaults
+ $resolver->setDefaults(['captcha' => false, 'translation_domain' => RapsysPackBundle::getAlias()]);
+
+ //Add extra captcha option
+ $resolver->setAllowedTypes('captcha', 'boolean');
+ }
+
/**
* Validate captcha
*