Файл: vk.com_vhllam/guard/inc/antispam.php
Строк: 46
<?php
if (!$user)
return;
$guardMsg = null;
/* Функция определения переменных с сообщениями */
function guardMsg ()
{
global $_POST, $guardMsgTrans, $guard, $guardMsg;
$msgs = func_get_args ();
foreach ($msgs AS $key => $value)
{
if (isset ($_POST[$value]))
{
$guardMsg = $guard->filtText ($_POST[$value]);
$guardMsgTrans = strtolower ($guard->filtText ($_POST[$value]));
break;
}
}
}
/* Ищем отправленные сообщения для поиска СПАМа */
guardMsg ('msg', 'message', 'mess');
if (isset ($guardMsgTrans))
{
/* АнтиФлуд */
if ($guardSets['antiflood']['msgs_interval'] && ($time - $user['last_msg']) < $guardSets['antiflood']['msgs_interval'])
$err = 'Не пишите сообщения так часто. Попробуйте отправить через '.($time - $user['last_msg']).' секунд';
else
/* Для антифлуда. Последнее сообщение */
mysql_query ("UPDATE `user` SET `last_msg` = '$time' WHERE `id` = '$user[id]' LIMIT 1");
if ($guardSets['antispam']['type'] == 'full')
{
if (preg_match ('/(?<=S)(.rub)|(.uab)|(.comb)|(.komb)|(.bizb)|(.infob)|(.mobib)|(.sub)|(.usb)|(.tkb)/i', $guardMsgTrans))
{
$guard->dossier ('antispam', null, $guardMsg);
$guard->notific ('antispam');
$guard->punish ('antispam');
}
}
elseif ($guardSets['antispam']['type'] == 'selective')
{
$spamLinks = mysql_query ("SELECT * FROM `guard_black_list`");
while ($link = mysql_fetch_assoc ($spamLinks))
{
if (!$link['domains'])
$link['domains'] = 'ru,ua,com,kom,biz,info,mobi,su,us,tk';
$link['domains'] = explode (',', str_replace (' ', '', $link['domains']));
if (preg_match ("/$link[name].(".implode (')|(', $link['domains']).")/i", $guardMsgTrans))
{
$guard->dossier ('antispam', null, $guardMsg);
$guard->notific ('antispam');
$guard->punish ('antispam');
break;
}
}
}
}
?>