Contents

Using Captcha from PHP (module, UDT, etc)

Creating a reference to the Captcha module object

From a module:

$captcha =& $this->getModuleInstance('Captcha'); 
if ($captcha) {
// The Captcha module is installed
}

Otherwise:

global $gCms;
if (isset($gCms->modules['Captcha'])) {
  $captcha =& $gCms->modules['Captcha']['object'];
}

Getting the Captcha

$captcha->getCaptcha();

for example:

echo $captcha->getCaptcha();

or:

$smarty->assign('captcha', $captcha->getCaptcha());

Checking the user input

$captcha->checkCaptcha($user_input);
Should be passed the user input as variable, returns TRUE if it is correct, FALSE otherwise

For example:

if ($captcha->checkCaptcha($params['captcha_input']) == TRUE) { // input is correct }

or:

if ($captcha->checkCaptcha($_POST['captcha_input'])) { //input is correct }

Using Captcha from your content/templates

Use $gCms->modules.Captcha.object->getCaptcha() to display the Captcha.
$gCms->modules.Captcha.object->checkCaptcha() can be used to validate the user input.

{if isset($smarty.post.captcha_input)}
  {if $gCms->modules.Captcha.object->CheckCaptcha($smarty.post.captcha_input) == TRUE}
  {* Content protected by Captcha *}
  You are human
  {else}
  You seem to be a computer
  {/if}
{/if}

<form action="?page={$page_alias}" method="post">
<p>
{$gCms->modules.Captcha.object->GetCaptcha()} 
<input name="captcha_input" type="text" /> <br />
<input type="submit" />
</p>
</form>

See also

User Handbook/Admin Panel/Extensions/Captcha

From CMSMS

Arvixe - A CMSMS Partner