Joomla 2.5 - API reCaptcha для работы с ajax формой
Если необходимо быстро без сторонних компонентов и модулей реализовать отправку jquery.ajax формы обратной связи и при этом защититься reCaptcha - вот решение. Сразу оговорюсь, не буду описывать как для начинающих, кому надо тот поймет как применить.
Вывод капчи в форме:
<?
JPluginHelper::importPlugin('captcha');
$dispatcher = JDispatcher::getInstance();
// Обрабатываем блок dynamic_recaptcha_1 капчей
$dispatcher->trigger('onInit','dynamic_recaptcha_1');
?>
<form action="<?=JURI::root()?>?tmpl=ajax" method="POST">
<input type="text" name="name" value="" />
<input type="text" name="phone" value="" />
<div id="dynamic_recaptcha_1"></div>
<input type="submit" value="ОТПРАВИТЬ" class="submit" />
</form>
<script>
// Сценарий отправки формы на адрес обработчика
</script>
Скрипт обработчик:
$post = JRequest::get('post');
JPluginHelper::importPlugin('captcha');
$dispatcher = JDispatcher::getInstance();
$captcha = $dispatcher->trigger('onCheckAnswer',$post['recaptcha_response_field']);
if ($captcha[0] == false) {
echo 'false';
} else {
echo 'true';
}
Вот и все. Естественно не забываем выбрать reCaptcha по умолчанию и прописать в плагине ключики.
