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 по умолчанию и прописать в плагине ключики.