/** * @return Zend_Form_Element_Captcha|Zend_Form_Element_Hidden */ protected function _captcha() { $registry = Zend_Registry::getInstance(); if (!isset($registry['captcha']) || isset($registry['captcha']) && $registry['captcha']) { $imgUrl = '/captcha'; $imgDir = PUBLIC_PATH . $imgUrl; // check captcha path is writeable if (is_writable($imgDir)) { $element = new Zend_Form_Element_Captcha('captcha', array('label' => "Please verify you're a human", 'captcha' => 'Image', 'captchaOptions' => array('captcha' => 'Image', 'wordLen' => 4, 'timeout' => 300, 'imgDir' => $imgDir, 'imgUrl' => $imgUrl, 'font' => dirname(APPLICATION_PATH) . "/data/fonts/Aksent_Normal.ttf", 'dotNoiseLevel' => 25, 'lineNoiseLevel' => 2, 'height' => 70))); } else { $element = new Zend_Form_Element_Captcha('captcha', array('label' => "Please verify you're a human", 'captcha' => 'Figlet', 'captchaOptions' => array('wordLen' => 4, 'timeout' => 300))); } $element->clearDecorators()->addDecorator('HtmlTag', array('tag' => '<div>', 'class' => 'captcha'))->addDecorator('Label')->addDecorator('Description', array('tag' => '<a>', 'class' => 'btn-reload captcha-refresh', 'title' => 'Press to reload image'))->setDescription('Reload')->addDecorator('Errors'); } else { $element = new Zend_Form_Element_Hidden('captcha'); } return $element; }