Вход Регистрация
Файл: 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'] == 0header("Location: /");
    }
/* USER */
function panel() {
    global 
$u;
    if(
$u['admin'] == 0header('Location: /');
/* LOCK PANEL */
function sup() {
    global 
$u;
    if(
$u['admin'] < 1header('Location: /');
/* LOCK PANEL SUPPORT */
function mod() {
    global 
$u;
    if(
$u['admin'] < 2header('Location: /');
/* LOCK PANEL MODER */
function adm() {
    global 
$u;
    if(
$u['admin'] < 3header('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>&& $page+$ot<$k_page){
    if (
$ot==-&& $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==&& $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($charsrand(1$numChars) - 11);
    }
    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 != '<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 != nullmsg($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>&& $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($res10"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 10002).'k';
             if(
$num >= 1000000$_num round($num 10000002).'m';
                 if(
$num >= 1000000000$_num round($num 10000000002).'g';
                     if(
$num >= 1000000000000$_num round($num 10000000000002).'t';
    
    return 
$_num;


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