Можно интегрировать компонент Security Images для защиты форм от спам-ботов. И тогда получится прикрутить Akoforms и Capcha.
Я на старой Joomla сделал так:
Открыл файл -
administrator/components/com_akoforms/fields_custom.akoforms.phpСразу после следующего кода:
# $formfields[800] = array (
# "field_title" => "Your title",
# "field_php" => "Your fields php pre-processor",
# "field_html" => "Your HTML code here",
# "field_post" => "Your fields php post-processor"
# );
Вставил новый:
/*** Captcha Security Images ***/
// Requires com_SecurityImages >= 4.0.0
// http://www.waltercedric.com/
$formfields[950] = array (
"field_title" => "Captcha Image Security",
"field_php" => "include(\$mosConfig_absolute_path.'/administrator/components/com_securityimages/client.php');\$packageName = 'securityimage_newpass';\$tmp_value = getSecurityImageTextHeader().\"<br/>\".insertSecurityImage(\$packageName).\"<br/>\".getSecurityImageField(\$packageName).\"<br/>\".getSecurityImageTextHelp().\"<input type='hidden' name='af_fieldname' id='af_fieldname' value='\".\$field->value.\"' />\"; \$field->value = \$tmp_value; \$tmp_value='';",
"field_html" => "af_fieldvalue",
"field_post" => "\$messages=explode('|', \$akofieldinput[\$field->id]); \$errorText=\$messages[1]; \$akofieldinput[\$field->id]=\$messages[0]; \$securityimage_newpass_refid = mosGetParam( \$_POST, 'securityimage_newpass_refid', '' ); \$securityimage_newpass_try = mosGetParam( \$_POST, 'securityimage_newpass_try', '' ); \$securityimage_newpass_reload = mosGetParam( \$_POST, 'securityimage_newpass_reload', '' ); include_once(\$mosConfig_absolute_path.'/administrator/components/com_securityimages/server.php'); \$checkSecurity = checkSecurityImage(\$securityimage_newpass_refid, \$securityimage_newpass_try, \$securityimage_newpass_reload); if(\$checkSecurity == false){\$database->setQuery( \"DELETE FROM #__akoforms_data WHERE senderid=\$akoforms_senderid;\" ); \$result=\$database->query(); \$database->setQuery( \"DELETE FROM #__akoforms_sender WHERE id=\$akoforms_senderid;\" ); \$result=\$database->query(); \$category->savedb = 0; \$category->sendmail = 0; mosErrorAlert( \$errorText ); return;}"
);
Теперь в админке Akoforms появится новый тип поля -
Captcha Image SecurityДобавляем это поле, активируем его, настраиваем, какую именно капчу использовать непосредственно в настройках компонента Security Images и вуаля!