Вход Регистрация
Файл: sys/core/fnc.php
Строк: 341
<?
//Рег через Вконтакте
$client_id '5068707'// ID приложения
$client_secret 'DWYVKDSPMMHVPq8f4JyL'// Защищённый ключ
$redirect_uri 'http://sfcbawun.client.cloudmoud.com/dev/vk.php'// Адрес сайта
$response_type 'code'
$display 'touch'

//Рег через Одноклассники
$client_id_ok '1154321408'// Application ID
$public_key_ok 'CBANIOMFEBABABABA'// Публичный ключ приложения
$secret_key_ok '9E02AAFFF5BFEA37691C1CF3'// Секретный ключ приложения
$redirect_uri_ok 'http://sfcbawun.client.cloudmoud.com/dev/ok.php'// Ссылка на приложение
$response_type_ok 'code'
$layout_ok 'm'//Внешний вид окна авторизации//  `w`,`m`,`a`
$state_ok '';

// фильтрация
function my_esc($str)
{
return 
mysql_real_escape_string($str);
}



define('HOME''http://'.$_SERVER['HTTP_HOST']); //адрес сайта

    
$autosalon_traning '<div class="b-arrow-point" style="top: 279.923px; left: 749.577px; width: 27px; height: 27px;"></div>';
$race_traning '<div class="b-arrow-point" style="top: 279.923px; left: 749.577px; width: 27px; height: 27px;"></div>';
$mission_traning '<div class="b-arrow-point" style="top: 398.923px; left: 586.577px; width: 27px; height: 27px;"></div>';

