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

// -------------- Функция удачного сообщения -------------//
function msg($var)
{
    echo 
'<div class="msg">' $var '</div>';
}

// -------------- Функция сообщения об ошибке -------------//
function err($var)
{
    echo 
'<div class="err">' $var '</div>';
}

// -------------- Функция генерации пароля -------------//
function genPass($size

    
$letter 'qwertyuipasdfghjklzxcvbnm'
    
$letter .= strtoupper($letter); 
    
$letter .= '123456789'
     
    
mt_srand((double)microtime()*1000000); 
    
$pass ""
    for (
$i 0$i $size$i++)
    
$pass .= $letter[mt_rand(0strlen($letter) - 1)]; 
    return 
$pass
}

// -------------- Функция вычисления передвижения -------------//
function travel_time($speed$x1$y1$x2$y2)
{
    
        
$a6 = ($x2 $x1) * ($x2 $x1);
        
$b6 = ($y2 $y1) * ($y2 $y1);
        
$c6 $a6 $b6;
        
$distance sqrt($c6);
        
$arrival = ($distance $speed) * 3600;
        
$arrival explode('.'$arrival);

        return 
$arrival[0];
}

// -------------- Функция вычисления названия зданий -------------//
function builds($var)
{
    
$Construct mysql_fetch_assoc(mysql_query("SELECT cid FROM construct WHERE cid = '$var' LIMIT 1"));
    switch(
$Construct['cid']):
        case 
1:
            
$name '<img src="images/building_group_1_small.png" alt=""/> Ферма';
        break;
        case 
2:
            
$name '<img src="images/building_group_2_small.png" alt=""/> Шахта';
        break;
        case 
3:
            
$name '<img src="images/building_group_3_small.png" alt=""/> Лесопилка';
        break;
        case 
4:
            
$name '<img src="images/building_group_4_small.png" alt=""/> Каменоломня';
        break;
        case 
5:
            
$name '<img src="images/building_group_5_small.png" alt=""/> Прииск';
        break;
        case 
6:
            
$name '<img src="images/building_group_6_small.png" alt=""/> Казарма';
        break;
        case 
7:
            
$name '<img src="images/building_group_7_small.png" alt=""/> Торговая палата';
        break;
        case 
8:
            
$name '<img src="images/building_group_8_small.png" alt=""/> Склад';
        break;
        case 
9:
            
$name '<img src="images/building_group_9_small.png" alt=""/> Рынок';
        break;
        case 
10:
            
$name '<img src="images/building_group_10_small.png" alt=""/> Кузница';
        break;
        case 
11:
            
$name '<img src="images/building_group_11_small.png" alt=""/> Дипломатический центр';
        break;
        case 
12:
            
$name '<img src="images/building_group_12_small.png" alt=""/> Цитадель';
        break;
        case 
13:
            
$name '<img src="images/building_group_13_small.png" alt=""/> Бастион';
        break;
        case 
14:
            
$name '<img src="images/building_group_14_small.png" alt=""/> Смотровая башня';
        break;
    endswitch;

    return 
$name;
}

