Files
gallery3/kohana/libraries/drivers/Captcha/Word.php
Bharat Mediratta 3b35e8b91c Refresh kohana from upstream svn trunk r3771.
During this process, remove a considerable number of files from kohana
that we will not be needing in Gallery3, including the following files
and directories:
    kohana/application
    kohana/example.htaccess
    kohana/index.php
    kohana/install.php
    kohana/kohana.png
    kohana/modules/archive
    kohana/modules/auth
    kohana/modules/flot
    kohana/modules/gmaps
    kohana/modules/kodoc
    kohana/modules/payment
    kohana/modules/smarty
    kohana/modules/unit_test/i18n
    kohana/modules/unit_test/tests/Example_Test.php
    kohana/modules/unit_test/tests/Valid_Test.php
    kohana/system/config/captcha.php
    kohana/system/controllers/captcha.php
    kohana/system/fonts
    kohana/system/i18n
    kohana/system/libraries/Calendar.php
    kohana/system/libraries/Calendar_Event.php
    kohana/system/libraries/Captcha.php
    kohana/system/libraries/Tagcloud.php
    kohana/system/vendor
    kohana/system/views/pagination
    kohana/system/views/kohana_calendar.php
2008-12-15 08:56:18 +00:00

37 lines
918 B
PHP

<?php defined('SYSPATH') OR die('No direct access allowed.');
/**
* Captcha driver for "word" style.
*
* $Id$
*
* @package Captcha
* @author Kohana Team
* @copyright (c) 2007-2008 Kohana Team
* @license http://kohanaphp.com/license.html
*/
class Captcha_Word_Driver extends Captcha_Basic_Driver {
/**
* Generates a new Captcha challenge.
*
* @return string the challenge answer
*/
public function generate_challenge()
{
// Load words from the current language and randomize them
$words = Kohana::lang('captcha.words');
shuffle($words);
// Loop over each word...
foreach ($words as $word)
{
// ...until we find one of the desired length
if (abs(Captcha::$config['complexity'] - strlen($word)) < 2)
return strtoupper($word);
}
// Return any random word as final fallback
return strtoupper($words[array_rand($words)]);
}
} // End Captcha Word Driver Class