How to use Joomla recaptcha plugin with my custom module?

Toretto picture Toretto · Oct 11, 2012 · Viewed 21.4k times · Source

I have created a custom module for my contactus form. Now I want to use Joomla recaptcha plugin with this module.

Any idea how to get this done?

Answer

Irfan picture Irfan · Oct 12, 2012

In order to use joomla default recaptcha plugin follow these steps-

1)Get recaptcha keys from http://www.google.com/recaptcha

2)Set these keys to recaptcha plugin and activate it if it's not.

3)Put below code where you want to show recaptcha

//php code
JPluginHelper::importPlugin('captcha');
$dispatcher = JDispatcher::getInstance();
$dispatcher->trigger('onInit','dynamic_recaptcha_1');

//html code inside form tag
<div id="dynamic_recaptcha_1"></div>

4)Put this code where you validating/processing the form

$post = JRequest::get('post');      
JPluginHelper::importPlugin('captcha');
$dispatcher = JDispatcher::getInstance();
$res = $dispatcher->trigger('onCheckAnswer',$post['recaptcha_response_field']);
if(!$res[0]){
    die('Invalid Captcha');
}

//For Joomla 3.x

$post = JFactory::getApplication()->input->post;
$dispatcher = JEventDispatcher::getInstance();