Вход Регистрация
Файл: shaxty/func.php
Строк: 777
<?php

/* Определение мобильного браузера */
    
function is_mobile()
    {

        
$user_agent = isset($_SERVER['HTTP_USER_AGENT']) ? strtolower($_SERVER['HTTP_USER_AGENT']) : '';
        
$accept = isset($_SERVER['HTTP_ACCEPT']) ? strtolower($_SERVER['HTTP_ACCEPT']) : '';
        if ((
strpos($accept'text/vnd.wap.wml') !== FALSE) || (strpos($accept'application/vnd.wap.xhtml+xml') !== FALSE)) {

            return 
1;
        }
        if (isset(
$_SERVER['HTTP_X_WAP_PROFILE']) || isset($_SERVER['HTTP_PROFILE'])) {
            
$_SESSION['is_mobile'] = 1;
            return 
1;
        }
        if (
preg_match('/android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)/|plucker|pocket|psp|symbian|treo|up.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i'$user_agent)
            || 
preg_match('/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|/(k|l|u)|50|54|e-|e/|-[a-w])|libw|lynx|m1-w|m3ga|m50/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|xda(-|2|g)|yas-|your|zeto|zte-/i'substr($user_agent04))
        ) {

            return 
1;
        }

        return 
0;
    }


         
// </div><br />
function sp_head($name$name2$d1$d2){
$spoil rand(0000,9999);

if(
is_mobile()==0){
return 
''.$d1.$name.' <span id="sp'.$spoil.'" style="line-height: 18px">(<a href="#" onClick="spoiler('.$spoil.'); return false">Отобразить</a>)</span>'.$d2.'<div id="spoiler'.$spoil.'" style="display: none"> ';

}else{

return 
$d1.$name2.$d2;

}

}

function 
sp_foot($var){

if(
is_mobile()==0){

return 
'</div>';

}

}


function 
file_size($size){
$filesizename = array(" Байт"" Кб"" Мб"" Гб");
return 
$size round($size/pow(1024, ($i floor(log($size1024)))), 2) . $filesizename[$i] : '0 Байт';
}

// Функция вывода на экран ошибки
function errors($err){
echo 
'<p>'.$err.'</p>';

echo 
'<div class="menu_j"> <a href="/index.php" class="top_menu_j"><img src="/img/home.png" alt=""/> На главную</div></a>';
echo 
'</div></div></body></html>';
ob_end_flush();
exit;
}

function 
onLines(){
    global 
$realtime$set;
    
$time_out $realtime $set['time_aut'];
    
$onl mysql_result(mysql_query("SELECT COUNT(id) FROM users WHERE onl>'{$time_out}' AND inv!='1'"),0);
    if(!
file_exists($_SERVER['DOCUMENT_ROOT'].'/cache/online.dat')){
        
$array_online serialize(array('online'=>$onl,'time'=>$realtime));
        
$create_file fopen($_SERVER['DOCUMENT_ROOT'].'/cache/online.dat'"w+");
        
fputs($create_file'');
        
fclose($create_file);
        
chmod($_SERVER['DOCUMENT_ROOT'].'/cache/online.dat'0666);

        
file_put_contents($_SERVER['DOCUMENT_ROOT'].'/cache/online.dat'$array_online);
    }
    
$online unserialize(file_get_contents($_SERVER['DOCUMENT_ROOT'].'/cache/online.dat'));
    if(
$onl $online['online']){
        
$upd_online serialize(array('online'=>$onl,'time'=>$realtime));
        
file_put_contents($_SERVER['DOCUMENT_ROOT'].'/cache/online.dat'$upd_online);
    }
    
$print unserialize(file_get_contents($_SERVER['DOCUMENT_ROOT'].'/cache/online.dat'));
    
$onLine .= 'Максимальный Online: <b>'.$print['online'].'</b> ['.times($print['time']).']<br/>';
    
$onLine .= 'Cейчас Online: <b>'.$onl.'</b><br/>';
    return 
$onLine;
}

function 
del($text)
{
    
$text=str_replace('&amp;',''$text);
    
$text=str_replace('ndash;',''$text);
    
$text=str_replace(' ','_'$text);
    
$text=str_replace('"',''$text);
    
$text=str_replace("'",''$text);
    
$text=str_replace('&',''$text);
    
$text=str_replace('$',''$text);
    
$text=str_replace('>',''$text);
    
$text=str_replace('<',''$text);
    
$text=str_replace('~',''$text);
    
$text=str_replace('`',''$text);
    
$text=str_replace('#',''$text);
    
$text=str_replace('*',''$text);
    
$text=str_replace('&#39',''$text);
    
$text=str_replace('/','_'$text);
    return 
$text;
}

// Функция "Вы уверены?"
function danger($link=NULL,$kom=NULL)
{
global 
$db$user,$user_id$ver$name$set$sid$realtime$gzib_pro$div1$div00$div9;

$danger = isset ($_REQUEST['danger']) ? trim($_REQUEST['danger']) : '';
if (empty(
$danger)){
echo 
'<form action="'.$link.'&amp;danger=danger" method="post" enctype="multipart/form-data">';
if(
$kom==NULL)echo '<br /><b>ВНИМАНИЕ!</b> Данное действие приведет к безвозвратной потере данных<br />';
else echo 
'<br />'.$kom.'<br />';
echo 
'<br /><input type="submit" class="ibutton" value="Продолжить"/> | <a href="'.htmlspecialchars(getenv("HTTP_REFERER")).'">Отмена</a></form><br /><br />';
echo 
'<br />';         // <a href="'.$link.'&amp;danger=danger">'.$link.'</a>

include_once (H.'shaxty/foot.php');
}

}



