Нашел у себя, здесь на форуме не нашел сек и выложу.
Открыть: /includes/ucp/usercp_register.php
Найти:
array_deep($HTTP_POST_VARS, 'trim');
$unhtml_specialchars_match = array('#>#', '#<#', '#"#', '#&#');
$unhtml_specialchars_replace = array('>', '<', '"', '&');
$default_user_opt = array(
'viewemail' => 0,
'attachsig' => 1,
'hide_porn_forums' => 1,
'pm_call_seed' => 1,
);
После вставить:
if(!empty($_POST['num1']) && !empty($_POST['num2']) && !empty($_POST['postnum']))
{
$num1=intval($_POST['num1']);
$num2=intval($_POST['num2']);
$isnum=$num1+$num2;
$postnum=intval($_POST['postnum']);
}
else
{
$isnum = 0;
$postnum = -1;
}
Там же находим:
if ( empty($username) || empty($new_password) || empty($password_confirm) || empty($email) )
{
$error = TRUE;
$error_msg .= ( ($error_msg) ? '<br />' : '' ) . $lang['Fields_empty'];
}
После добавляем:
if ($postnum!=$isnum)
{
$error = TRUE;
$error_msg .= ( ( $error_msg) ? '<br />' : '' ) . $lang['IS_SPAM_BOT'];
}
Там же находим:
$template->assign_vars(array(
'USERNAME' => $username,
Перед вставляем:
$num1=intval(rand(1, 10));
$num2=intval(rand(1, 10));
Там же находим:
'BBCODE_STATUS' => sprintf($bbcode_status, '<a href="' . append_sid("faq.$phpEx?mode=bbcode") . '" target="_phpbbcode">', '</a>'),
'SMILIES_STATUS' => $smilies_status,
После вставляем:
'NUM1' => $num1,
'NUM2' => $num2,
'ANTI_SPAM' => $lang['ANTI_SPAM'],
'MSG_ANTI_SPAM' => $lang['MSG_ANTI_SPAM'],
Далее открываем: /templates/default/usercp_register.tpl
Найти:
<tr>
<td>{L_CONFIRM_CODE}: * <h6>{L_CONFIRM_CODE_EXPLAIN}</h6></td>
<td><input type="text" name="cfmcd" size="35" maxlength="6" /></td>
</tr>
После вставить:
<tr>
<td>{L_ANTI_SPAM}: <span style="color: red;"> *</span> <h6>{MSG_ANTI_SPAM}: {NUM1}+{NUM2} = ?</h6></td>
<input type="hidden" name="num1" value="{NUM1}" />
<input type="hidden" name="num2" value="{NUM2}" />
<td><input type="text" name="postnum" size="35" maxlength="8" /></td>
</tr>
/language/lang_russian/lang_main.php
// The anti bots
$lang['ANTI_SPAM'] = 'Антиспам бот проверка';
$lang['MSG_ANTI_SPAM'] = 'Сколько будет';
$lang['IS_SPAM_BOT'] = 'Ошибка при проверки. Неправильный ответ на антиспам вопрос';