Всем, привет.Версия 1.10.6. Пытаюсь подключить recaptcha google.Родную отключил.Переписал плагин, обозвал по новому.Сама капча работает. Т.е. галочка ставится, картинки выбираются. Но вот с проверкой ни как не сладить.вот плагин
Спойлер
class p_captcha extends cmsPlugin {
'pubkey' => '' ,
'privkey' => ''
) ;
public function __construct( ) {
global $_LANG ;
// Информация о плагине
$this -> info [ 'plugin' ] = 'p_captcha' ;
$this -> info [ 'title' ] = $_LANG [ 'P_CAPTCHA_TITLE' ] ;
$this -> info [ 'description' ] = $_LANG [ 'P_CAPTCHA_DESCRIPTION' ] ;
$this -> info [ 'author' ] = 'InstantCMS Team' ;
$this -> info [ 'version' ] = '1.0' ;
$this -> info [ 'published' ] = 1 ;
$this -> info [ 'plugin_type' ] = 'captcha' ;
$this -> events [ ] = 'GET_CAPTCHA' ;
$this -> events [ ] = 'CHECK_CAPTCHA' ;
parent:: __construct( ) ;
}
/**
* Обработка событий
* @param string $event
* @param array $item
* @return html
*/
public function execute
( $event = '' , $item = array ( ) ) {
switch ( $event ) {
case 'GET_CAPTCHA' : return $this -> getCaptcha ( ) ;
case 'CHECK_CAPTCHA' : return $this -> checkCaptcha ( ) ;
}
return ;
}
/**
* Возвращает код каптчи
* @return html
*/
public function getCaptcha( ) {
global $_LANG ;
$pubkey = $this -> config [ 'pubkey' ] ;
if ( $pubkey == null || $pubkey == '' ) {
cmsCore:: addSessionMessage ( $_LANG [ 'ERROR_CAPTCHA' ] , 'error' ) ; $errors = true ;
}
cmsPage:: initTemplate ( 'plugins' , 'p_captcha.tpl' ) ->
assign ( 'pubkey' , $pubkey ) ->
display ( 'p_captcha.tpl' ) ;
}
/**
* Проверяет код каптчи
*/
public function checkCaptcha( ) {
$privkey = $this -> config [ 'privkey' ] ;
$response = 'g-recaptcha-response' ;
$url = 'https://www.google.com/recaptcha/api/siteverify?secret=' . $privkey . '&response=' . $response ;
if ( $privkey == null || $privkey == '' ) {
cmsCore:: addSessionMessage ( $_LANG [ 'ERROR_CAPTCHA' ] , 'error' ) ; $errors = true ;
}
$val = $this -> getGooglePage ( $url ) ;
}
public function getGooglePage( $url ) {
return $result ;
}
}
Проверка в файле frontend.php от родной капчи
if ( ! cmsPage:: checkCaptchaCode ( ) ) { cmsCore:: addSessionMessage ( $_LANG [ 'ERR_CAPTCHA' ] , 'error' ) ; $errors = true ; }
page.class.php
public static function checkCaptchaCode( ) {
return cmsCore:: callEvent ( 'CHECK_CAPTCHA' , false ) ;
}
Подскажите почему не работает?