Вход Регистрация
Файл: inc/antispam.php
Строк: 54
<?php
if (!$user)
return;
$guardMsg null;

function 
guardRetranslit ($text)
{
    
$rus = array ('('')''=''+''|','_','-',"'",'`',',',' ',"Ё","Ж","Ч","Ш","Щ","Э","Ю","Я","ё","ж","ч","ш","щ","э","ю","я","А","Б","В","Г","Д","Е","З","И","Й","К","Л","М","Н","О","П","Р","С","Т","У","Ф","Х","Ц","Ь","Ы","а","б","в","г","д","е","з","и","й","к","л","м","н","о","п","р","с","т","у","ф","х","ц","ь","ы");
    
$eng = array ('.''.''.''.''.''.''.''.','.','.','.',"JO","ZH","CH","SH","SCH","Je","Jy","Ja","jo","zh","ch","sh","sch","je","jy","ja","A","B","V","G","D","E","Z","I","J","K","L","M","N","O","P","R","S","T","U","F","H","C","","Y","a","b","v","g","d","e","z","i","j","k","l","m","n","o","p","r","s","t","u","f","h","c","","y");
    return 
str_replace ($rus$eng$text);
}

/* Функция определения переменных с сообщениями */
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 (guardRetranslit ($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 ('/(.ru)|(.ua)|(.com)|(.kom)|(.biz)|(.info)|(.mobi)|(.su)|(.us)|(.tk)/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;
            }
        }
    }
}
?>
Онлайн: 0
Реклама