После установки модуля Captcha в макетах дизайна и в компонентах доступны следующие функции:
Возвращает строку, которая содержит поле типа hidden, хранящее хэш-код от сгенерированной картинки и кода подтверждения на ней и html-код картинки с кодом подтверждения.
Хэш-код генерируется вызовом функции nc_captcha_generate_hash. Возвращает готовую разметку, пригодную для вставки в форму. Функция принимает необязательный аргумент с дополнительными атрибутами для тэга img.
Примеры использования:
<?=nc_captcha_formfield();?>
возвращает строку вида:
<input type='hidden' name='nc_captcha_hash' value='d41d8cd98f00b204e9800998ecf8427e'><img src='/netcat/modules/captcha/img.php?code=d41d8cd98f00b204e9800998ecf8427e'>
<?=nc_captcha_formfield('width="150" height="30" border="0"');?>
возвращает строку вида:
<input type='hidden' name='nc_captcha_hash' value='d41d8cd98f00b204e9800998ecf8427e'><img src='/netcat/modules/captcha/img.php?code=d41d8cd98f00b204e9800998ecf8427e' width="150" height="30" border="0">
$beg, $mid, $end — отвечают за отображения аудио капчи.
Значения по умолчанию:
$beg:
<span class='nc_captcha_voice' style='margin:0 0 0 10px;'><a class='nc_captcha_js' href='#' onclick='nc_captcha$id.play();return false;'>
$mid:
NETCAT_MODULE_CAPTCHA_AUDIO_LISTEN — макропеременная, содержащая «Прослушать».
$end:
</a><span id='nc_captcha_player' style='display:none;'></span></span>
Следующие параметры позволяют убрать кнопку обновления и изменить ее текст. начиная с версии 5.4
$btn:
NETCAT_MODULE_CAPTCHA_REFRESH — макропеременная, содержащая «Обновить».
$norefresh:
логическая переменная, если равна 1, то не будет отображена кнопка обновления.
$id:
суффикс для идентификаторов формы, нужен если функция вызывается несколько раз на странице, автоматически увеличивается при каждом вызове функции на странице.
При вызове функция генерирует код подтверждения на основе настроек модуля и уникальный хэш-код для него (хэш-код не зависит от кода подтверждения), после чего сохраняет их в базе данных. В дальнейшем этот хэш используется для проверки введенного пользователем кода подтверждения. Хэш-код действителен в течении времени, указанного в настройках модуля (DURATION). При каждом вызове функции генерируется новый код подтверждения и новый хэш-код для него.
Функция не принимает аргументов. Возвращает хэш-код.
Код следует передавать через поле типа hidden на страницу валидации формы (обычно это Условие добавления объекта). На основе хэш-кода также генерируется картинка с кодом подтверждения. Путь к картинке: /netcat/modules/captcha/img.php?code=d41d8cd98f00b204e9800998ecf8427e. Пример использования в альтернативной форме добавления объекта:
".opt($captcha_hash = nc_captcha_generate_hash(), "")." <input type='hidden' name='nc_captcha_hash' value='$captcha_hash'> <img src='/netcat/modules/captcha/img.php?code=$captcha_hash'><br> Введите код на картинке: <input type='text' name='nc_captcha_code' value=''>
Примечание! в большинстве случае достаточно использовать функцию nc_captcha_formfield; пример использования приведен выше.
Проводит проверку корректности введенного пользователем кода подтверждения и полученного из этой же формы хэш-кода. Функция принимает от одного до двух аргументов. Первый – код подтверждения, введенный пользователем. Второй – необязательный хэш-код, по которому следует устанавливать корректность кода подтверждения. Если второй аргумент опущен, функция пытается получить его из массивов $_GET и $_POST (по имени, заданному в параметре HIDDEN_FIELD_NAME настроек модуля). Функция учитывает время действия (параметр DURATION в настройках модуля) хэш-кода.
Возвращает true, либо false. Пример использования в условии добавления объекта:
//Работает с предыдущим примером if (!nc_captcha_verify_code($nc_captcha_code, $nc_captcha_hash) ) { $posting = 0; $warnText = "Здравствуй, робот!"; }
Если параметр $delete_hash будет равыен false, то хэш удаляться не будет.
string nc_captcha_generate_code ( string $captcha_hash )
Функция создает случайный код и сопостовляет его хэшу, указанному в параметре $captcha_hash. Длина кода и набор символов, из которых состоит код, задается в настройках модуля.
Примечание! Во всех примерах использован хэш-код d41d8cd98f00b204e9800998ecf8427e, который является результатом выполнения функции md5 от пустой строки.
Комментарии 2
<?= nc_captcha_formfield("", "", "", "", "", 1) ?>[/CODE]