Класс Recaptcha
Объект $Field:
Объект «Поле: проверка на человека (reCAPTCHA)»
Исходный код
class Recaptcha extends Base { … }
Методы
check()
$Recaptcha->check();
Проверка правильности ввода
Возвращает: string|null
null
– успешная проверка;
string
– ошибка
Исходный код
function check() {
if (strlen($e = \Cms\Root\Form\Field\Base::check())) return $e;
if ($this->hidden) return;
if (strlen($response = strval($_POST['g-recaptcha-response']))) {
$curl = curl_init('https://www.google.com/recaptcha/api/siteverify');
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query(array(
'secret' => $this->Conf()->get('recaptcha_secret'),
'response' => $response,
'remoteip' => $_SERVER['REMOTE_ADDR'],
)));
ob_start();
@curl_exec($curl);
$json = ob_get_clean();
curl_close($curl);
$data = json_decode($json, true);
if ($data['success'] === true) return;
}
return $e = $this->standardError();
}
standardError()
$Recaptcha->standardError();
Исходный код
function standardError() {
$label = $this->label;
if (!strlen($label)) $label = $this->getAttribute('input-placeholder');
if (!strlen($label)) $label = $this->getAttribute('text');
$Main = $this->Main();
return $Main->translate('Некорректное значение для поля') . (strlen($label) ? ' «' . strip_tags($label) . '»' : ' «' . $Main->translate('Я не робот') . '»');
}
store()
$Recaptcha->store();
Сохранение значения поля
Исходный код
function store() {
return;
}
text()
$Recaptcha->text();
Исходный код
function text() {
return;
}
html()
$Recaptcha->html();
Исходный код
function html() {
return;
}