Вход Регистрация
Файл: public_html/core/func.php
Строк: 374
<?php
/* SYSTEM FILE */
isset($_GET['act']) ? $act=fl($_GET['act']) : '';
session_start(); 
ob_start();

function 
fl($m){
    global 
$db;
    if(!
is_numeric($m)){
        
$m = htmlspecialchars(trim($m));
    } else {
        
$m = intval(abs($m));
    }
    return 
$db->real_escape_string($m);
} 
/* FILTER */
if(isset($_COOKIE['login'])  && isset($_COOKIE['password'])) {
    
$u = $base -> query("SELECT * FROM `users` WHERE `login` = '".fl($_COOKIE['login'])."' && `password` = '".fl($_COOKIE['password'])."' LIMIT 1") -> fetch_assoc();
    if((
$u['login'] !== $_COOKIE['login']) or ($u['password'] !== $_COOKIE['password'])){
        
setcookie("login", "", time() - 3600*24*30*12, "/");
        
setcookie("password", "", time() - 3600*24*30*12, "/");
        
header('Location: /');
    }
} 
/* COOKIE */

function trueauth() {
    global 
$u;
    if(isset(
$u)) header('Location: /'); 
} 
/* GUEST */

function falseauth($save = null) {
    global 
$u;
    if(!isset(
$u)) header('Location: /');
    if(
$save != null)
    {
        if(
$u['save'] == 0) header("Location: /");
    }
} 
/* USER */
function panel() {
    global 
$u;
    if(
$u['admin'] == 0) header('Location: /');
} 
/* LOCK PANEL */
function sup() {
    global 
$u;
    if(
$u['admin'] < 1) header('Location: /');
} 
/* LOCK PANEL SUPPORT */
function mod() {
    global 
$u;
    if(
$u['admin'] < 2) header('Location: /');
} 
/* LOCK PANEL MODER */
function adm() {
    global 
$u;
    if(
$u['admin'] < 3) header('Location: /');
} 
/* LOCK PANEL ADMIN */

function error($error) {
    echo 
'<div class="error"> '.fl($error).' </div>';
} 
/* ERROR MESSAGE */
function success($success) {
    echo 
'<div class="success"> '.fl($success).' </div>';
} 
/* SUCCESS MESSAGE */
function unsave(){
    global 
$u;
    if(
$u['save'] == 0){
        echo 
'<div class="error"> Ваш персонаж не был сохранен </div>';
        include_once 
'foot.php';
        die();
    }
}
function 
tm($time=NULL){ 
    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", $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 
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){ // Вывод номеров страниц (только на первый взгляд кажется сложно ;))
    
echo '<div class = "b-mini"><div class="container">
  <nav class="pagination">'
;
    if (
$page<1)$page=1;
    
//if ($page!=1)echo "<a class='btn _green' href="".$link."page=1" title='Первая страница'>&lt;&lt;</a> ";
    
if ($page!=1)echo "<a href="".$link."page=1" title='Страница №1' class='prev'>1</a> ";
    else echo 
"<span>1</span> ";
    for (
$ot=-3; $ot<=3; $ot++){
    if (
$page+$ot>1 && $page+$ot<$k_page){
    if (
$ot==-3 && $page+$ot>2)echo " ";
    if (
$ot!=0)echo "<a href="".$link."page=".($page+$ot)."" title='Страница №".($page+$ot)."'>".($page+$ot)."</a> ";
    else echo 
"<span>".($page+$ot)."</span> ";
    if (
$ot==3 && $page+$ot<$k_page-1)echo " ";}}
    if (
$page!=$k_page)echo "<a href="".$link."page=end" title='Страница №$k_page'>$k_page</a> ";
    elseif (
$k_page>1)echo "<span>$k_page</span>";
    
//if ($page!=$k_page)echo "<a class='btn _blue' href="".$link."page=end" title='Последняя страница'>&gt;</a> ";
    
echo '  </nav>
</div></div>'
;
}
?>
<style>
   @font-face {
    font-family: ariales-matic; 
    src: url(css/ariales-matic.ttf); 
   }
   .shrif {
    font-family: ariales-matic, arial;
    font-size: 20px;
   }
