1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
<?php
/**
* Captcha Helper.
*
* @package Silla.IO
* @subpackage CMS\Helpers
* @author Plamen Nikolov <plamen@athlonsofia.com>
* @copyright Copyright (c) 2015, Silla.io
* @license http://opensource.org/licenses/GPL-3.0 GNU General Public License, version 3.0 (GPLv3)
*/
namespace CMS\Helpers;
use Core;
/**
* Captcha Message Helper Class definition.
*/
class Captcha
{
/**
* Fetches the HTML for the captcha.
*
* @param array $configuration Configuration data.
*
* @static
* @uses Core\Session()
*
* @return \Captcha\Captcha
*/
public static function get(array $configuration)
{
$captcha = Core\Session()->get('captcha');
if (!$captcha && Core\Session()->get('login_attempts') >= Core\Config()->CAPTCHA_LOGIN_ATT) {
$captcha = new \Captcha\Captcha();
$captcha->setPublicKey($configuration['public_key']);
$captcha->setPrivateKey($configuration['private_key']);
Core\Session()->set('captcha', $captcha);
}
return $captcha;
}
/**
* Check if submitted captcha is valid.
*
* @param \Captcha\Captcha $captcha Captcha instance.
*
* @return boolean
*/
public static function isValid(\Captcha\Captcha $captcha)
{
return $captcha->check()->isValid();
}
/**
* Retrieve captcha Template.
*
* @param \Captcha\Captcha $captcha Captcha instance.
*
* @return string
*/
public static function getTemplate(\Captcha\Captcha $captcha)
{
return $captcha->html();
}
}