HomeNotesCaptcha with Audio for Dolphin 7
 

Captcha with Audio for Dolphin 7

If you need to integrate this with Dolphin 6 Look Here

For Dolphin 7 You can swap the current Captcha for a third party one with Captcha Refresh and Audio.

I have done this with Securimage from http://www.phpcaptcha.org/

You can set it to play audio via flash or by clicking an image that plays a wav file.

I used Securimage V 2.0.1 for this tutorial.

Step 1.

Upload Securimage files to a folder called /captcha/ in your main dolphin directory.

Step 2. Set Cookie for D7

Edit /captcha/securimage.php

Find: around line 1000

function generateCode($len)

{

$code = '';

for($i = 1, $cslen = strlen($this->charset); $i <= $len; ++$i) {

$code .= $this->charset{rand(0, $cslen - 1)};

}

return $code;

}

Replace with:

function generateCode($len)

{

$code = '';

for($i = 1, $cslen = strlen($this->charset); $i <= $len; ++$i) {

$code .= $this->charset{rand(0, $cslen - 1)};

}

$hashtext = md5($code);

setcookie('strSec', $hashtext, 0, '/');

return $code;

}

Step 3. Show Captcha Code in D7 Join Form

Edit /templates/base/scripts/BxBaseFormView.php

Find: around line 217

$sButtonAdd = <<<BLAH

<img src="$sReloadImgUrl" class="reload_button" alt="$sReloadText" title="$sReloadText"

onclick="var \$img = $(this).siblings('.input_wrapper').children('.form_input_captcha').children('img.captcha'); \$img.attr('src', \$img.attr('src').split('?')[0] + '?r=' + Math.random());" />

BLAH;


Replace with:

$sPlayFile = BX_DOL_URL_ROOT . 'captcha/securimage_play.php';

$sPlayIcon = BX_DOL_URL_ROOT . 'captcha/images/audio_icon.gif';

$sButtonAdd = <<<BLAH

<a style="border-style: none;float:left;" href="$sPlayFile" title="Audible Version of CAPTCHA"><img src="$sPlayIcon" alt="Audio Version" style="border:none" alt="this.blur()" /></a>

<img src="$sReloadImgUrl" class="reload_button" alt="$sReloadText" title="$sReloadText"

onclick="var \$img = $(this).siblings('.input_wrapper').children('.form_input_captcha').children('img.captcha'); \$img.attr('src', \$img.attr('src').split('?')[0] + '?r=' + Math.random());" />

BLAH;

Then find around line 1034

$sSimgUrl = BX_DOL_URL_ROOT . 'simg/simg.php';

And replace with

$mtime= md5(time());

$sSimgUrl = BX_DOL_URL_ROOT . 'captcha/securimage_show.php?sid=' . $mtime;

Step 4. stop the old Captcha from overwriting the Cookie

Edit /simg/simg.php

Remove or Comment these lines: around line 36


$hashtext = md5($textstr);
setcookie('strSec', $hashtext, 0, '/');

Thats it

This was done on Dolphin V 7.0

Check it out here Truck Buddies

For instruction in txt format click here

Dave

Plussed by

 
 
 
 

Comments

Oldest First
|
Threaded
 
 
Please login to post a comment.
bigal0228
Both of your Captcha modifications would be good posts in the tips n tricks area of the forums.
 
 
 
PET:0.055579900741577