</style>
<?
function db_size($data) {
    if (
$data < 1024) {
        return 
$data . " bytes";
    } else if (
$data < 1024000) {
        return 
round(( $data / 1024), 1) . " KB";
    } else {
        return 
round(( $data / 1024*1024), 1) . " MB";
    }
}
function 
who($id = 0) {    
    global 
$base;
    
$w = $base-> query("SELECT * FROM `users` WHERE `id` = '$id' LIMIT 1") -> fetch_assoc();
    if(
$w['admin'] == 1) $nick = '<span class="sup">'.$w['login'].'</span>';
    elseif(
$w['admin'] == 2) $nick = '<span class="mod">'.$w['login'].'</span>';
    elseif(
$w['admin'] == 3) $nick = '<span class="adm">'.$w['login'].'</span>';
    else 
$nick = '<span class="ln">'.$w['login'].'</span>';
    return (empty(
$w) ? 'Удален':' <a href="/user/'.$w['id'].'/">'.$nick.'</a>');
}
function 
name($id = 0, $replyStatus = 0) {
    global 
$base;
    
$w = $base-> query("SELECT * FROM `users` WHERE `id` = '$id' LIMIT 1") -> fetch_assoc();
    if(
$replyStatus == 1)
    {
        return (empty(
$w) ? '' : $w['login'].', ');
    }
    else
    {
        if(
$w['admin'] == 1) $nick = '<span class="sup">'.$w['login'].'</span>';
        elseif(
$w['admin'] == 2) $nick = '<span class="mod">'.$w['login'].'</span>';
        elseif(
$w['admin'] == 3) $nick = '<span class="adm">'.$w['login'].'</span>';
        else 
$nick = $w['login'];
        return (empty(
$w) ? 'Удален': $nick);
    }
}
function 
translite($str){
    
$ok = array(
        
"А"=>"a","Б"=>"b","В"=>"v","Г"=>"g",
        
"Д"=>"d","Е"=>"e","Ж"=>"j","З"=>"z","И"=>"i",
        
"Й"=>"y","К"=>"k","Л"=>"l","М"=>"m","Н"=>"n",
        
"О"=>"o","П"=>"p","Р"=>"r","С"=>"s","Т"=>"t",
        
"У"=>"u","Ф"=>"f","Х"=>"h","Ц"=>"ts","Ч"=>"ch",
        
"Ш"=>"sh","Щ"=>"sch","Ъ"=>"","Ы"=>"yi","Ь"=>"",
        
"Э"=>"e","Ю"=>"yu","Я"=>"ya","а"=>"a","б"=>"b",
        
"в"=>"v","г"=>"g","д"=>"d","е"=>"e","ж"=>"j",
        
"з"=>"z","и"=>"i","й"=>"y","к"=>"k","л"=>"l",
        
"м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r",
        
"с"=>"s","т"=>"t","у"=>"u","ф"=>"f","х"=>"h",
        
"ц"=>"ts","ч"=>"ch","ш"=>"sh","щ"=>"sch","ъ"=>"y",
        
"ы"=>"yi","ь"=>"","э"=>"e","ю"=>"yu","я"=>"ya", 
        
" -"=> "", ","=> "", " "=> "-", "."=> "", "/"=> "_", 
        
"-"=> ""
    
);
    return 
strtr($str,$ok);
}
function 
get_energy($id=0){
    global 
$base;
    
$g = $base -> query("SELECT * FROM `users` WHERE `id` = '$id' LIMIT 1") -> fetch_assoc();
    
$energy = $g['energy'];
    return 
$energy;
}
function 
get_health($id=0){
    global 
$base, $u;
    
$g = $base -> query("SELECT * FROM `users` WHERE `id` = '$id' LIMIT 1") -> fetch_assoc();
    
$itemsParams = getWearedItem($id,'head',1)->health + getWearedItem($id,'body',1)->health + getWearedItem($id,'boots',1)->health + getWearedItem($id,'weapon',1)->health;
    
$vipBoost = getVipBoost($id);
    
$altarBoost = getAltarBoost($id);
    
$max_health = $g['max_health']+$itemsParams+getAllianceBuffParams($id)+$vipBoost->params;
    
$trainBoost = $g['health_train']*5;
    
$tower = $base->query("SELECT * FROM `towers` WHERE `user` = '".$u['id']."'")->fetch_object();
    
$wizard = getWizardParams($tower->wizard_level);
    
$m_h = $max_health+round($max_health*$altarBoost->params)+$trainBoost+$wizard['currentParams'];
    if(
$g['demonstime'] >= time()) $m_h += round($m_h*0.1);
    return 
$m_h;
}
function 
get_max_health($id=0)
{
    return 
get_health($id);
}
function 
get_max_energy($id=0){
    global 
$base;
    
$g = $base -> query("SELECT * FROM `users` WHERE `id` = '$id' LIMIT 1") -> fetch_assoc();
    
$max_energy = $g['max_energy'];
    return 
$max_energy;
}
function 
get_power($id=0){
    global 
$base, $u;
    
$g = $base -> query("SELECT * FROM `users` WHERE `id` = '$id' LIMIT 1") -> fetch_assoc();
    
$itemsParams = getWearedItem($id,'head',1)->power + getWearedItem($id,'body',1)->power + getWearedItem($id,'boots',1)->power + getWearedItem($id,'weapon',1)->power;
    
$vipBoost = getVipBoost($id);
    
$altarBoost = getAltarBoost($id);
    
$trainBoost = $g['power_train']*5;
    
$tower = $base->query("SELECT * FROM `towers` WHERE `user` = '".$u['id']."'")->fetch_object();
    
$wizard = getWizardParams($tower->wizard_level);
    
$power = $g['power']+$itemsParams+getAllianceBuffParams($id)+$vipBoost->params;
    
$pow = $power+round($power*$altarBoost->params)+$trainBoost+$wizard['currentParams'];
    if(
$g['demonstime'] >= time()) $pow += round($pow*0.1);
    return 
$pow;
}
function 
get_block($id=0){
    global 
$base, $u;
    
$g = $base -> query("SELECT * FROM `users` WHERE `id` = '$id' LIMIT 1") -> fetch_assoc();
    
$itemsParams = getWearedItem($id,'head',1)->block + getWearedItem($id,'body',1)->block + getWearedItem($id,'boots',1)->block + getWearedItem($id,'weapon',1)->block;
    
$vipBoost = getVipBoost($id);
    
$altarBoost = getAltarBoost($id);
    
$trainBoost = $g['block_train']*5;
    
$tower = $base->query("SELECT * FROM `towers` WHERE `user` = '".$u['id']."'")->fetch_object();
    
$wizard = getWizardParams($tower->wizard_level);
    
$block = $g['block']+$itemsParams+getAllianceBuffParams($id)+$vipBoost->params;
    
$bl = $block+round($block*$altarBoost->params)+$trainBoost+$wizard['currentParams'];
    if(
$g['demonstime'] >= time()) $bl += round($bl*0.1);
    return 
$bl;
}
function 
generateCode($length = 8){
    
$chars = 'ABCDEFHIKNRSTYZOMGabdefhiknrstyzomg1234567890';
    
$numChars = strlen($chars);
    
$string = '';
    for (
$i = 0; $i < $length; $i++){
        
$string .= substr($chars, rand(1, $numChars) - 1, 1);
    }
    return 
md5($string);
}
function 
makeUserPayment($user_id, $gems, $silver)
{
    global 
$db;
    
$count = $db->query("SELECT * FROM `users` WHERE `id` = '".$user_id."'")->num_rows;
    
$db->query("UPDATE `users` SET `gold` = `gold` - '".$gems."', `silver` = `silver` - '".$silver."' WHERE `id` = '".$user_id."'");
    return 
true;
}
function 
getWearedItem($user_id, $type, $stats = 0)
{
    global 
$db;
    
$sql = $db->query("SELECT * FROM `users` WHERE `id` = '".$user_id."'");
    
$res = $sql->fetch_object();
    
$itemInInventory = $db->query("SELECT * FROM `inventory` WHERE `id` = '".$res->$type."'");
    
$itemInfo = $itemInInventory->fetch_object();
    
$item = $db->query("SELECT * FROM `subject` WHERE `id` = '".$itemInfo->item."'")->fetch_object();
    if(
$stats == 0) return ($res->$type != 0 ? '<a href="/user/'.$user_id.'/item/'.$res->$type.'"><img src="'.$item->images.'" width="45" height="45"></a>' : '<img src="/images/not-equipment.png" width="43" height="41">');
    else
    {
        
$boost = getSlotBoost($user_id, $type);
        
$stonesBoost = getItemStonesBoost($res->$type);
        if(
$res->$type == 0) return (object)["health" => 0, "power" => 0, "block" => 0];
        else return (object)[
"health" => $item->health+$boost+$stonesBoost, "power" => $item->power+$boost+$stonesBoost, "block" => $item->block+$boost+$stonesBoost];
    }
}
function 
getSlotBoost($uid, $type)
{
    global 
$db;
    
$slotType = $type.'_slot_level';
    
$usInfo = $db->query("SELECT * FROM `users` WHERE `id` = '".$uid."'")->fetch_object();
    if(
$usInfo->$slotType == 1) $boost = 1;
    else
    {
        
$buffInfo = $db->query("SELECT * FROM `slot_upgrade_levels` WHERE `level` = '".$usInfo->$slotType."'")->fetch_object();
        
$boost = $buffInfo->buff;
    }
    return 
$boost;
}
function 
getItemStonesBoost($item_id)
{
    global 
$db;
    
$stonesInfo = $db->query("SELECT * FROM `stones_item` WHERE `item` = '".$item_id."'");
    if(
$stonesInfo->num_rows == 0)
    {
        return 
0;
    }
    else
    {
        
$stones_buff = [null,25,50,250,500,2500,5000];
        
$result = 0;
        while(
$sI = $stonesInfo->fetch_object())
        {
            
$result += $stones_buff[$sI->type];
        }
        return 
$result;
    }
}
function 
getAltarBoost($uid)
{
    global 
$db;
    
$userInfo = $db->query("SELECT * FROM `users` WHERE `id` = '".$uid."'")->fetch_object();
    if(
$userInfo->alliance_id == 0) return (object)["mest" => 0, "exp" => 0, "params" => 0, "silver" => 0];
    else
    {
        
$allInfo = $db->query("SELECT * FROM `alliances` WHERE `id` = '".$userInfo->alliance_id."'")->fetch_object();
        if(
$allInfo->altar_level == 0) return (object)["mest" => 0, "exp" => 0, "params" => 0, "silver" => 0];
        else return (object)[
"mest" => $allInfo->altar_level, "exp" => $allInfo->altar_level*5/100, "params" => $allInfo->altar_level*2/100, "silver" => $allInfo->altar_level*5/100];
    }
}
function 
msg($msg)
{
    return 
$_SESSION['message'] = $msg;
}
function 
redirect($location, $msg=null)
{
    if(
$msg != null) msg($msg);
    
header("Location: ".$location);
    exit;
}

