Remove caching of form name for key
This commit is contained in:
parent
ba9e0818a5
commit
1437f0c7e0
|
@ -36,12 +36,6 @@ class CaptchaType extends AbstractType
|
||||||
*/
|
*/
|
||||||
private $options = array();
|
private $options = array();
|
||||||
|
|
||||||
/**
|
|
||||||
* Session key
|
|
||||||
* @var string
|
|
||||||
*/
|
|
||||||
private $key = 'captcha';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param \Symfony\Component\HttpFoundation\Session\SessionInterface $session
|
* @param \Symfony\Component\HttpFoundation\Session\SessionInterface $session
|
||||||
* @param \Gregwar\CaptchaBundle\Generator\CaptchaGenerator $generator
|
* @param \Gregwar\CaptchaBundle\Generator\CaptchaGenerator $generator
|
||||||
|
@ -60,9 +54,13 @@ class CaptchaType extends AbstractType
|
||||||
*/
|
*/
|
||||||
public function buildForm(FormBuilderInterface $builder, array $options)
|
public function buildForm(FormBuilderInterface $builder, array $options)
|
||||||
{
|
{
|
||||||
$this->key = $builder->getForm()->getName();
|
$validator = new CaptchaValidator(
|
||||||
|
$this->session,
|
||||||
|
$builder->getForm()->getName(),
|
||||||
|
$options['invalid_message'],
|
||||||
|
$options['bypass_code']
|
||||||
|
);
|
||||||
|
|
||||||
$validator = new CaptchaValidator($this->session, $this->key, $options['invalid_message'], $options['bypass_code']);
|
|
||||||
$builder->addEventListener(FormEvents::POST_BIND, array($validator, 'validate'));
|
$builder->addEventListener(FormEvents::POST_BIND, array($validator, 'validate'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,7 +74,7 @@ class CaptchaType extends AbstractType
|
||||||
$view->vars = array_merge($view->vars, array(
|
$view->vars = array_merge($view->vars, array(
|
||||||
'captcha_width' => $options['width'],
|
'captcha_width' => $options['width'],
|
||||||
'captcha_height' => $options['height'],
|
'captcha_height' => $options['height'],
|
||||||
'captcha_code' => $this->generator->getCaptchaCode($this->key, $options),
|
'captcha_code' => $this->generator->getCaptchaCode($form->getName(), $options),
|
||||||
'value' => '',
|
'value' => '',
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue