Estoy teniendo un problema con un captcha en Zend Framework, implemente el formulario con zend_captcha que se ve en el codigo.
Funciona muy bien, el unico problema es que las imagenes no se borran de la carpeta donde se guardan las imagenes (imagenes/captchas).
En el Zend_Form_Element_Captcha le puse al valor timeout = 300, que segun entiendo es el valor para que posteriormente se borre la imagen, sin embargo las imagenes no se borran.
Les coloco el codigo para ver si me falta algo, porque ya le estuve dando vueltas al asunto y no le he encontrado solucion.
Código PHP:
public function formu(){
$form=new Zend_Form;
$form->setAction('/registro/index/controlzendform');
$form->setMethod('post');
$form->setAttribs(array('HtmlTag',array('class' => 'form_usuario')));
//$form->setDecorators(array('FormElements',array(array('data'=>'HtmlTag'),array('tag'=>'table','cellspacing'=>'8'))));
$username = new Zend_Form_Element_Text('username');
$username->addValidator('alnum');
$username->setRequired(true);
$username->addFilter('StringtoLower');
$username->setLabel('Usuario:');
$username->addValidator('StringLength', false, array(5,14));
$username->setAttrib('class','form_usuario');
$username->addDecorator('HtmlTag',array('class' => 'form_usuario'));
//$username->addDecorator('HtmlTag',array('tag' => 'span'));
$password = new Zend_Form_Element_Password('password');
$password->addValidator('StringLength', false, array(4,14));
$password->setLabel('Password:');
$password->setRequired(true);
$password->setAttrib('class','form_usuario');
$password->addDecorator('HtmlTag',array('tag' => 'div','class' => 'form_usuario'));
$dospassword = new Zend_Form_Element_Password('dospassword');
$dospassword->addValidator('StringLength', false, array(4,14));
$dospassword->setLabel('Confirmar Password:');
$dospassword->setRequired(true);
$dospassword->setAttrib('class','form_usuario');
$dospassword->addDecorator('HtmlTag',array('class' => 'form_usuario'));
$dospassword->addValidator('Identical', false, array($this->getRequest()->getParam('password')));
$captcha = new Zend_Form_Element_Captcha('foo', array(
'label' =>"Verificacion:",
'captcha' => array(
'captcha' => 'image',//Figlet
'wordLen' => 4,
'timeout' => 300,
'gcFreq' => 50,
'font' => PUBLIC_PATH .'/library/fuentecaptcha/Arial.ttf',
'fontSize' => '24',
'width' => 160,
'height' => 50,
'imgDir' => PUBLIC_PATH . '/public/images/captchas/',
'imgUrl' => PUBLIC_PATH .'/public/images/captchas/',
'expiration' => 50,
),
));
$captcha->addDecorator('HtmlTag',array('class' => 'form_usuario'));
/*
$fuente=PUBLIC_PATH .'/library/fuentecaptcha/Arial.ttf';
$ruta=PUBLIC_PATH .'/public/images/captchas/';
$captcha=new Zend_Form_Element_Captcha('foo');
$captcha->setExpiration(50);
$captcha->setLabel('Verificacion del captcha');
$captcha->setFont($fuente);
$captcha->setImgDir($ruta);
$captcha->setImgUrl($ruta);
$captcha->setWordLen(5);
$captcha->setWidth(190);
$captcha->setHeigt(50);
*/
$submit = new Zend_Form_Element_Submit('login');
$submit->setLabel('Loguear');
$form->addElements(array(
$username,
$password,
$dospassword,
$captcha,
$submit
));
return $form;
}