function 
tl($tl){
    
$d=3600*24;
    
$day=floor($tl/$d);
    
$tl=$tl-($d*$day);

    
$hour=floor($tl/3600);
    
$tl=$tl-(3600*$hour);

    
$minute=floor($tl/60);
    
$tl=$tl-(60*$minute);

    
$second=floor($tl);

    
$dayt="".($day>0?"$day д.":null)."";
    
$hourt="".($hour>0?"$hour ч.":null)."";
    
$minutet="".($minute>0?"$minute м.":null)."";
    
$secondt="".($second>0?"$second с.":null)."";

    if(
$day>0){
        
$minutet=NULL;
        
$secondt=NULL;
    }
    if(
$hour>0 && $day==0){
        
$secondt=NULL;
        
$dayt=NULL;
    }

    return 
"$dayt$hourt$minutet$secondt";
}

function 
smiles($t)
{
    global 
$db;
    
$smilesInfo = $db->query("SELECT * FROM `smiles`");
    while(
$sm = $smilesInfo->fetch_object())
    {
        
$t = str_replace($sm->tag, '<img src="'.$sm->image.'" alt="*" width="35px">', $t);
    }
    return 
$t;
}

function 
viewText($text, $smiles, $bbcodes)
{
    if(
$smiles > 0) $res = smiles($text);
    else 
$res = $text;
    
$res = Text_Censure::parse($res, 10, "xe2x80xa6", true, "* ");
    return 
$res;
}

function 
getAllianceBuffParams($uid)
{
    global 
$db;
    
$usInfo = $db->query("SELECT * FROM `users` WHERE `id` = '".$uid."'")->fetch_object();
    if(
$usInfo->alliance_id == 0) return 0;
    else
    {
        
$allInfo = $db->query("SELECT * FROM `alliances` WHERE `id` = '".$usInfo->alliance_id."'")->fetch_object();
        
$param = 5*$allInfo->level;
        return 
$param;
    }
}


/*
*
Округление
*
*/
function getLastNumber($num) {
    
    if(
$num <= 1000) $_num = $num;
         if(
$num >= 1000) $_num = round($num / 1000, 2).'k';
             if(
$num >= 1000000) $_num = round($num / 1000000, 2).'m';
                 if(
$num >= 1000000000) $_num = round($num / 1000000000, 2).'g';
                     if(
$num >= 1000000000000) $_num = round($num / 1000000000000, 2).'t';
    
    return 
$_num;


}
Онлайн: 0
Реклама