X-Git-Url: https://git.rapsys.eu/packbundle/blobdiff_plain/f06acce2c1058d581657163417952723ff6d71cd..cb898714d95a386fbd23c8d6f2292fc33f330a74:/Form/CaptchaType.php

diff --git a/Form/CaptchaType.php b/Form/CaptchaType.php
index 83f3b1b..c3a5f69 100644
--- a/Form/CaptchaType.php
+++ b/Form/CaptchaType.php
@@ -21,6 +21,7 @@ use Symfony\Component\Form\FormBuilderInterface;
 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;
 
 /**
@@ -32,8 +33,8 @@ class CaptchaType extends AbstractType {
 	/**
 	 * Constructor
 	 *
-	 * @param ?ImageUtil $image
-	 * @param ?SluggerUtil $slugger
+	 * @param ?ImageUtil $image The image instance
+	 * @param ?SluggerUtil $slugger The slugger instance
 	 * @param ?TranslatorInterface $translator The translator instance
 	 */
 	public function __construct(protected ?ImageUtil $image = null, protected ?SluggerUtil $slugger = null, protected ?TranslatorInterface $translator = null) {
@@ -46,7 +47,7 @@ class CaptchaType extends AbstractType {
 	 */
 	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());
 
@@ -61,6 +62,20 @@ class CaptchaType extends AbstractType {
 		}
 	}
 
+	/**
+	 * {@inheritdoc}
+	 */
+	public function configureOptions(OptionsResolver $resolver): void {
+		//Call parent configure options
+		parent::configureOptions($resolver);
+
+		//Set defaults
+		$resolver->setDefaults(['captcha' => false]);
+
+		//Add extra captcha option
+		$resolver->setAllowedTypes('captcha', 'boolean');
+	}
+
 	/**
 	 * Validate captcha
 	 *