//------------- Функция вычисления макс. параметров -------------//
function compute_params($var$v)
{
    
// $v == 1 сколько опыта осталось
    // $v == 0 сколько опыта всего
    
$SQL mysql_fetch_assoc(mysql_query("SELECT level, practice FROM generals WHERE id = '$var' LIMIT 1"));
    
$UP = (50 $SQL['level'] + 50);
    if (
$v == 1$r = ($UP $SQL['practice']);
    elseif (
$v == 0$r = (50 $SQL['level'] + 50);
    return 
$r;
}

//------------- Функция графической полосы -------------//
function rating($var$v)
{
    
$only compute_params($var0); // всего
    
$remaining compute_params($var1); // осталось
    // $v = набрано
    
$ratimg 'red.gif';
    
$percent round($v 100 $only);

    return 
'<img src="/images/' $ratimg '" width="' $percent '" height="7" alt=""/><img src="/images/green.gif" width="' . (100 $percent) . '" height="7" alt=""/><small>' $percent '%</small>';
}

// -------------- Функция параметров улучшеных юнита -------------//
function paramUnit($uid$player$var)
{
    
$ItIsSql mysql_fetch_assoc(mysql_query("SELECT id, power, defence FROM upgraded_units WHERE player = '$player' AND uid = '$uid' LIMIT 1"));
    if (
$var == 1)
    {
        if (!isset(
$ItIsSql['id']) && $uid == 1$return 0;
        elseif (isset(
$ItIsSql['id'])) $return $ItIsSql['power'];
        if (!isset(
$ItIsSql['id']) && $uid == 2$return 0;
        elseif (isset(
$ItIsSql['id'])) $return $ItIsSql['power'];
        if (!isset(
$ItIsSql['id']) && $uid == 3$return 0;
        elseif (isset(
$ItIsSql['id'])) $return $ItIsSql['power'];
        if (!isset(
$ItIsSql['id']) && $uid == 4$return 0;
        elseif (isset(
$ItIsSql['id'])) $return $ItIsSql['power'];
        if (!isset(
$ItIsSql['id']) && $uid == 5$return 0;
        elseif (isset(
$ItIsSql['id'])) $return $ItIsSql['power'];
        return 
$return;
    }
    if (
$var == 2)
    {
        if (!isset(
$ItIsSql['id']) && $uid == 1$return 0;
        elseif (isset(
$ItIsSql['id'])) $return $ItIsSql['defence'];
        if (!isset(
$ItIsSql['id']) && $uid == 2$return 0;
        elseif (isset(
$ItIsSql['id'])) $return $ItIsSql['defence'];
        if (!isset(
$ItIsSql['id']) && $uid == 3$return 0;
        elseif (isset(
$ItIsSql['id'])) $return $ItIsSql['defence'];
        if (!isset(
$ItIsSql['id']) && $uid == 4$return 0;
        elseif (isset(
$ItIsSql['id'])) $return $ItIsSql['defence'];
        if (!isset(
$ItIsSql['id']) && $uid == 5$return 0;
        elseif (isset(
$ItIsSql['id'])) $return $ItIsSql['defence'];
        return 
$return;
    }
}

// -------------- Функция вычисления времени передвижения -------------//
function val($sec)
{
    if (
$sec 0)
    {
        
$travel '0:00:00';
    }
    else
    {
        
$do explode('.'$sec 3600);
        
$second round($sec $do[0] * 3600);
        
$e explode('.'$second 60);
        
$Q round($second $e[0] * 60);
        
$e $e[0];

        if (
$do[0] != 0$hour .= $do[0] . ' ч. ';
        if (
$e != 0$mins .= $e ' мин. ';

        
$travel $hour $mins $Q ' сек.';
    }
    return 
$travel;
}

// -------------- Функция конвертации краткого времени -------------//
function conv($var)
{
    if (
$var 60$print .= round($var 60) . ' мин. ';
    else 
$print .= $var ' сек. ';
    return 
$print;
}

//-------------Функция текстовой каптчи-------------//
function captcha($var)
{
$var strtr($var, array(=> 'ноль ',
                          
=> 'один ',
                          
=> 'два ',
                          
=> 'три ',
                          
=> 'четыре ',
                          
=> 'пять ',
                          
=> 'шесть ',
                          
=> 'семь ',
                          
=> 'восемь ',
                          
=> 'девять '));
return 
$var;
}

//-------------функция игнора-------------//
function ignor($f1 NULL$f2 NULL$w NULL)
{
if (isset(
$f1)) $f1 char($f10);
if (isset(
$f2)) $f2 char($f20);
if (isset(
$w)) $w char($w0);
$f mysql_fetch_assoc(mysql_query("SELECT id FROM `ignor` WHERE `user_id` = '$f1' AND `ig_id` = '$f2'"));
if (
$w == NULL) {
if (
$f1 != $f2) {
if (isset(
$f['id'])) return 1;
    else return 
0;
} else {
    return 
0;
}
} else {
    if (isset(
$f['id'])) return $f[$w];
}
}

// -------------- Функция форматирования времени  -------------//
function itime($time$zm)
{
    
$time $time $zm 3600;
    
$time__ date('j n Y'$time);

    if (
$time__ == date('j n Y'time() + $zm 3600))
        return 
'Сегодня в ' date('H:i'$time);
    elseif (
$time__ == date('j n Y'time() - 3600 * (24 $zm)))
        return 
'Вчера в ' date('H:i'$time);
    else
        return 
strtr(date('j M Y в H:i'$time), array('Jan' => 'Янв''Feb' => 'Фев''Mar' => 'Мар''Apr' => 'Апр''May' => 'Мая''Jun' => 'Июн''Jul' => 'Июл''Aug' => 'Авг''Sep' => 'Сен''Oct' => 'Окт''Nov' => 'Ноя''Dec' => 'Дек'));
}

//------------------ Функция вывода и замены смайлов --------------------//
function smiles($text$root NULL)
{
    
$root = ($root == 1) ? '../' '';
    
$dir opendir($root 'smiles');
    while(
$file readdir($dir))
    {
        if (
strpos($file'.gif') != false)
        {
            
$file str_replace('.gif'''$file);
            
$text str_replace(':'.$file.':''<img src="'.$root.'smiles/'.$file.'.gif" alt="'.$file.'"/>'$text);
        }
    }
    
closedir($dir);
    return 
$text;
}

//------------------ Функция определения реального IP --------------------//
require 'classIP.php';
$ipinit = new ipinit();
$ipl $ipinit->ip;
$ipp long2ip($ipl);
unset(
$ipinit);

//------------------ Функция определения реального браузера --------------------//
if (empty($_SESSION['user_brow'])) {
if (isset(
$_SERVER['HTTP_X_OPERAMINI_PHONE_UA'])) {
    
$agent $_SERVER['HTTP_X_OPERAMINI_PHONE_UA'];
} elseif (isset(
$_SERVER['HTTP_USER_AGENT'])) {
    
$agent $_SERVER['HTTP_USER_AGENT'];
} else {
    
$agent 'Not_detected';
}
    
$agent preg_replace('|http://|i',''$agent);
    
$agent strtok($agent,'( ');
    
$_SESSION['user_brow'] = substr($agent022);
}

$agent char($_SESSION['user_brow'], 0);

//-------------Функция правильного вычитания-------------//
function minus($all$minus)
{
    
$all -= $minus;
    if (
$all$all 0;
    return 
$all;
}

//-------------Функция правильного добавления-------------//
function plus($all$plus$num)
{
    
$all += $plus;
    if (
$num $all$all $num;
    return 
$all;
}

//-------------Функция бана-------------//
function ban($t)
{
    
$t2 minus($ttime());
    if (empty(
$t2)) $t3 'Время вышло';
    elseif (
$t2 > (60 60 24 30)) $t3 round($t2 / (60 60 24 30)) . ' мес.';
    elseif (
$t2 > (60 60 24)) $t3 round($t2 / (60 60 24)) . ' дн.';
    elseif (
$t2 > (60 60)) $t3 round($t2 / (60 60)) . ' час.';
    elseif (
$t2 60$t3 round($t2 60) . ' мин.';
    else 
$t3 $t2 ' сек.';
    return 
$t3;
}

//-------------функции склонения чисел-------------//
function plural($n$form1$form2$form5)
{
    
$n abs($n) % 100;
    
$n1 $n 10;
    if (
$n 10 && $n 20) return $form5;
    if (
$n1 && $n1 5) return $form2;
    if (
$n1 == 1) return $form1;
    return 
$form5;
}

//-------------функции онлайна юзера-------------//
function online_user($ius)
{
if (isset(
$ius)) $ius intval($ius);

   
$result mysql_query("SELECT `id`, `onl` FROM `users` WHERE `id` = '$ius' LIMIT 1");
   
$nik mysql_fetch_assoc($result);

   if (!empty(
$nik['id']) && $nik['onl'] + 300 time())
   {
      return 
$ius;
   }
}

//------------функция фильтра цифр-------------//
function number($var)
{
    return 
abs((int)$var);
}

//------------функция транслита-------------//
function translit($str)
{
     
$translate = array
     (
     
'YO' => 'Ё''Yo' => 'Ё''yo' => 'ё''ZH' => 'Ж',
     
'Zh' => 'Ж''zh' => 'ж''CH' => 'Ч''Ch' => 'Ч',
     
'ch' => 'ч''SH' => 'Ш''Sh' => 'Ш''sh' => 'ш',
     
'SHC' => 'Щ''Shc' => 'Щ''shc' => 'щ''QQ' => 'Ъ',
     
'qq' => 'ъ''YE' => 'Э''Ye' => 'Э''ye' => 'э',
     
'YU' => 'Ю''Yu' => 'Ю''yu' => 'ю''YA' => 'Я',
     
'Ya' => 'Я''ya' => 'я''YI' => 'Ы''Yi' => 'Ы',
     
'yi' => 'ы''A' => 'А''a' => 'а''B' => 'Б',
     
'b' => 'б''C' => 'Ц''c' => 'ц''D' => 'Д',
     
'd' => 'д''E' => 'Е''e' => 'е''F' => 'Ф',
     
'f' => 'ф''G' => 'Г''g' => 'г''H' => 'Х',
     
'h' => 'х''X' => 'Х''x' => 'х''I' => 'И',
     
'i' => 'и''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' => 'ш''J' => 'Й',
     
'j' => 'й''Z' => 'З''z' => 'з'
     
);

     
preg_match_all('/#([^[]+)#/U'$str$a);
     
$str strtr($str$translate);
     
preg_match_all('/#([^[]+)#/U'$str$b);
     
$str str_replace(array_values($b[0]), array_values($a[1]), $str);
     return 
$str;
}

//-------------функция инфы о юзере-------------//
function user($ref$w NULL)
{
    if (!
ctype_digit($ref))
    {
        
$ref char($ref0);
        
$result mysql_query("SELECT * FROM `users` WHERE `nick` = '$ref' LIMIT 1");
    }
    else
    {
        
$ref number($ref);
        
$result mysql_query("SELECT * FROM `users` WHERE `id` = '$ref' LIMIT 1");
    }
    
$nik mysql_fetch_array($result);

    if (isset(
$w)) return $nik[$w];
    else return 
$nik['id'];
}

//-------------функция форматирования времени-------------//
function timeAgo($timestamp$granularity 2$format 'Y-m-d H:i:s')
{
        
$difference time() - $timestamp;
        if (
$difference 0) return 'только что';
        elseif (
$difference 864000)
        {
                
$periods = array('нед.' => 604800'дн.' => 86400'ч.' => 3600'мин.' => 60'сек.' => 1);
                
$output '';
                foreach(
$periods as $key => $value)
                {
                        if (
$difference >= $value)
                        {
                                
$time round($difference $value);
                                
$difference %= $value;
                                
$output .= ($output ' ' '') . $time ' ';
                                
$output .= (($time && $key == 'дн.') ? $key 'сек.' $key);
                                
$granularity--;
                        }
                        if (
$granularity == 0) break;
                }
                return (
$output $output 'только что');
        }
        else return 
date($format$timestamp);
}

//-------------функция записи онлайна-------------//
function visit($room)
{
global 
$user$ipl$agent;

if (!empty(
$_SESSION['us']))
{
    
$agent char($agent0);

    
mysql_query("UPDATE `users` SET
                `onl` = '" 
time() . "',
                `visit` = '" 
date('d-m-y в H:i') . "',
                `ip` = '
$ipl',
                `soft` = '
$agent',
                `where` = '
$room'
                WHERE `id` = '
$user[id]' LIMIT 1");
}
}

//-------------функция экранирования и замены спецсимволов-------------//
function char($message$n)
{
    
$message preg_replace("/(rn)+(rn)/i""rnrn"$message);
    
$message nl2br(htmlspecialchars($messageENT_QUOTES'UTF-8'));
    
$message iconv('utf-8''windows-1251'$message);
    
$message iconv('windows-1251''utf-8'$message);
    
$message preg_replace('#(.|?|!|s){3,}#''111'$message);
    
$message = ($n == true) ? addcslashes($message'_%') : $message;
    return 
$message;
}

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