110 lines
3.4 KiB
PHP
110 lines
3.4 KiB
PHP
<?php
|
|
|
|
/* vim: set expandtab tabstop=4 shiftwidth=4: */
|
|
|
|
/**
|
|
* Element for HTML_QuickForm to display a CAPTCHA figlet
|
|
*
|
|
* The HTML_QuickForm_CAPTCHA package adds an element to the
|
|
* HTML_QuickForm package to display a CAPTCHA figlet.
|
|
*
|
|
* This package requires the use of a PHP session.
|
|
*
|
|
* PHP versions 4 and 5
|
|
*
|
|
* @category HTML
|
|
* @package HTML_QuickForm_CAPTCHA
|
|
* @author Philippe Jausions <Philippe.Jausions@11abacus.com>
|
|
* @copyright 2006-2008 by Philippe Jausions / 11abacus
|
|
* @license http://www.opensource.org/licenses/bsd-license.php New BSD
|
|
* @version CVS: $Id: Figlet.php,v 1.1 2008/04/26 23:27:30 jausions Exp $
|
|
* @link http://pear.php.net/package/HTML_QuickForm_CAPTCHA
|
|
*/
|
|
|
|
/**
|
|
* Element for HTML_QuickForm to display a CAPTCHA figlet
|
|
*
|
|
* The HTML_QuickForm_CAPTCHA package adds an element to the
|
|
* HTML_QuickForm package to display a CAPTCHA figlet
|
|
*
|
|
* Options for the element
|
|
* <ul>
|
|
* <li>'width' (integer) Width of figlet (default is 200px)</li>
|
|
* <li>'output' (string) Output format: "html", "text" or
|
|
* "javascript" (default is "html").</li>
|
|
* <li>'length' (integer) number of letters in the figlet
|
|
* (default is 6)</li>
|
|
* <li>'options' (array) only index supported is "font_file", which
|
|
* should either be one figlet font file path,
|
|
* or an array of figlet font file paths
|
|
* (one we be picked randomly)</li>
|
|
* <li>'sessionVar' (string) name of session variable containing
|
|
* the Text_CAPTCHA instance (defaults to
|
|
* _HTML_QuickForm_CAPTCHA.)</li>
|
|
* </ul>
|
|
*
|
|
* This package requires the use of a PHP session.
|
|
*
|
|
* @category HTML
|
|
* @package HTML_QuickForm_CAPTCHA
|
|
* @author Philippe Jausions <Philippe.Jausions@11abacus.com>
|
|
* @copyright 2006-2008 by Philippe Jausions / 11abacus
|
|
* @license http://www.opensource.org/licenses/bsd-license.php New BSD
|
|
* @version Release: 0.3.0
|
|
* @link http://pear.php.net/package/HTML_QuickForm_CAPTCHA
|
|
* @see Text_CAPTCHA_Driver_Figlet
|
|
*/
|
|
class HTML_QuickForm_CAPTCHA_Figlet extends HTML_QuickForm_CAPTCHA
|
|
{
|
|
/**
|
|
* Default options
|
|
*
|
|
* @var array
|
|
* @access protected
|
|
*/
|
|
var $_options = array(
|
|
'sessionVar' => '_HTML_QuickForm_CAPTCHA',
|
|
'output' => 'html',
|
|
'width' => 200,
|
|
'length' => 6,
|
|
'phrase' => null,
|
|
);
|
|
|
|
/**
|
|
* CAPTCHA driver
|
|
*
|
|
* @var string
|
|
* @access protected
|
|
*/
|
|
var $_CAPTCHA_driver = 'Figlet';
|
|
|
|
|
|
/**
|
|
* Returns the HTML for the CAPTCHA
|
|
*
|
|
* This can be overwritten by sub-classes for specific output behavior
|
|
* (for instance the Image CAPTCHA displays an image)
|
|
*
|
|
* @access public
|
|
* @return string
|
|
*/
|
|
function toHtml()
|
|
{
|
|
$result = $this->_initCAPTCHA();
|
|
if (PEAR::isError($result)) {
|
|
return $result;
|
|
}
|
|
|
|
$attr = $this->_attributes;
|
|
unset($attr['type']);
|
|
unset($attr['value']);
|
|
unset($attr['name']);
|
|
|
|
$html = $this->_getTabs()
|
|
. '<div' . $this->_getAttrString($attr) . '>'
|
|
. $_SESSION[$this->_options['sessionVar']]->getCAPTCHA()
|
|
. '</div>';
|
|
return $html;
|
|
}
|
|
}
|