diff options
Diffstat (limited to 'kohana/libraries/drivers/Captcha/Riddle.php')
| -rw-r--r-- | kohana/libraries/drivers/Captcha/Riddle.php | 47 | 
1 files changed, 47 insertions, 0 deletions
| diff --git a/kohana/libraries/drivers/Captcha/Riddle.php b/kohana/libraries/drivers/Captcha/Riddle.php new file mode 100644 index 00000000..a19b906c --- /dev/null +++ b/kohana/libraries/drivers/Captcha/Riddle.php @@ -0,0 +1,47 @@ +<?php defined('SYSPATH') OR die('No direct access allowed.'); +/** + * Captcha driver for "riddle" style. + * + * $Id$ + * + * @package    Captcha + * @author     Kohana Team + * @copyright  (c) 2007-2008 Kohana Team + * @license    http://kohanaphp.com/license.html + */ +class Captcha_Riddle_Driver extends Captcha_Driver { + +	private $riddle; + +	/** +	 * Generates a new Captcha challenge. +	 * +	 * @return  string  the challenge answer +	 */ +	public function generate_challenge() +	{ +		// Load riddles from the current language +		$riddles = Kohana::lang('captcha.riddles'); + +		// Pick a random riddle +		$riddle = $riddles[array_rand($riddles)]; + +		// Store the question for output +		$this->riddle = $riddle[0]; + +		// Return the answer +		return $riddle[1]; +	} + +	/** +	 * Outputs the Captcha riddle. +	 * +	 * @param   boolean  html output +	 * @return  mixed +	 */ +	public function render($html) +	{ +		return $this->riddle; +	} + +} // End Captcha Riddle Driver Class
\ No newline at end of file | 