function 
slova($str,$msg1,$msg2,$msg3) {
$str = (int)$str;

$str1 abs($str) % 100;
$str2 $str 10;

if (
$str1 10 && $str1 20) return $str .' '$msg3;
if (
$str2 && $str2 5) return $str .' '$msg2;
if (
$str2 == 1) return $str .' '$msg1;

return 
$str .' '$msg3;
}



// ------------------ Функция перекодировки из UTF в WIN --------------------//
function utf_to_win($str) {
    if (
function_exists('mb_convert_encoding')) return mb_convert_encoding($str'windows-1251''utf-8');
    if (
function_exists('iconv')) return iconv('utf-8''windows-1251'$str);

    
$utf8win1251 = array("А" => "xC0""Б" => "xC1""В" => "xC2""Г" => "xC3""Д" => "xC4""Е" => "xC5""Ё" => "xA8""Ж" => "xC6""З" => "xC7""И" => "xC8""Й" => "xC9""К" => "xCA""Л" => "xCB""М" => "xCC",
        
"Н" => "xCD""О" => "xCE""П" => "xCF""Р" => "xD0""С" => "xD1""Т" => "xD2""У" => "xD3""Ф" => "xD4""Х" => "xD5""Ц" => "xD6""Ч" => "xD7""Ш" => "xD8""Щ" => "xD9""Ъ" => "xDA",
        
"Ы" => "xDB""Ь" => "xDC""Э" => "xDD""Ю" => "xDE""Я" => "xDF""а" => "xE0""б" => "xE1""в" => "xE2""г" => "xE3""д" => "xE4""е" => "xE5""ё" => "xB8""ж" => "xE6""з" => "xE7",
        
"и" => "xE8""й" => "xE9""к" => "xEA""л" => "xEB""м" => "xEC""н" => "xED""о" => "xEE""п" => "xEF""р" => "xF0""с" => "xF1""т" => "xF2""у" => "xF3""ф" => "xF4""х" => "xF5",
        
"ц" => "xF6""ч" => "xF7""ш" => "xF8""щ" => "xF9""ъ" => "xFA""ы" => "xFB""ь" => "xFC""э" => "xFD""ю" => "xFE""я" => "xFF");

    return 
strtr($str$utf8win1251);
}
// ------------------ Функция перекодировки из WIN в UTF --------------------//
function win_to_utf($str) {
    if (
function_exists('mb_convert_encoding')) return mb_convert_encoding($str'utf-8''windows-1251');
    if (
function_exists('iconv')) return iconv('windows-1251''utf-8'$str);

    
$win1251utf8 = array("xC0" => "А""xC1" => "Б""xC2" => "В""xC3" => "Г""xC4" => "Д""xC5" => "Е""xA8" => "Ё""xC6" => "Ж""xC7" => "З""xC8" => "И""xC9" => "Й""xCA" => "К""xCB" => "Л""xCC" => "М",
        
"xCD" => "Н""xCE" => "О""xCF" => "П""xD0" => "Р""xD1" => "С""xD2" => "Т""xD3" => "У""xD4" => "Ф""xD5" => "Х""xD6" => "Ц""xD7" => "Ч""xD8" => "Ш""xD9" => "Щ""xDA" => "Ъ",
        
"xDB" => "Ы""xDC" => "Ь""xDD" => "Э""xDE" => "Ю""xDF" => "Я""xE0" => "а""xE1" => "б""xE2" => "в""xE3" => "г""xE4" => "д""xE5" => "е""xB8" => "ё""xE6" => "ж""xE7" => "з",
        
"xE8" => "и""xE9" => "й""xEA" => "к""xEB" => "л""xEC" => "м""xED" => "н""xEE" => "о""xEF" => "п""xF0" => "р""xF1" => "с""xF2" => "т""xF3" => "у""xF4" => "ф""xF5" => "х",
        
"xF6" => "ц""xF7" => "ч""xF8" => "ш""xF9" => "щ""xFA" => "ъ""xFB" => "ы""xFC" => "ь""xFD" => "э""xFE" => "ю""xFF" => "я");

    return 
strtr($str$win1251utf8);
}
// ------------------ Функция преобразования в нижний регистр для UTF ------------------//
function rus_utf_tolower($str) {
    if (
function_exists('mb_strtolower')) return mb_strtolower($str'utf-8');

    
$arraytolower = array('А' => 'а''Б' => 'б''В' => 'в''Г' => 'г''Д' => 'д''Е' => 'е''Ё' => 'ё''Ж' => 'ж''З' => 'з''И' => 'и''Й' => 'й''К' => 'к''Л' => 'л''М' => 'м''Н' => 'н''О' => 'о''П' => 'п''Р' => 'р''С' => 'с''Т' => 'т''У' => 'у''Ф' => 'ф''Х' => 'х''Ц' => 'ц''Ч' => 'ч''Ш' => 'ш''Щ' => 'щ''Ь' => 'ь''Ъ' => 'ъ''Ы' => 'ы''Э' => 'э''Ю' => 'ю''Я' => 'я',
        
'A' => 'a''B' => 'b''C' => 'c''D' => 'd''E' => 'e''I' => 'i''F' => 'f''G' => 'g''H' => 'h''J' => 'j''K' => 'k''L' => 'l''M' => 'm''N' => 'n''O' => 'o''P' => 'p''Q' => 'q''R' => 'r''S' => 's''T' => 't''U' => 'u''V' => 'v''W' => 'w''X' => 'x''Y' => 'y''Z' => 'z');

    return 
strtr($str$arraytolower);
}