// антиддос
if ($set['antidos']){// Защита от частых запросов с одного IP
$antidos[]=array('time'=>$time);$k_loads=0;
if (
is_file(H.'sys/tmp/antidos_'.$iplong.'.dat')){
$antidos_dat=unserialize(file_get_contents(H.'sys/tmp/antidos_'.$iplong.'.dat'));
for (
$i=0;$i<150 && $i<sizeof($antidos_dat);$i++)
{
if(
$antidos_dat[$i]['time']>$time-5)
{
$k_loads++;
$antidos[]=$antidos_dat[$i];
}
}
}

    if (!isset(
$ban_ip_page) and mysql_result(mysql_query("SELECT COUNT(*) FROM `ban_ip` WHERE 
    `min` <= '
$iplong' AND 
    `max` >= '
$iplong'"), 0) != 0)
    exit(
header('Location: /dev/ban_ip.php'));
    

    if (isset(
$ip2['cl']) and !isset($ban_ip_page) and 
    
mysql_result(mysql_query("SELECT COUNT(*) FROM `ban_ip` WHERE 
    `min` <= '"
.ip2long($ip2['cl'])."' AND 
    `max` >= '"
.ip2long($ip2['cl'])."'"), 0) != 0)    
    exit(
header('Location: /dev/ban_ip.php'));
    

    if (!isset(
$ban_ip_page) AND isset($ip2['xff']) and    mysql_result(mysql_query("SELECT COUNT(*) FROM `ban_ip` WHERE 
    `min` <= '"
.ip2long($ip2['xff'])."' AND 
    `max` >= '"
.ip2long($ip2['xff'])."'"), 0) != 0)
    exit(
header("Location: /dev/ban_ip.php"));

if (
$k_loads>100)
{
if (
mysql_result(mysql_query("SELECT COUNT(*) FROM `ban_ip` WHERE `min` <= '$iplong' AND `max` >= '$iplong'"), 0)==0)
mysql_query("INSERT INTO `ban_ip` (`min`, `max`, `prich`) values('$iplong', '$iplong', 'AntiDos')",$db);
}
@
file_put_contents(H.'sys/tmp/antidos_'.$iplong.'.dat'serialize($antidos));
@
chmod(H.'sys/tmp/antidos_'.$iplong.'.dat'0777);
}










// рекурсивное удаление папки
function delete_dir($dir){
if (
is_dir($dir)){$od=opendir($dir);
while (
$rd=readdir($od)){
if (
$rd == '.' || $rd == '..') continue;
if (
is_dir("$dir/$rd")){
@
chmod("$dir/$rd"0777);
delete_dir("$dir/$rd");}
else{
@
chmod("$dir/$rd"0777);
@
unlink("$dir/$rd");}}
closedir($od);
@
chmod("$dir"0777);
return @
rmdir("$dir");}
else{
@
chmod("$dir"0777);
@
unlink("$dir");}}










// обновление данных
$timer_update=$set['time_update'];
$every_day_bonus=rand(1,3);
if(
date("d")!=date("d",$timer_update))
{
if (
function_exists('set_time_limit'))@set_time_limit(600); // ограничение на 10 минут

   # очистка временной папки
$od=opendir(H.'sys/tmp/');
while (
$rd=readdir($od)){
if (!
preg_match('#^.#',$rd) && filectime(H.'sys/tmp/'.$rd)<$time-60*60*24){@delete_dir(H.'sys/tmp/'.$rd);
}
}
closedir($od);

   
# оптимизация таблиц
$tab=mysql_query('SHOW TABLES FROM '.$db_name);
for(
$i=0;$i<mysql_num_rows($tab);$i++)
{
mysql_query("OPTIMIZE TABLE `".mysql_tablename($tab,$i)."`");
}

   
# выполнение запросов
mysql_query("UPDATE `user` SET `fuel_today` = '0'");
mysql_query("DELETE FROM `lograce`");
mysql_query("DELETE FROM `lograce_turnir`");
mysql_query("DELETE FROM `quest_user`");
mysql_query("UPDATE `settings` SET `every_day_bonus` = '$every_day_bonus', `time_update` = '$time'");
}













// переносы строк
function br($msg,$br='<br />'){return preg_replace("#((<br( ?/?)>)|n|r)+#i",$br$msg);}










// Вырезает все нечитаемые символы
function esc($text,$br=NULL){
if (
$br!=NULL)
for (
$i=0;$i<=31;$i++)$text=str_replace(chr($i), NULL$text);
else{
for (
$i=0;$i<10;$i++)$text=str_replace(chr($i), NULL$text);
for (
$i=11;$i<20;$i++)$text=str_replace(chr($i), NULL$text);
for (
$i=21;$i<=31;$i++)$text=str_replace(chr($i), NULL$text);}
return 
$text;}










// вывод времени
function vremja($time=NULL)
{
global 
$user;
if (
$time==NULL)$time=time();
$timep="".date("j M Y в H:i"$time)."";
$time_p[0]=date("j n Y"$time);
$time_p[1]=date("H:i"$time);
if (
$time_p[0]==date("j n Y"))$timep=date("H:i:s"$time);
if (
$time_p[0]==date("j n Y"time()-60*60*24))$timep="Вчера в $time_p[1]";
$timep=str_replace("Jan","Янв",$timep);
$timep=str_replace("Feb","Фев",$timep);
$timep=str_replace("Mar","Марта",$timep);
$timep=str_replace("May","Мая",$timep);
$timep=str_replace("Apr","Апр",$timep);
$timep=str_replace("Jun","Июня",$timep);
$timep=str_replace("Jul","Июля",$timep);
$timep=str_replace("Aug","Авг",$timep);
$timep=str_replace("Sep","Сент",$timep);
$timep=str_replace("Oct","Окт",$timep);
$timep=str_replace("Nov","Ноября",$timep);
$timep=str_replace("Dec","Дек",$timep);
return 
$timep;
}




// тайм аут
function time_out($time 0) {
$h floor($time/60/60);
$i floor($time/60)-$h*60;
$s $time-$h*60*60-$i*60;
$h = (strlen($h) == '0'.$h $h);
$i = (strlen($i) == '0'.$i $i);
$s = (strlen($s) == '0'.$s $s);
$out $h.':'.$i.':'.$s;
return 
$out;
}





// только для зарегистрированых
function only_reg($link NULL) {
global 
$user;
if (!isset(
$user))
{
if (
$link==NULL)$link='/index.php?'.SID;
header("Location: $link");exit;}}










// только для незарегистрированых
function only_unreg($link NULL) {
global 
$user;
if (isset(
$user)){
if (
$link==NULL)$link='/index.php?'.SID;
header("Location: $link");exit;}}




















// вывод ошибок
function err(){
global 
$err;
if (isset(
$err)){
if (
is_array($err)){
foreach (
$err as $key=>$value) {
echo 
"<table class='wdt b-message'><tbody><tr><td align='left'>$value</td></tr></tbody></table>";
}
}
else
{
echo 
"<table class='wdt b-message'><tbody><tr><td align='left'>$err</td></tr></tbody></table>";
}
}
}




















// сохранение настроек системы
function save_settings($set){
unset(
$set['web']);
if (
$fopen=@fopen(H.'sys/dat/settings_6.2.dat''w')){
@
fputs($fopenserialize($set));
@
fclose($fopen);
@
chmod(H.'sys/dat/settings_6.2.dat'0777);
return 
true;}
else
return 
false;}










// генерация пароля
function passgen($k_simb=8$types=3
{
$password='';
$small='abcdefghijklmnopqrstuvwxyz';
$large='ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$numbers='1234567890';
mt_srand((double)microtime()*1000000); 
for (
$i=0$i<$k_simb$i++) 

$type=mt_rand(1,min($types,3));
switch (
$type
{
case 
3:
$password.=$large[mt_rand(0,25)];
break;
case 
2:
$password.=$small[mt_rand(0,25)];
break;
case 
1:
$password.=$numbers[mt_rand(0,9)];
break;
}
}
return 
$password;
}
$passgen=passgen();













########### BB Коды ###########
function BBcode($mes)
{
    
$mes stripslashes($mes);
    
$mes preg_replace('#[cit](.*?)[/cit]#si''<div class="cit">1</div>'$mes);
    
$mes preg_replace('#[a](.*?)[/a]#si''<a href="1">1</a>'$mes);
    
$mes preg_replace('#[img](.*?)[/img]#si''<a href="1" class="cit">Нажмите, чтобы открыть</a>'$mes);
    
$mes preg_replace('#[b](.*?)[/b]#si''<span style="font-weight: bold;"> 1 </span>'$mes);
    
$mes preg_replace('/[urls?=s?(['"]?)(?:http://)?(.*?)1](.*?)[/url]/', ' <a href="http://$2"> $3 </a> ', $mes);
    
$mes preg_replace('#[black](.*?)[/black]#si''<span style="color:#000000;">1</span>'$mes);
    
$mes preg_replace('#[i](.*?)[/i]#si''<i>1</i>'$mes);
    
$mes preg_replace('#[u](.*?)[/u]#si''<u>1</u>'$mes);
    
$mes preg_replace('#[s](.*?)[/s]#si''<s>1</s>'$mes);
    
$mes preg_replace('#[red](.*?)[/red]#si''<span style="color: red">1</span>'$mes);
    
$mes preg_replace('#[green](.*?)[/green]#si''<span style="color: green">1</span>'$mes);
    
$mes preg_replace('#[blue](.*?)[/blue]#si''<span style="color: blue">1</span>'$mes);
    
$mes preg_replace("~(^|s|-|:| |()(http(s?)://|(www.))((S{25})(S{5,})(S{15})([^<s.,>)];'"!?]))~i", "\1<a href="http\3://\4\5">\4\6...\8\9</a>", $mes);
    
$mes = preg_replace("~(^|s|-|:|(| |xAB)(http(s?)://|(www.))((S+)([^<s.,>)];'"!?]))~i", "\1<a href="http\3://\4\5">\4\5</a>", $mes);

    
return $mes;
}



############ Смайлы ###########
function smiles($msg)
{
    
$msg trim($msg);
    
$s mysql_query("SELECT * FROM `smiles` ORDER BY `id` DESC") or die(mysql_error());
while(
$smile mysql_fetch_array($s))
    { 
        
$msg str_replace($smile['zamena'], ' <img src="/style/img/smiles/'.$smile['name'].'.png" alt=""/> '$msg);
    }
    return 
$msg;
    
  
}


function 
anti_rek($msg)
{
    
$msg trim($msg);
    
$s mysql_query("SELECT * FROM `anti_reklama` ORDER BY `id` DESC") or die(mysql_error());
while(
$anti_rek mysql_fetch_array($s))
    { 
        
$msg str_replace($anti_rek['msg'], '<b class="red"/>'.$anti_rek['title'].'</b>'$msg);
    }
    return 
$msg;
    
  
}








function 
img_preg($arr)
    {
    return 
'<img src="http://'.$_SERVER['HTTP_HOST'].'/go.php?go='.base64_encode(html_entity_decode($arr[1])).'" alt="img" />';
    }

    function 
links_preg1($arr)
    {
    global 
$set;
        if (
preg_match('#^http://'.preg_quote($_SERVER['HTTP_HOST']).'#',$arr[1]) || !preg_match('#://#',$arr[1]))
            return 
'<a href="'.$arr[1].'">'.$arr[2].'</a>';
        else
            return 
'<a'.($set['web']?' target="_blank"':null).' href="http://'.$_SERVER['HTTP_HOST'].'/go.php?go='.base64_encode(html_entity_decode($arr[1])).'">'.$arr[2].'</a>';

    }
    
    function 
links_preg2($arr)
    {
    global 
$set;
        if (
preg_match('#^http://'.preg_quote($_SERVER['HTTP_HOST']).'#',$arr[2]))
            return 
$arr[1].'<a href="'.$arr[2].'">'.$arr[2].'</a>'.$arr[4];
        else
            return 
$arr[1].'<a href="http://'.$_SERVER['HTTP_HOST'].'/go.php?go='.base64_encode(html_entity_decode($arr[2])).'">'.$arr[2].'</a>'.$arr[4];
    }
    
    function 
links($msg)
    {
    global 
$set;
        
$msg=preg_replace_callback('/[imgs](.+)[/imgs]/isU''img_preg'$msg);
        
$msg=preg_replace_callback('/[url=(.+)](.+)[/url]/isU''links_preg1'$msg); 
        
$msg=preg_replace_callback('~(^|s)([a-z]+://([^ rnt`'"]+))(s|$)~iu', 'links_preg2', $msg);
        return 
$msg;
    }
    
    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 url(
$url)
    {
        
$url2=preg_split('#&(amp;)?#', $url);
        
$url3=NULL;
            for (
$i=0;$i<count($url2);$i++)
            {
                
$url4=explode('=', $url2[$i]);
                    if (isset(
$url4[1]))
                        
$url3.=$url4[0].'='.urlencode($url4[1]);
                    else 
$url3.=$url4[0];
                if (
$i<count($url2)-1)$url3.='&amp;';
            }
        return 
$url3;
    }


    function url2(
$url)
    {
        
$url2=explode('/', $url);
            for (
$i=0;$i<sizeof($url2);$i++)
            {
                
$url2[$i]=urlencode($url2[$i]);
            }
        return implode('/',
$url2);
    }
    
    // функция обрабатывает текстовые строки перед выводом в браузер
    // настоятельно не рекомундуется тут что-либо менять
    function output_text(
$str,$br=1,$html=1,$anti_rek=1,$smiles=1,$links=1,$bbcode=1)
    {
    global 
$theme_ini;

        if (
$html)$str=htmlentities($str, ENT_QUOTES, 'UTF-8'); // преобразуем все к нормальному перевариванию браузером
        if (
$links)$str=links($str); // обработка ссылок
                if (
$anti_rek)
            
$str=anti_rek($str); // вставка смайлов
        if (
$smiles)
            
$str=smiles($str); // вставка смайлов

        if (
$bbcode)
        {
            
$tmp_str=$str;
            
$str=bbcode($str); // обработка bbcode
        }

        if (
$br)
            
$str=br($str); // переносы строк
    return stripslashes(
$str); // возвращаем обработанную строку
    }
    
    // для форм \
    function input_value_text(
$str){
        return output_text(
$str,0,1,0,0,0);
    }






// форматируем значения по 3 цифры
function m_format(
$i)
{
$i = number_format($i, 0, '', ''');
return 
$i;
}



/*
// тест защита от частых запросов
if(isset(
$_SESSION['add_scan']))
{
$res_scan=$time-$_SESSION['add_scan'];
if(
$res_scan<1)
{
header("
Location: /dev/map.php");
exit;
}
}
$_SESSION['add_scan']=$time;
*/







function page(
$k_page=1){ # Выдает текущую страницу
$page=1;
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){ # Вывод номеров страниц (только на первый взгляд кажется сложно ;))
if (
$page<1)$page=1;
echo "
<table class='wdt'>";
echo "
<tr class='gray-table'>";
if (
$page!=1)
{
echo "
<td colspan='2' width='60px' style='border-top: 1px solid #000;'><form action ='".$link."page=1' method 'post'>";
echo "
<button type='submit' class='race-btn'><<</button></form></td>";
}
else
{
echo "
<td colspan='2' width='60px' style='border-top: 1px solid #000;'>";
echo "
<button class='inactive-btn'><<</button></td>";
}
if (
$page>1)
{
echo "
<td colspan='2' width='60px' style='border-top: 1px solid #000;'><form action ='".$link."page=".($page-1)."' method 'post'>";
echo "
<button type='submit' class='race-btn'><</button></form></td>";
}
else
{
echo "
<td colspan='2' width='60px' style='border-top: 1px solid #000;'>";
echo "
<button class='inactive-btn'><</button></td>";
}
echo "
<td colspan='2' width='60px' style='border-top: 1px solid #000;' align='center' class='white'>$page/$k_page</td>";
if (
$page<$k_page)
{
echo "
<td colspan='2' width='60px' style='border-top: 1px solid #000;'>";
echo "
<form action ='".$link."page=".($page+1)."' method 'post'>";
echo "
<button type='submit' class='race-btn'>></button></form></td>";
}
else
{
echo "
<td colspan='2' width='60px' style='border-top: 1px solid #000;'>";
echo "
<button class='inactive-btn'>></button></td>";
}
if (
$page!=$k_page)
{
echo "
<td colspan='2' width='60px' style='border-top: 1px solid #000;'><form action ='".$link."page=end' method 'post'>";
echo "
<button type='submit' class='race-btn'>>></button></form></td></tr></table>";
}
else
{
echo "
<td colspan='2' width='60px' style='border-top: 1px solid #000;'>";
echo "
<button class='inactive-btn'>>></button></form></td></tr></table>";
}
}














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