58 lines
1.1 KiB
PHP
58 lines
1.1 KiB
PHP
<?php
|
|
namespace Helpers;
|
|
|
|
class Captcha extends \Zend_Controller_Plugin_Abstract
|
|
{
|
|
public $captcha;
|
|
|
|
private $sessionName = "captcha";
|
|
private $imgDir = "images/captcha";
|
|
|
|
function __construct($db = NULL)
|
|
{
|
|
$this->loadCaptcha();
|
|
}
|
|
|
|
public function loadCaptcha()
|
|
{
|
|
$this->captcha = new \Zend_Captcha_Image(array(
|
|
'captcha' => 'Image',
|
|
'wordLen' => 4,
|
|
'fontsize'=>16,
|
|
'width' => 100,
|
|
'height' => 38,
|
|
'dotNoiseLevel'=>2,
|
|
'lineNoiseLevel'=>1,
|
|
'timeout' => 300,
|
|
'font' => '../data/fonts/ggbi.ttf',
|
|
'imgDir' => $this->imgDir,
|
|
'imgUrl' => '/images/captcha',
|
|
));
|
|
}
|
|
|
|
public function setCaptcha(){
|
|
if(!is_dir($this->imgDir))
|
|
{
|
|
mkdir($this->imgDir);
|
|
}
|
|
|
|
$this->captcha->generate();
|
|
$_SESSION[$this->sessionName] = $this->captcha->getWord();
|
|
$url = $this->captcha->getImgUrl()
|
|
.$this->captcha->getId()
|
|
.$this->captcha->getSuffix();
|
|
|
|
return $url;
|
|
}
|
|
|
|
public function isValid($captchaword)
|
|
{
|
|
if($captchaword == $_SESSION[$this->sessionName])
|
|
{
|
|
return true;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
} |