function 
kikt($t) {
global 
$db$time;
$t2 $t-$time;
if(
$t2>(60*60*24*30)) $t3 round($t2/(60*60*24*30)).' месяцев';
else if(
$t2>(60*60*24)) $t3 round($t2/(60*60*24)).' дней';
else if(
$t2>(60*60)) $t3 round($t2/(60*60)).' часов';
else if(
$t2>60$t3 round($t2/60).' минут';
else 
$t3 $t2.' секунд';
return 
$t3;
}





// ------------------ Функция определения браузера --------------------//
function GetUserAgent() {
    
$agent check($_SERVER['HTTP_USER_AGENT']);

    if (
stripos($agent'Avant Browser') !== false) {
        return 
'Avant Browser';
    } elseif (
stripos($agent'Acoo Browser') !== false) {
        return 
'Acoo Browser';
    } elseif (
stripos($agent'MyIE2') !== false) {
        return 
'MyIE2';
    } elseif (
preg_match('|Iron/([0-9a-z.]*)|i'$agent$pocket)) {
        return 
'SRWare Iron ' subtok($pocket[1], '.'02);
    } elseif (
preg_match('|Chrome/([0-9a-z.]*)|i'$agent$pocket)) {
        return 
'Chrome ' subtok($pocket[1], '.'03);
    } elseif (
preg_match('#(Maxthon|NetCaptor)( [0-9a-z.]*)?#i'$agent$pocket)) {
        return 
$pocket[1] . $pocket[2];
    } elseif (
stripos($agent'Safari') !== false && preg_match('|Version/([0-9]{1,2}.[0-9]{1,2})|i'$agent$pocket)) {
        return 
'Safari ' subtok($pocket[1], '.'02);
    } elseif (
preg_match('#(NetFront|K-Meleon|Netscape|Galeon|Epiphany|Konqueror|Safari|Opera Mini)/([0-9a-z.]*)#i'$agent$pocket)) {
        return 
$pocket[1] . ' ' subtok($pocket[2], '.'02);
    } elseif (
stripos($agent'Opera') !== false && preg_match('|Version/([0-9]{1,2}.[0-9]{1,2})|i'$agent$pocket)) {
        return 
'Opera ' $pocket[1];
    } elseif (
preg_match('|Opera[/ ]([0-9a-z.]*)|i'$agent$pocket)) {
        return 
'Opera ' subtok($pocket[1], '.'02);
    } elseif (
preg_match('|Orca/([ 0-9a-z.]*)|i'$agent$pocket)) {
        return 
'Orca ' subtok($pocket[1], '.'02);
    } elseif (
preg_match('#(SeaMonkey|Firefox|GranParadiso|Minefield|Shiretoko)/([0-9a-z.]*)#i'$agent$pocket)) {
        return 
$pocket[1] . ' ' subtok($pocket[2], '.'03);
    } elseif (
preg_match('|rv:([0-9a-z.]*)|i'$agent$pocket) && strpos($agent'Mozilla/') !== false) {
        return 
'Mozilla ' subtok($pocket[1], '.'02);
    } elseif (
preg_match('|Lynx/([0-9a-z.]*)|i'$agent$pocket)) {
        return 
'Lynx ' subtok($pocket[1], '.'02);
    } elseif (
preg_match('|MSIE ([0-9a-z.]*)|i'$agent$pocket)) {
        return 
'IE ' subtok($pocket[1], '.'02);
    } else {
        
$agent preg_replace('|http://|i'''$agent);
        
$agent strtok($agent'( ');
        
$agent substr($agent022);
        
$agent subtok($agent'.'02);

        if (!empty(
$agent)) {
            return 
$agent;
        }

        return 
'Unknown';
    }
}
// ----------------------- Функция обрезки строки с условием -------------------------//
function subtok($string$chr$pos$len null) {
    return 
implode($chrarray_slice(explode($chr$string), $pos$len));
}


// должности юзера
function level($level) {
switch (
$level) {
case 
'9'$status 'Создатель сайта'; break;
case 
'8'$status 'Супер Админ'; break;
case 
'7'$status 'Админ'; break;
case 
'6'$status 'Старший модер'; break;
case 
'5'$status 'Модератор'; break;
case 
'4'$status 'Элитный Мастер'; break;
case 
'3'$status 'Мастер'; break;
case 
'2'$status 'Наш чел!'; break;
case 
'1'$status 'Новичек'; break;
case 
'0':  $status 'Бродяга'; break;
}
return 
$status;
}


// ------------------ Функция генерирования паролей --------------------//
function generate_password($length "") {
    if (empty(
$length)) {
        
$length mt_rand(1012);
    }
    
$salt str_split('aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ0123456789');

    
$makepass "";
    for (
$i 0$i $length$i++) {
        
$makepass .= $salt[array_rand($salt)];
    }
    return 
$makepass;
}
// ------------------ Функция для читаемого вывода массива --------------------//
function text_dump($var$level 0) {
    if (
is_array($var)) $type "array[" count($var) . "]";
    else if (
is_object($var)) $type "object";
    else 
$type "";
    if (
$type) {
        echo 
$type '<br />';
        for(
Reset($var), $level++; list($k$v) = each($var);) {
            if (
is_array($v) && $k === "GLOBALS") continue;
            for(
$i 0$i $level 3$i++) echo ' ';
            echo 
'<b>' htmlspecialchars($k) . '</b> => 'text_dump($v$level);
        }
    } else echo 
'"'htmlspecialchars($var), '"<br />';
}

function 
dump($var) {
    if ((
is_array($var) || is_object($var)) && count($var)) {
        echo 
'<pre>'text_dump($var), '</pre>';
    } else {
        echo 
'<tt>'text_dump($var), '</tt>';
    }
}

// --------------- Функция вывода календаря---------------//
function makeCal ($month$year) {
    
$wday date("w"mktime(000$month1$year));
    if (
$wday == 0) {
        
$wday 7;
    }
    
$n = - ($wday-2);
    
$cal = array();
    for (
$y 0$y 6$y++) {
        
$row = array();
        
$notEmpty false;
        for (
$x 0$x 7$x++, $n++) {
            if (
checkdate($month$n$year)) {
                
$row[] = $n;
                
$notEmpty true;
            } else {
                
$row[] = "";
            }
        }
        if (!
$notEmpty) break;
        
$cal[] = $row;
    }
    return 
$cal;
}

// --------------- Функция автоустановки прав доступа ---------------//
function chmode ($path ".") {
    if (
$handle opendir ($path)) {
        while (
false !== ($file readdir($handle))) {
            if (
$file != "." && $file != "..") {
                
$file_path $path "/" $file;

                if (
is_dir ($file_path)) {
                    
$old umask(0);
                    
chmod ($file_path0777);
                    
umask($old);

                    
chmode ($file_path);
                } else {
                    
chmod ($file_path0666);
                }
            }
        }

        
closedir($handle);
    }
}
function 
mc($str) {
    global 
$db$config;
    if (empty(
$config['rotorlicense'])) {
        return 
preg_replace('#</body>#i',
            
'<div style="text-align:center"><a href="http://' str_rot13('ivfniv.arg') . '">' str_rot13('Cbjrerq ol EbgbePZF') . '</a></div></body>',
            
$str1);
    } else {
        return 
$str;
    }
}

// --------------- Функции сжатия страниц ---------------//
function compress_output_gzip($output) {
    return 
gzencode($output5);
}

function 
compress_output_deflate($output) {
    return 
gzdeflate($output5);
}
// ---------- Функция обработки строк данных и ссылок ---------//
function check_string($string) {
    
$string strtolower($string);
    
$string str_replace(array('http://www.''http://wap.''http://''https://'), ''$string);
    
$string strtok($string'/?');
    return 
$string;
}
// ---------- Аналог функции substr для UTF-8 ---------//
function utf_substr($str$offset$length null) {
    if (
function_exists('mb_substr')) return mb_substr($str$offset$length'utf-8');
    if (
function_exists('iconv_substr')) return iconv_substr($str$offset$length'utf-8');

    
$str utf_to_win($str);
    
$str substr($str$offset$length);
    return 
win_to_utf($str);
}
// ---------------------- Аналог функции strlen для UTF-8 -----------------------//
function utf_strlen($str) {
    if (
function_exists('mb_strlen')) return mb_strlen($str'utf-8');
    if (
function_exists('iconv_strlen')) return iconv_strlen($str'utf-8');
    if (
function_exists('utf8_decode')) return strlen(utf8_decode($str));
    return 
strlen(utf_to_win($str));
}
// ---------- Аналог функции wordwrap для UTF-8 ---------//
function utf_wordwrap($str$width 75$break ' '$cut 1) {
    
$str utf_to_win($str);
    
$str wordwrap($str$width$break$cut);
    return 
win_to_utf($str);
}
// ----------------------- Функция определения кодировки ------------------------//
function is_utf($str) {
    
$c 0;
    
$b 0;
    
$bits 0;
    
$len strlen($str);
    for(
$i 0$i $len$i++) {
        
$c ord($str[$i]);
        if (
$c 128) {
            if ((
$c >= 254)) return false;
            elseif (
$c >= 252$bits 6;
            elseif (
$c >= 248$bits 5;
            elseif (
$c >= 240$bits 4;
            elseif (
$c >= 224$bits 3;
            elseif (
$c >= 192$bits 2;
            else return 
false;
            if ((
$i $bits) > $len) return false;
            while (
$bits 1) {
                
$i++;
                
$b ord($str[$i]);
                if (
$b 128 || $b 191) return false;
                
$bits--;
            }
        }
    }
    return 
true;
}
// ----------------------- Функция отправки письма по e-mail ------------------------//
function addmail($usermail$subject$msg$mail ""$name "") {
    global 
$db$set;

    if (
$mail == "") {
        
$mail $set['emails'];
        
$name $set['nickname'];
    }

    
$subject utf_to_win($subject);
    
$msg utf_to_win($msg);
    
$name utf_to_win($name);

    
$subject convert_cyr_string($subject'w''k');
    
$msg convert_cyr_string($msg'w''k');
    
$name convert_cyr_string($name'w''k');

    
$subject '=?KOI8-R?B?' base64_encode($subject) . '?=';

    
$adds "From: " $name " <" $mail ">n";
    
$adds .= "X-sender: " $name " <" $mail ">n";
    
$adds .= "Content-Type: text/plain; charset=koi8-rn";
    
$adds .= "MIME-Version: 1.0n";
    
$adds .= "Content-Transfer-Encoding: 8bitn";
    
$adds .= "X-Mailer: PHP v." phpversion();

    return 
mail($usermail$subject$msg$adds);
}
// Вывод времени
function times($times=NULL)
{global 
$db$time;

if((
$time-$times)<=1){
$timesp 'только что';
return 
$timesp;
}else
if((
$time-$times)<=60){
$timesp slova((($time-$times)),'секунду','секунды','секунд').' назад';
return 
$timesp;
}else if((
$time-$times)<=3600){$timesp slova((($time-$times)/60),'минуту','минуты','минут').' назад';
return 
$timesp;
}else{

$today date("j M Y"$time);

$today date("j M Y"$time);
$yesterday date("j M Y"strtotime("-1 day"));

$timesp=date("j M Y  в H:i"$times);

$timesp str_replace($today'Сегодня'$timesp);
$timesp str_replace($yesterday'Вчера'$timesp);

$timesp strtr($timesp, array ("Jan" => "Янв","Feb" => "Фев","Mar" => "Марта","May" => "Мая","Apr" => "Апр","Jun" => "Июня","Jul" => "Июля","Aug" => "Авг","Sep" => "Сент","Oct" => "Окт","Nov" => "Ноября","Dec" => "Дек",));
return 
$timesp;
}
}



// Вывод времени (старый)
function times0($times=NULL)
{
global 
$db$time;
$today date("j M Y"$time);

$today date("j M Y"$time);
$yesterday date("j M Y"strtotime("-1 day"));

$timesp=date("j M Y  в H:i"$times);

$timesp strtr($timesp, array ("Jan" => "Янв","Feb" => "Фев","Mar" => "Марта","May" => "Мая","Apr" => "Апр","Jun" => "Июня","Jul" => "Июля","Aug" => "Авг","Sep" => "Сент","Oct" => "Окт","Nov" => "Ноября","Dec" => "Дек",));
return 
$timesp;
}





// --------------------- Функция шифровки Email-адреса ------------------------//
function crypt_mail($mail) {
    
$output "";
    
$strlen strlen($mail);
    for (
$i 0$i $strlen$i++) {
        
$output .= '&#' ord($mail[$i]) . ';';
    }
    return 
$output;
}
// ------------------- Функция обработки массива (int) --------------------//
function intar($string) {
    if (
is_array($string)) {
        
$newstring array_map('intval'$string);
    } else {
        
$newstring = (int)$string;
    }

    return 
$newstring;
}


// ----------- Функция закачки файла через curl ------------//
function curl_connect($url$user_agent 'Mozilla/5.0') {
    if (
function_exists('curl_init')) {
        
$ch curl_init();
        
curl_setopt ($chCURLOPT_URL$url);
        
curl_setopt ($chCURLOPT_USERAGENT$user_agent);
        
curl_setopt ($chCURLOPT_HEADER0);
        
curl_setopt ($chCURLOPT_REFERER$url);
        
curl_setopt ($chCURLOPT_RETURNTRANSFER1);
        
curl_setopt ($chCURLOPT_TIMEOUT10);
        
$result curl_exec ($ch);
        
curl_close ($ch);
        return 
$result;
    }
}

function 
strlen2($str)
{
$rus=array('й','ц','у','к','е','н','г','ш','щ','з','х','ъ','ф','ы','в','а','п','р','о','л','д','ж','э','я','ч','с','м','и','т','ь','б','ю','Й','Ц','У','К','Е','Н','Г','Ш','Щ','З','Х','Ъ','Ф','Ы','В','А','П','Р','О','Л','Д','Ж','Э','Я','Ч','С','М','И','Т','Ь','Б','Ю');
return 
strlen(str_replace($rus'0'$str));
}

function 
tr_loads($in)
{
return 
preg_replace('#[^a-z0-9_-.()]+#ui''_'$in);
}

function 
retranslit($in)
{
$trans1= array("'",'`',',',' ',"Ё","Ж","Ч","Ш","Щ","Э","Ю","Я","ё","ж","ч","ш","щ","э","ю","я","А","Б","В","Г","Д","Е","З","И","Й","К","Л","М","Н","О","П","Р","С","Т","У","Ф","Х","Ц","Ь","Ы","а","б","в","г","д","е","з","и","й","к","л","м","н","о","п","р","с","т","у","ф","х","ц","ь","ы");
$trans2= 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($trans1,$trans2,$in);
}

function 
rus_lat($str) {
    
$str strtr($str, array (
        
'а' => 'a',
        
'б' => 'b',
        
'в' => 'v',
        
'г' => 'g',
        
'д' => 'd',
        
'е' => 'e',
        
'ё' => 'e',
        
'ж' => 'j',
        
'з' => 'z',
        
'и' => 'i',
        
'й' => 'i',
        
'к' => 'k',
        
'л' => 'l',
        
'м' => 'm',
        
'н' => 'n',
        
'о' => 'o',
        
'п' => 'p',
        
'р' => 'r',
        
'с' => 's',
        
'т' => 't',
        
'у' => 'u',
        
'ф' => 'f',
        
'х' => 'h',
        
'ц' => 'c',
        
'ч' => 'ch',
        
'ш' => 'sh',
        
'щ' => 'sch',
        
'ъ' => "",
        
'ы' => 'y',
        
'ь' => "",
        
'э' => 'ye',
        
'ю' => 'yu',
        
'я' => 'ya'
    
));
    return 
$str;
}

function 
page($k_page=1){ // Выдает текущую страницу
$page=1;
$page=htmlspecialchars(trim($page));
$k_page=htmlspecialchars(trim($k_page));
if (isset(
$_GET['page'])){
if (
$_GET['page']=='end')$page=intval($k_page);elseif(is_numeric($_GET['page'])) $page=intval($_GET['page']);}
if (
$page<1)$page=1;
if (
$page>$k_page)$page=$k_page;
return 
$page;}

function 
k_page($k_post=0,$k_p_str=10){ // Высчитывает количество страниц
if ($k_post!=0){$v_pages=ceil($k_post/$k_p_str);return $v_pages;}
else return 
1;}

function 
str($link='?',$k_page=1,$page=1){ // Вывод номеров страниц (только на первый взгляд кажется сложно ;))
global $divnav$div9;
if (
$page<1)$page=1;
$page=htmlspecialchars(trim($page));
$k_page=htmlspecialchars(trim($k_page));
echo 
$divnav;

if (
$page>1)echo '<a href="'.$link.'page='.($page-1).'">&lt;&lt; Назад</a> ';
else echo 
"&lt;&lt; Назад ";
echo 
" | ";
if (
$page<$k_page)echo ' <a href="'.$link.'page='.($page+1).'" >Вперед &gt;&gt;</a>';
else echo 
" Вперед &gt;&gt;";

echo 
"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
if (
$page!=1)echo "<a href="".$link."page=1" >1</a>";else echo "<b>1</b>";
for (
$ot=-3$ot<=3$ot++){
if (
$page+$ot>&& $page+$ot<$k_page){
if (
$ot==-&& $page+$ot>2)echo " ..";
if (
$ot!=0)echo "|<a href="".$link."page=".($page+$ot)."" >".($page+$ot)."</a>";else echo "|<b>".($page+$ot)."</b>";
if (
$ot==&& $page+$ot<$k_page-1)echo "|..";}}
if (
$page!=$k_page)echo "|<a href="".$link."page=end" >$k_page</a>";elseif ($k_page>1)echo "|<b>$k_page</b>";
echo 
$div9;
}

function 
str2($link='?',$k_page=1,$page=1){ // Вывод номеров страниц (только на первый взгляд кажется сложно ;))
global $divnav$div9;
if (
$page<1)$page=1;
$page=htmlspecialchars(trim($page));
$k_page=htmlspecialchars(trim($k_page));
echo 
$divnav;
//if ($page!=1)echo "<a href="".$link."/1">&lt;&lt;</a> ";
if ($page>1)echo "<a href="".$link."/".($page-1)."">&lt;&lt; Назад</a> ";
else echo 
"&lt;&lt; Назад ";
echo 
" | ";
if (
$page<$k_page)echo " <a href="".$link."/".($page+1)."" >Вперед &gt;&gt;</a>";
else echo 
" Вперед &gt;&gt;";
//if ($page!=$k_page)echo " <a href="".$link."/end">&gt;&gt;</a>";
echo "<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
if (
$page!=1)echo "<a href="".$link."/1" >1</a>";else echo "<b>1</b>";
for (
$ot=-3$ot<=3$ot++){
if (
$page+$ot>&& $page+$ot<$k_page){
if (
$ot==-&& $page+$ot>2)echo " ..";
if (
$ot!=0)echo "|<a href="".$link."/".($page+$ot)."" >".($page+$ot)."</a>";else echo "|<b>".($page+$ot)."</b>";
if (
$ot==&& $page+$ot<$k_page-1)echo "|..";}}
if (
$page!=$k_page)echo "|<a href="".$link."/end" >$k_page</a>";elseif ($k_page>1)echo "|<b>$k_page</b>";
echo 
$div9;
}



function 
otkuda($ref)
{
if (
eregi('^/forum/',$ref))
$mesto='Форум';
elseif (
eregi('^/exit.php',$ref))
$mesto='Выход';
elseif (
eregi('^/in.php',$ref))
$mesto='Авторизация';
elseif (
eregi('^/??$',$ref))
$mesto='На главной';
elseif (
eregi('^/user/',$ref))
$mesto='Личный Кабинет';
elseif (
eregi('^/info/',$ref))
$mesto='Смотрит анкету';
elseif (
eregi('^/rules.php',$ref))
$mesto='Правила';
elseif (
eregi('^/onl.php',$ref))
$mesto='Kтo онлайн?';
elseif (
eregi('^/onl.php',$ref))
$mesto='Kтo онлайн?';
//
elseif (eregi('^/news.php',$ref))
$mesto='Новости';
elseif (
eregi('^/gbook.php',$ref))
$mesto='Гостевая книга';
elseif (
eregi('^/down/',$ref))
$mesto='Архив файлов';
elseif (
eregi('^/usscripts/',$ref))
$mesto='Скрипты Пользователей';
elseif (
eregi('^/fo/',$ref))
$mesto='Обменник файлов';
elseif (
eregi('^/wm_infa/',$ref))
$mesto='Информация Wap-мастеру';
elseif (
eregi('^/votes.php',$ref))
$mesto='Голосования';

elseif (
eregi('^/akcyi.php',$ref))
$mesto='Акции';
elseif (
eregi('^/konkurs.php',$ref))
$mesto='Конкурсы';
elseif (
eregi('^/objavs.php',$ref))
$mesto='Объявление';
elseif (
eregi('^/privat.php',$ref))
$mesto='Смотрит приват';
elseif (
eregi('^/board.php',$ref))
$mesto='Доска почета';
elseif (
eregi('^/stat.php',$ref))
$mesto='Статистика сайта';
elseif (
eregi('^/faq.php',$ref))
$mesto='Информация/FAQ';


else
$mesto=false;
return 
$mesto;
}
//////////////////////////////////

function posts_min($nk$ref)
{
global 
$db;

$us DB :: $dbh -> queryFetch("SELECT * FROM `users` WHERE `id`=? LIMIT 1;", array($nk));

if(
$ref=='forum'){ $us['postsf']--;
$us['posts']--;
/*$us['dayp']--;*/
}
if(
$ref=='komm'){ $us['postsk']--;
$us['posts']--;
/*$us['dayp']--;*/
}
if(
$ref=='guest'){ $us['postsg']--;
$us['posts']--;
/*$us['dayp']--;*/
}
if(
$ref=='chat'){ $us['postsc']--;
$us['posts']--;
/*$us['dayp']--;*/
}


mysql_query("UPDATE `users` SET `posts` = '$us[posts]', dayp = '$us[dayp]', postsf = '$us[postsf]', postsk = '$us[postsk]', postsg = '$us[postsg]', postsc = '$us[postsc]' WHERE `id` = '$us[id]';");

}

//////////////////////////////////

function posts_add($ref)
{
global 
$db$user;

if (isset(
$user['id']))
{
if(
$ref=='forum'){$user['postsf']++;
$user['posts']++;
$user['dayp']++;
}
if(
$ref=='komm'){$user['postsk']++;
$user['posts']++;
$user['dayp']++;
}
if(
$ref=='guest'){$user['postsg']++;
$user['posts']++;
$user['dayp']++;
}
if(
$ref=='chat'){$user['postsc']++;
$user['posts']++;
$user['dayp']++;
}


mysql_query("UPDATE `users` SET `posts` = '$user[posts]', dayp = '$user[dayp]', postsf = '$user[postsf]', postsk = '$user[postsk]', postsg = '$user[postsg]', postsc = '$user[postsc]' WHERE `id` = '$user[id]';");
}
}

function 
forum_new() {
global 
$db$user;   //WHERE `forum_t`.`close` != '1' AND   Только открытые
$cmac mysql_fetch_array(mysql_query ("select count(id) as num from `forum_t` LEFT JOIN `forum_rdm` ON `forum_t`.`id` = `forum_rdm`.`t_id` AND `forum_rdm`.`user_id` = '" $user['id'] . "' WHERE (`forum_rdm`.`t_id` Is Null OR `forum_t`.`time` > `forum_rdm`.`time`)"));

return 
$cmac["num"];

}



// Функция вывода аватара пользователя//
function user_avatars($ref) {
global 
$set;

if(
user_inf($ref,'myavatar')){
return 
'<img src="/'.user_inf($ref,'myavatar').'" width="32" height="32" alt="" /> ';
}else return 
'<img src="'.H2.'avatars/noavatar.gif" width="32" height="32" alt="" /> ';
}


//Функция вывода пользовательских тегов
function quickcode() {
  echo 
'BB-код<br />';
  echo 
'<a href="#form" onclick="javascript:tag('[url=]', '[/url]');"><img src="' H2 'img/editor/a.gif" alt="url" /></a>';
  echo 
'<a href="#form" onclick="javascript:tag('[b]', '[/b]');"><img src="' H2 'img/editor/b.gif" alt="b" /></a>';
  echo 
'<a href="#form" onclick="javascript:tag('[big]', '[/big]');"><img src="' H2 'img/editor/big.gif" alt="big" /></a>';
  echo 
'<a href="#form" onclick="javascript:tag('[small]', '[/small]');"><img src="' H2 'img/editor/small.gif" alt="small" /></a>';
  echo 
'<a href="#form" onclick="javascript:tag('[i]', '[/i]');"><img src="' H2 'img/editor/i.gif" alt="i" /></a>';
  echo 
'<a href="#form" onclick="javascript:tag('[u]', '[/u]');"><img src="' H2 'img/editor/u.gif" alt="u" /></a>';
  echo 
'<a href="#form" onclick="javascript:tag('[q]', '[/q]');"><img src="' H2 'img/editor/q.gif" alt="q" /></a>';
  echo 
'<a href="#form" onclick="javascript:tag('[del]', '[/del]');"><img src="' H2 'img/editor/del.gif" alt="del" /></a>';
 echo 
'<a href="#form" onclick="javascript:tag('[img]', '[/img]');"><img src="' H2 'img/editor/img.gif" alt="hide" /></a>';
  echo 
'<a href="#form" onclick="javascript:tag('[code]', '[/code]');"><img src="' H2 'img/editor/code.gif" alt="code" /></a>';

  echo 
'<a href="#form" onclick="javascript:tag('[spoiler]', '[/spoiler]');"><img src="' H2 'img/editor/spoiler.gif" alt="code" /></a>';

  echo 
'<a href="#form" onclick="javascript:tag('[red]', '[/red]');"><img src="' H2 'img/editor/red.gif" alt="red" /></a>';
  echo 
'<a href="#form" onclick="javascript:tag('[green]', '[/green]');"><img src="' H2 'img/editor/green.gif" alt="green" /></a>';
  echo 
'<a href="#form" onclick="javascript:tag('[blue]', '[/blue]');"><img src="' H2 'img/editor/blue.gif" alt="blue" /></a>';
  echo 
'<br />';
}
// Функция вывода быстрых смайлов
function quicksmiles() {
  echo 
'Смайлы<br />';
  echo 
'<a href="#form" onclick="javascript:tag(' :-) ', '');"><img src="' H2 'smiles/smile.gif" alt=":)" /></a> ';
  echo 
'<a href="#form" onclick="javascript:tag(' :-( ', '');"><img src="' H2 'smiles/sad.gif" alt=":(" /></a> ';
  echo 
'<a href="#form" onclick="javascript:tag(' :-', '');"><img src="' H2 'smiles/biggrin.gif" alt=":E" /></a> ';
  echo 
'<a href="#form" onclick="javascript:tag(' =)) ', '');"><img src="' H2 'smiles/biggrin2.gif" alt=":E" /></a> ';
  echo 
'<a href="#form" onclick="javascript:tag(' :-] ', '');"><img src="' H2 'smiles/dovolen.gif" alt="hello" /></a> ';
  echo 
'<a href="#form" onclick="javascript:tag(' 8-) ', '');"><img src="' H2 'smiles/poh.gif" alt="cry" /></a> ';
  echo 
'<a href="#form" onclick="javascript:tag(' ;-) ', '');"><img src="' H2 'smiles/wink.gif" alt="obana" /></a> ';
  echo 
'<a href="#form" onclick="javascript:tag(' :-/ ', '');"><img src="' H2 'smiles/hm.gif" alt="infat" /></a> ';
  echo 
'<a href="#form" onclick="javascript:tag(' :ok', '');"><img src="' H2 'smiles/ok.gif" alt="krut" /></a> ';
  echo 
'<a href="#form" onclick="javascript:tag(' :apl', '');"><img src="' H2 'smiles/apl.gif" alt="klass" /></a> ';
  echo 
'<a href="#form" onclick="javascript:tag(' :kul', '');"><img src="' H2 'smiles/kul.gif" alt="vtopku" /></a> ';
  echo 
'<a href="#form" onclick="javascript:tag(' :ploho', '');"><img src="' H2 'smiles/ploho.gif" alt="vtopku" /></a> ';
  echo 
'<br />';
}
//Вспомогательная функция быстрой вставки
function quickpaste($form) {
  echo 
'<script language="JavaScript" type="text/javascript">
function tag(text1, text2) {
if ((document.selection)) {
document.form.' 
$form '.focus();
document.form.document.selection.createRange().text = text1+document.form.document.selection.createRange().text+text2;
} else if(document.forms['
form'].elements['' . $form . ''].selectionStart!=undefined) {
var element = document.forms['
form'].elements['' . $form . ''];
var str = element.value;
var start = element.selectionStart;
var length = element.selectionEnd - element.selectionStart;
element.value = str.substr(0, start) + text1 + str.substr(start, length) + text2 + str.substr(start + length);
} else document.form.' 
$form '.value += text1+text2;
}
</script>'
;
}




//Функция жалобы на спам
function spam($mesto$user_id$spam_id$msgs$msg_id$msg_t$komment$msg_razd_id)
{
global 
$db$user$ver$rm$usid$name$set,$time;
// Фильтруем, это не нужно, но пох гг
$mesto=check($mesto);
$user_id=check($user_id);
$spam_id=check($spam_id);
$msgs=check($msgs);
$msg_id=check($msg_id);
$msg_t=check($msg_t);
$komment=check($komment);
$msg_razd_id=check($msg_razd_id);

$r mysql_query("Select * from `spam` WHERE `msg_id` = '".$msg_id."' AND `msg_t` = '".$msg_t."'");
if (
mysql_affected_rows()==0){

$spam user_inf($spam_id,'antispam')+1;
mysql_query("UPDATE `users` SET `antispam` = '".$spam."' WHERE `id` = '".$spam_id."'");
// если включен банн
if ($set['antispam']==1){

$mesg 'На вас поступило(а) [b]'.$spam.'[/b] жалоб(а) на спам! После [b]5-ти[/b] жалоб, вы будете автоматически забаннены!';
//mysql_query ("INSERT INTO privat (user,user_id,to_user,to_id,time,msg) VALUES ('<b>system</b>','0','".user_inf($spam_id,'user')."','".user_inf($spam_id,'id')."','$time','$mesg')");

// Если спамер не в бане, исправляем это гг
if($spam>=&& user_inf($spam_id,'bann')<$time){

$na $time+60*60*24;
mysql_query('UPDATE `users` SET `bann` = "'.$na.'", `whobann` = "'.$user['id'].'", `whybann` = "Неоднократный спам!", `antispam` = "0" WHERE `id` = "'.user_inf($spam_id,'id').'" LIMIT 1');

$messs '[b]Система[/b] забаннила пользователя [b]'.user_inf($spam_id,'user').'[/b] на [b]'.kikt($na).'[/b]<br /> Причина: [b]Неоднократный спам![/b]';
//mysql_query ("INSERT INTO logs (sid,log,msg,time) VALUES ('".user_inf($spam_id,'sid')."','ban','$messs','$time')");

}
// если бан отключен, просто информируем о жалобе
}else{

$mesg 'На вас поступило(а) [b]'.$spam.'[/b] жалоб(а) на спам!';
//mysql_query ("INSERT INTO privat (sid,user,user_id,to_user,to_id,time,msg) VALUES ('".user_inf($spam_id,'sid')."','<b>".chat_inf(user_inf($spam_id,'sid'),'system')."</b>','0','".user_inf($spam_id,'user')."','".user_inf($spam_id,'id')."','$time','$mesg')");


}

// вычисляем админа чата и сообщаем о жалобе
//$uss=mysql_fetch_assoc(mysql_query ("Select * from users WHERE `sid` = '".user_inf($spam_id,'sid')."' and `level` = '9' order by id asc LIMIT 1"));

$mesg2 'На пользователя с ником [b]'.user_inf($spam_id,'user').'[/b] (ID: '.user_inf($spam_id,'id').') поступила жалоба на спам '.$mesto.'. Советуем принять меры! Жалобы на спам можете посмотреть [url=/admin/index?mod=spam]здесь[/url]';
//mysql_query ("INSERT INTO privat (sid,user,user_id,to_user,to_id,time,msg) VALUES ('".user_inf($spam_id,'sid')."','<b>".chat_inf(user_inf($spam_id,'sid'),'system')."</b>','0','".$uss['user']."','".$uss['id']."','$time','$mesg2')");

mysql_query ("INSERT INTO spam (user_id,spam_id,mesto,time,msg,komment,msg_t,msg_id,msg_razd_id) VALUES ('$user_id','$spam_id','$mesto','$time','$msgs','$komment','$msg_t','$msg_id','$msg_razd_id')");

return 
$div4.'Администрация уведомлена о спаме! Спасибо...'.$div9;
}else return 
$div4.'Администрация уже уведомлена о этом спаме!<br />'.$div9;

include_once (
H.'shaxty/foot.php');
}

?>
Онлайн: 2
Реклама