Вход Регистрация
Файл: system/h.php
Строк: 663
<?php
/* Обновление игры под PHP 8.4 / PDO и усиление безопасности: by Метриум (Стэлп) */

    
ob_start();

  list(
$msec,$sec)
             = 
explode(chr(32), microtime()); 
  
$gtime     $sec+$msec

?>


<!doctype html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="author" content="by Метриум (Стэлп)">
<meta name="copyright" content="by Метриум (Стэлп)">
<meta name="keywords" content="битва за трон, королевство, онлайн игра, MMORPG">
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
<meta name="game-world-unix" content="<?=time()?>">
<link rel="stylesheet" type="text/css" href="/style.css?v=55">
<link rel="icon" href="/favicon.ico" type="image/x-icon">
<title><?=htmlspecialchars((string)($title ?? 'Битва за трон'), ENT_QUOTES'UTF-8')?></title>
<?php if(!defined('NO_GAME_LIVE_JS')): ?><script src="/assets/js/game-live.js?v=5104" defer></script><?php endif; ?>
</head>

<body>
<!-- by Метриум (Стэлп) -->
<?php
// Проверка активного рекорда выполняется на каждой открытой игровой странице.
if(!empty($user) && function_exists('game_hall_pending_tick')) { game_hall_pending_tick($user); }

?>

<?php if(!defined('NO_GAME_LIVE_JS')): ?>
<script type="text/javascript">
function showTime(){
var dat=new Date();var H=('0'+dat.getHours()).slice(-2);var M=('0'+dat.getMinutes()).slice(-2);var S=('0'+dat.getSeconds()).slice(-2);
var el=document.getElementById('time_div');if(el)el.innerHTML=H+':'+M+':'+S;setTimeout(showTime,1000);
}
</script>
<?php endif; ?>
<?php

if($user) {
switch(
$user['level']) {
case 
1:
$exp 5;
break;
case 
2:
$exp 9;
break;
case 
3:
$exp 1;
break;
case 
4:
$exp 1;
break;
case 
5:
$exp 280;
break;
case 
6:
$exp 380;
break;
case 
7:
$exp 5120;
break;
case 
8:
$exp 8810;
break;
case 
9:
$exp 12820;
break;
case 
10:
$exp 19320;
break;
case 
11:
$exp 22870;
break;
case 
12:
$exp 30405;
break;
case 
13:
$exp 475600;
break;
case 
14:
$exp 639000;
break;
case 
15:
$exp 892070;
break;
case 
16:
$exp 919600;
break;
case 
17:
$exp 1000000;
break;
case 
18:
$exp 2000000;
break;
case 
19:
$exp 3000000;
break;
case 
20:
$exp 4000000;
break;
case 
21:
$exp 5000000;
break;
case 
22:
$exp 6000000;
break;
case 
23:
$exp 6000000;
break;
case 
24:
$exp 6000000;
break;
case 
25:
$exp 6000000;
break;
case 
26:
$exp 6000000;
break;
case 
27:
$exp 6000000;
break;
case 
28:
$exp 6000000;
break;
case 
29:
$exp 6000000;
break;
case 
30:
$exp 6000000;
break;
case 
31:
$exp 6000000;
break;
case 
32:
$exp 6000000;
break;
case 
33:
$exp 6000000;
break;
case 
34:
$exp 6000000;
break;
case 
35:
$exp 6000000;
break;
case 
36:
$exp 6000000;
break;
case 
37:
$exp 7250000;
break;
case 
38:
$exp 8500000;
break;
case 
39:
$exp 9750000;
break;
case 
40:
$exp 11000000;
break;
case 
40:
$exp 11000000;
break;
case 
41:
$exp 12250000;
break;
case 
42:
$exp 13500000;
break;
case 
43:
$exp 14750000;
break;
case 
44:
$exp 16000000;
break;
case 
45:
$exp 17250000;
break;
case 
46:
$exp 18500000;
break;
case 
47:
$exp 19750000;
break;
case 
48:
$exp 21000000;
break;
case 
49:
$exp 22250000;
break;
case 
50:
$exp 25000000;
break;
case 
51:
$exp 27000000;
break;
case 
52:
$exp 29000000;
break;
case 
53:
$exp 31000000;
break;
case 
54:
$exp 33000000;
break;
case 
55:
$exp 35000000;
break;
case 
56:
$exp 37000000;
break;
case 
57:
$exp 39000000;
break;
case 
58:
$exp 41000000;
break;
case 
59:
$exp 45000000;
break;
case 
60:
$exp 50000000;
break;
case 
61:
$exp 60000000;
break;
case 
62:
$exp 70000000;
break;
case 
63:
$exp 80000000;
break;
case 
64:
$exp 90000000;
break;
case 
65:
$exp 100000000;
break;
case 
66:
$exp 110000000;
break;
case 
67:
$exp 120000000;
break;
case 
68:
$exp 130000000;
break;
case 
69:
$exp 140000000;
break;
case 
70:
$exp 150000000;
break;
case 
71:
$exp 170000000;
break;
case 
72:
$exp 180000000;
break;
case 
73:
$exp 190000000;
break;
case 
74:
$exp 200000000;
break;
case 
75:
$exp 300000000;
break;
case 
76:
$exp 400000000;
break;
case 
77:
$exp 500000000;
break;
case 
78:
$exp 600000000;
break;
case 
79:
$exp 700000000;
break;
case 
80:
$exp 800000000;
break;
case 
81:
$exp 800000000;
break;
case 
82:
$exp 900000000;
break;
case 
83:
$exp 1000000000;
break;
case 
84:
$exp 1000000000;
break;
case 
85:
$exp 1000000000;
break;
case 
86:
$exp 1000000000;
break;
case 
87:
$exp 1000000000;
break;
case 
88:
$exp 1000000000;
break;
case 
89:
$exp 2000000000;
break;
case 
90:
$exp 300000000;
break;
case 
91:
$exp 400000000;
break;
case 
92:
$exp 500000000;
break;
case 
93:
$exp 600000000;
break;
case 
94:
$exp 700000000;
break;
case 
95:
$exp 800000000;
break;
case 
96:
$exp 900000000;
break;
case 
97:
$exp 1000000000;
break;
case 
98:
$exp 1000000000;
break;
case 
99:
$exp 1000000000;
break;
case 
100:
$exp 1000000000;
break;
case 
101:
$exp 1000000000;
break;
case 
102:
$exp 1000000000;
break;
case 
103:
$exp 1000000000;
break;
case 
104:
$exp 1000000000;
break;
case 
105:
$exp 1000000000;
break;
case 
106:
$exp 1000000000;
break;
case 
107:
$exp 1000000000;
break;
case 
108:
$exp 1000000000;
break;
case 
109:
$exp 1000000000;
break;
case 
110:
$exp 1000000000;
break;
case 
111:
$exp 1000000000;
break;
case 
112:
$exp 1000000000;
break;
case 
113:
$exp 1000000000;
break;
case 
114:
$exp 1000000000;
break;
case 
115:
$exp 1000000000;
break;
case 
116:
$exp 1000000000;
break;
case 
117:
$exp 1000000000;
break;
case 
118:
$exp 1000000000;
break;
case 
119:
$exp 1000000000;
break;
case 
120:
$exp 1000000000;
break;
case 
121:
$exp 0;
break;
}
$exp_progress = ($exp 0) ? round(($user['exp'] / $exp) * 100) : 100;
if(
$exp_progress 100) {
$exp_progress 100;
}

function 
clan_exp($i) {
switch(
$i) {
case 
1:
$clan_exp 300000;
break;
case 
2:
$clan_exp 580000;
break;
case 
3:
$clan_exp 1110000;
break;
case 
4:
$clan_exp 2100000;
break;
case 
5:
$clan_exp 3940000;
break;
case 
6:
$clan_exp 7320000;
break;
case 
7:
$clan_exp 13460000;
break;
case 
8:
$clan_exp 2449000;
break;
case 
9:
$clan_exp 4408000;
break;
case 
10:
$clan_exp 7846000;
break;
case 
11:
$clan_exp 13808000;
break;
case 
12:
$clan_exp 24025000;
break;
case 
13:
$clan_exp 41323000;
break;
case 
14:
$clan_exp 70249000;
break;
case 
15:
$clan_exp 11801800;
break;
case 
16:
$clan_exp 19590900;
break;
case 
17:
$clan_exp 32129000;
break;
case 
18:
$clan_exp 52048009;
break;
case 
19:
$clan_exp 83278200;
break;
case 
20:
$clan_exp 13157950;
break;
case 
21:
$clan_exp 20526400;
break;
case 
22:
$clan_exp 31610650;
break;
case 
23:
$clan_exp 48048180;
break;
case 
24:
$clan_exp 72072270;
break;
case 
25:
$clan_exp 10666695;
break;
case 
26:
$clan_exp 15573374;
break;
case 
27:
$clan_exp 22425658;
break;
case 
28:
$clan_exp 31844434;
break;
case 
29:
$clan_exp 44582207;
break;
case 
30:
$clan_exp 61500000;
break;
case 
31:
$clan_exp 83700000;
break;
case 
32:
$clan_exp 112100000;
break;
case 
33:
$clan_exp 148000000;
break;
case 
34:
$clan_exp 192400000;
break;
case 
35:
$clan_exp 246300000;
break;
case 
36:
$clan_exp 1103000000;
break;
case 
37:
$clan_exp 1103000000;
break;
case 
38:
$clan_exp 1103000000;
break;
case 
39:
$clan_exp 1103000000;
break;
case 
40:
$clan_exp 1103000000;
break;
case 
41:
$clan_exp 1103000000;
break;
case 
42:
$clan_exp 1103000000;
break;
case 
43:
$clan_exp 1103000000;
break;
case 
44:
$clan_exp 1103000000;
break;
case 
45:
$clan_exp 1103000000;
break;
case 
46:
$clan_exp 1103000000;
break;
case 
47:
$clan_exp 1103000000;
break;
case 
48:
$clan_exp 1103000000;
break;
case 
49:
$clan_exp 1103000000;
break;
case 
50:
$clan_exp 1103000000;
break;
case 
51:
$clan_exp 1103000000;
break;
case 
52:
$clan_exp 1103000000;
break;
case 
53:
$clan_exp 1103000000;
break;
case 
54:
$clan_exp 1103000000;
break;
case 
55:
$clan_exp 1103000000;
break;
case 
56:
$clan_exp 1103000000;
break;
case 
57:
$clan_exp 1103000000;
break;
case 
58:
$clan_exp 1103000000;
break;
case 
59:
$clan_exp 1103000000;
break;
case 
60:
$clan_exp 1103000000;
break;
case 
61:
$clan_exp 1103000000;
break;
case 
62:
$clan_exp 1103000000;
break;
case 
63:
$clan_exp 1103000000;
break;
case 
64:
$clan_exp 1103000000;
break;
case 
65:
$clan_exp 1103000000;
break;
case 
66:
$clan_exp 0;
break;
}
  
      return 
$clan_exp;
    
    }
    
$clan = (isset($clan) && is_array($clan)) ? $clan null;
$gameBadges function_exists('game_activity_badges') ? game_activity_badges($user,$clan,(isset($clan_memb)&&is_array($clan_memb)?$clan_memb:null)) : [];
$GLOBALS['game_badges']=$gameBadges;
$lvlclan $clan ? ((int)$clan['level'] + 1) : 0;
$time time();
    if(
$clan && $clan['level'] < 66 && $clan['exp'] >= clan_exp($clan['level'])) {
db_query('UPDATE `clans` SET `level` = `level` + 1,
`exp` = "0" WHERE `id` = "'
.$clan['id'].'"');
db_query("INSERT INTO `chat` (`clan`, `user`,`text`, `time`) VALUES ('$clan[id]', '0','<span class=dgreen>Ваш клан получил $lvlclan уровень</span>','$time')");

}

// Счётчики уже собраны единым лёгким запросом game_activity_badges().
$mail=(int)($gameBadges['mail']??0);
$_chat=(int)($gameBadges['chat']??0);

if(
$_SERVER['PHP_SELF'] == '/index.php')$title 'Главная';
if(
$_SERVER['PHP_SELF'] == '/clan.php')$title 'Клан';

?>


<div class="main" style="word-wrap:break-word;"><span style="text-shadow:none;"></span>
<div class="head cntr" style="position:relative;" onclick="location.href='/'">

<span class="bl rght nwr">



<?php
/* Верхняя панель меню удалена: вся навигация находится в футере. by Метриум (Стэлп) */
?>
<?php
if($user) {
?>


<?php 
if ((int)($gameBadges['daily']??0)>0) { ?>
<div class="title">Ежедневная награда</div>

<center><a href='/day/'class="btns _g"><span class='end'><span class='label'>Забрать награду</a></center><?php ?>

<?php
}
?>

<?php if($mail 0) {?><a href="/mail/"><img src="/images/icon/mail.png" alt=""> <?=game_badge_plus($mail)?></a> | <?php }if($_chat 0) {?><a href="/chat_lenta/"><img src="/images/icon/chat.png" alt=""> <?=game_badge_plus($_chat)?></a> | <?php }?><img src="/images/icon/health.png" alt="hp"> <span class="white"><?=$user['hp']?></span> | <img src="/images/icon/mana.png" alt="mp"> <?=$user['mp']?></span>
<div class="clr"></div>
</div>
<hr>
<?php
// Контекст задания: кнопка «Перейти к выполнению» всегда показывает игроку,
// сколько уже сделано и сколько осталось именно у выбранной ежедневной цели.
if($user && isset($_GET['quest']) && function_exists('game_quest_context') && function_exists('game_progress_markup')){
    
$questContext=game_quest_context((int)$user['id'],max(0,(int)$_GET['quest']));
    if(
$questContext){
        echo 
'<div class="quest-context-panel center"><div class="blue"><b>'.security_html((string)$questContext['title']).'</b></div>';
        echo 
'<div class="small">'.security_html((string)$questContext['description']).'</div>';
        echo 
game_progress_markup((int)$questContext['progress'],(int)$questContext['goal'],'Прогресс задания');
        echo 
'<a href="/quest/" class="small">Вернуться к ежедневным заданиям</a></div>';
    }
}
?>

<?php 
if($user['exp_line'] == '0'){//Добавляем старую полосу 
echo'
 
 
 <div class="hr_g mb2"><div><div></div></div></div>
    <table class="small yell h25 bgc_prg"><tr>
        <td class="va_m plr10 nwr">'
.$user['level'].'</td>
        <td class="va_m w100"><div class="prg-bar"><div class="prg-blue" style="width: '
.$exp_progress.'%"></div></div></td>
        <td class="va_m plr10"> '
.$exp_progress.'%</td>
    </tr></table>
 <div class="header">

            '

}else{
//Добавляем новую полосу 
echo'   

<div class="exp_bar"><div class="progress" style="width:'
.$exp_progress.'%"></div></div>

'


?>





<?php 

$morning 
" <font color='yellow'>Доброе утро!</font> </center></small></font>
 "

$day "<font color='yellow'> Добрый день! </font> </center></small></font>
 "

$evening " <font color='red'> Добрый вечер! </font> </center></small></font>
 "

$night " <font color='red'> Доброй ночи! </font> </center></small></font>
 "



$minyt date("i"); 
$chasov date("H"); 

if(
$chasov >= 04) {$hello $morning;} 
if(
$chasov >= 10) {$hello $day;} 
if(
$chasov >= 16) {$hello $evening;} 
if(
$chasov >= 22 or $chasov 04) {$hello $night;} 


?>

<?php
$carl 
defined('NO_GAME_LIVE_JS') ? '<small><center><font color="lime">Время:</font><font color="orange"> '.date('H:i:s').', '.$hello '<small><center><font color="lime">Время:</font><font color="orange"><div id="time_div" class=""></div><script type="text/javascript">showTime();</script>,'.$hello
echo 
$carl;
$__flash function_exists('game_flash_render_pending') ? game_flash_render_pending() : '';
if(
$__flash!=='') echo '<div class="game-flash-stack">'.$__flash.'</div>';
$__hallProgress = (!empty($user) && function_exists('game_hall_progress_banner')) ? game_hall_progress_banner($user,(string)($_SERVER['REQUEST_URI'] ?? '/')) : '';
if(
$__hallProgress!=='') echo $__hallProgress;
?> 



<?php
$aid 
db_fetch_assoc(db_query('SELECT * FROM `aid` WHERE `id` = 1 LIMIT 1'));
if (
is_array($aid) && (int)($aid['status'] ?? 0) === 1) { 
?>

<div class='content center'>Аид восстал из мёртвых!

<a class='button' href='/aid'> Сразиться!</a>

</div>

<?php

}




$tieeee time();

// Помощь казне клана без ухода со страницы — by Метриум (Стэлп).
if (($user['id'] ?? 0) && $clan && ($_SERVER['REQUEST_METHOD'] ?? 'GET') === 'POST' && isset($_POST['clan_treasury_help'])) {
    
security_require_csrf();
    
$uid=(int)$user['id']; $cid=(int)$clan['id']; $now=time();
    
$action=(string)($_POST['clan_treasury_help'] ?? '');
    if(
$action==='deposit'){
        try {
            
db_pdo()->beginTransaction();
            
$u=db_fetch_assoc(db_query("SELECT `g`,`vnesok_cazna_clan` FROM `users` WHERE `id`=$uid FOR UPDATE"));
            if(!
$u || (int)$u['vnesok_cazna_clan']>$now) throw new RuntimeException('Предложение помощи уже недоступно.');
            if((int)
$u['g']<100) throw new RuntimeException('Недостаточно золота.');
            
db_query("UPDATE `users` SET `g`=`g`-100,`vnesok_cazna_clan`=".($now+3600)." WHERE `id`=$uid");
            
db_query("UPDATE `clans` SET `g`=`g`+100 WHERE `id`=$cid");
            
$login=db_real_escape_string((string)$user['login']);
            
db_query("INSERT INTO `clan_journal` (`cl_id`,`text`,`time`) VALUES ($cid,'<a href=/user/$uid>".$login."</a> вложил в казну клана 100 <img src=/images/icon/gold.png> золота!',$now)");
            
db_pdo()->commit();
            
$_SESSION['cazna_popolnit']='<img src="/images/icon/ok.png" alt="*"> <b>Казна клана успешно пополнена на <img src="/images/icon/gold.png" alt=""> 100 золота!</b>';
            
$user['g']=(int)$user['g']-100$user['vnesok_cazna_clan']=$now+3600;
        } catch(
Throwable $e){ if(db_pdo()->inTransaction()) db_pdo()->rollBack(); $_SESSION['cazna_popolnit']=security_html($e->getMessage()); }
    } elseif(
$action==='dismiss'){
        
db_query("UPDATE `users` SET `vnesok_cazna_clan`=".($now+3600)." WHERE `id`=$uid");
        
$user['vnesok_cazna_clan']=$now+3600;
    }
}
if (isset(
$_SESSION['cazna_popolnit'])){
    echo 
"<div class='god4'><center>".$_SESSION['cazna_popolnit']."</center></div>";
    unset(
$_SESSION['cazna_popolnit']);
}

if((int)
$user['vnesok_cazna_clan']<$tieeee && $clan && (int)$user['g']>=100){
    echo 
'<div class="clan-help-box center">Помоги своему клану — пополни казну для его развития!<br>';
    echo 
'<form method="post" class="inline-form">'.security_csrf_field().'<button class="btn" type="submit" name="clan_treasury_help" value="deposit"><span class="end"><span class="label">Внести <img src="/images/icon/gold.png" alt=""> 100</span></span></button></form>';
    echo 
'<form method="post" class="inline-form">'.security_csrf_field().'<button class="btn" type="submit" name="clan_treasury_help" value="dismiss"><span class="end"><span class="label">Отказаться</span></span></button></form></div>';
}

?>
<?php

if (function_exists('tutorial_render') && isset($user) && $usertutorial_render($user, (string)($_SERVER['REQUEST_URI'] ?? ''));

$q db_query ('select * from `user_q` WHERE (`user`="' $user['id'] . '") AND (`complete`="0")');
if (
db_num_rows ($q) != 0) {

while (
$user_q db_fetch_array ($q)) {

// 
$q_ db_query ('SELECT * FROM `quest` WHERE (`id`="' $user_q['q'] . '")');
$quest db_fetch_array ($q_);

if (
$user_q['c']==$quest['c'])


$sage_flag true;

}

}

echo ( isset(
$sage_flag) ? '<center><span style="color:#30c030;"><a href="/quest/"><img src="/images/win_back_320.png" alt=""></a></span></center>':'' ) ;

if(
$user['save']=='0'){
    
    
$extra_unic security_flow_token('save');


?>



<?php

}
?>
<?php
if($user['lvl_dobl'] < 150 && $user['alex_dobl'] >= 400) {
    
db_query('UPDATE `users` SET `lvl_dobl` = `lvl_dobl` + 1, `alex_dobl` = `alex_dobl` 
- 400
     WHERE `id` = "'
.$user['id'].'"');
if(
$clan_memb['last_update'] > (time()+(3600*72))){    
if(
$clan){
db_query("UPDATE `clan_memb` SET `dobl` = `dobl` + '1' WHERE `user` = ".$user['id']."");
db_query("UPDATE `clans` SET `dobl` = `dobl` + '1' WHERE `id` = ".$clan['id']."");
}
}
     }
$lvluser $user['level'] + 1;
    if(
$user['level'] < 121 && $user['exp'] >= $exp) {
        
$new  $user['level'] + 1;
        
$g 10 + ($user['level'] * 5) - 5;
$time time();
    
db_query('UPDATE `users` SET `level` = `level` + 1,
                                      `exp` = "0",
                                       `hp` = "'
.($user['vit'] * 2).'",
                                       `mp` = "'
.$user['mana'].'",
                                        `g` = "'
.($user['g'] + $g).'" WHERE `id` = "'.$user['id'].'"');
if(
$clan){
db_query("INSERT INTO `chat` (`clan`, `user`,`text`, `time`) VALUES ('$clan[id]','0','<span class=dgreen>$user[login] получил $lvluser уровень</span>','$time')");
}


$read '1';  
$to $user['id'];
$from '0';



$text 'Поздравляем вы достигли уровня '.$lvluser.'. Награда: <img src="/images/icon/gold.png"/> '.$g.' золота!';
db_query("INSERT INTO `mail` SET `from` = '$from',`time` = '$time',`to`='$to',`text` = '$text'");
   

 
if(
$user['level']>2){ 
?> 
<div class='block_outer center' style='margin:7px 4px 7px 4px;'><img src='/images/icon/2hit.png' alt=''/> <span class='dgreen bold'>Поздравляем!</span> <img src='/images/icon/2hit.png' alt=''/><div class='separ'></div>Ты получил новый уровень!<br/><span class='blue'>Награда:</span> <img src='/images/icon/gold.png' alt=''/> <?=$g?> золота<div class='separ'></div><?php 
if($user['level']<2){ 
?><span class='yellow'>Тебе доступны <img src='/images/icon/league.png' alt=''/> Дуэли!</span><div class='mb10'></div><a class='btn' href='/duel/'><span class='end'><span class='label'>Перейти в дуэли</span></span></a></div><?php }?> 
</div> 
<?php 




 if(
$user['level'] == "19") { 
db_query('UPDATE `users` SET `league_place`="1000",`league`="2",`league_fights`="25" WHERE `id` = "'.$user['id'].'"'); 
}elseif(
$user['level'] == "29") { 
db_query('UPDATE `users` SET `league_place`="1000",`league`="3",`league_fights`="25" WHERE `id` = "'.$user['id'].'"'); 
}elseif(
$user['level'] == "49") { 
db_query('UPDATE `users` SET `league_place`="1000",`league`="4",`league_fights`="25" WHERE `id` = "'.$user['id'].'"'); 
}elseif(
$user['level'] == "79") { 
db_query('UPDATE `users` SET `league_place`="1000",`league`="5",`league_fights`="25" WHERE `id` = "'.$user['id'].'"'); 
}elseif(
$user['level'] == "99") { 
db_query('UPDATE `users` SET `league_place`="1000",`league`="6",`league_fights`="25" WHERE `id` = "'.$user['id'].'"'); 
}
 elseif(
$user['league'] == "0") { 
db_query('UPDATE `users` SET `league_place`="1000",`league`="1",`league_fights`="25" WHERE `id` = "'.$user['id'].'"'); 
}


}

if(
$clan) {
$clan_msg db_fetch_array(db_query('SELECT * FROM `clan_msg` WHERE `clan` = "'.$clan['id'].'" AND `time` >= "'.$clan_memb['time'].'" ORDER BY `time` DESC LIMIT 1'));
if(
$clan_msg && db_result(db_query('SELECT COUNT(*) FROM `clan_msg_read` WHERE `msg` = "'.$clan_msg['id'].'" AND `user` = "'.$user['id'].'"'),0) == ) {
$clan_msg_user db_fetch_array(db_query('SELECT * FROM `users` WHERE `id` = "'.$clan_msg['user'].'"'));
if((
$_SERVER['REQUEST_METHOD']??'GET')==='POST' && isset($_POST['clan_msg_read'])) {
security_require_csrf();
db_execute('INSERT IGNORE INTO `clan_msg_read` (`msg`,`user`) VALUES (:m,:u)',['m'=>(int)$clan_msg['id'],'u'=>(int)$user['id']]);
header('Location: '.((string)(parse_url($_SERVER['REQUEST_URI']??'/',PHP_URL_PATH)?:'/'))); exit;
}
?>

<div class="block_light center">
<b>Клановое объявление</b>
<br><?=security_system_text($clan_msg['text'])?><br>
Отправитель: <img src="/images/icon/race/<?=$clan_msg_user['r']?>.png" alt=""> <?=$clan_msg_user['login']?><br>
<span class="grey"><?=_times(time() - $clan_msg['time'])?></span>
<div class="separ"></div>
<form method="post" class="inline-form"><?=security_csrf_field()?><button class="link-button grey" type="submit" name="clan_msg_read" value="1">Скрыть</button></form>
</div>
<div class="mini-line"></div>

<?php
}
}else{
if(
db_result(db_query('SELECT COUNT(*) FROM `clan_invite` WHERE `user` = "'.$user['id'].'"'),0) > 0) {
$_invite db_fetch_array(db_query('SELECT * FROM `clan_invite` WHERE `user` = "'.$user['id'].'"'));
$clan_invite db_fetch_array(db_query('SELECT * FROM `clans` WHERE `id` = "'.$_invite['clan'].'"'));
if((
$_SERVER['REQUEST_METHOD']??'GET')==='POST' && isset($_POST['clan_invite_accept'])) {
security_require_csrf();


/////


db_query("INSERT INTO `chat` (`clan`, `user`,`text`, `time`) VALUES (".$clan_invite['id'].", '0','Приветствуем новичка:<span class=dgreen>".$user['login']." </span>',".time().")"); 

//////





db_execute('INSERT INTO `clan_journal` (`cl_id`,`text`,`time`) VALUES (:c,:t,:tm)',['c'=>(int)$clan_invite['id'],'t'=>'<img src=/images/icon/race/'.(int)$user['r'].'.png> '.strip_tags((string)$user['login']).' вступил в клан','tm'=>time()]); 




db_query('INSERT INTO `clan_memb` (`clan`,`user`,`time`,`last_update`) VALUES ("'.$clan_invite['id'].'","'.$user['id'].'","'.time().'","'.(time() + ((60 60) * 24)).'")');
db_query('DELETE FROM `clan_invite` WHERE `user` = "'.$user['id'].'"');
$_SESSION['not'] = '<img src="/images/icon/ok.png"> Вы успешно вступили в клан';
header('location: /clan/'.$clan_invite['id'].'');
exit;
}
    
if((
$_SERVER['REQUEST_METHOD']??'GET')==='POST' && isset($_POST['clan_invite_decline'])){
security_require_csrf();
db_query('DELETE FROM `clan_invite` WHERE `clan` = "'.$clan_invite['id'].'" AND `user` = "'.$user['id'].'"');
header('location: '.$_SERVER['PHP_SELF'].'?');
exit;
}
?>

<div class='block_light center'>
<b>Приглашение в клан</b><br/><br/>

<table cellpadding='0' cellspacing='0' align='center'>
<tr>
<td><img src='/images/icon/clan/gerb/1.png' alt='*'/></td><td valign='top' style='padding-left: 5px; text-align: left;'>
<img src='/images/icon/clan/<?=$clan_invite['r']?>.png' alt='*'/> <a href='/clan/<?=$clan_invite['id']?>/'><?=$clan_invite['name']?></a><br/>
В клане: <b><?=db_result(db_query('SELECT COUNT(*) FROM `clan_memb` WHERE `clan` = "'.$clan_invite['id'].'"'),0)?></b> человек<br/>
Бонус: <font color='#90c090'>+<?=clan_buff($clan_invite['built_1'])?></font> к сумме
</td>
</tr></table>

<div class='separ'></div>

<form method='post' class='inline-form'><?=security_csrf_field()?><button type='submit' name='clan_invite_accept' value='1' class='btn'><span class='end'><span class='label'>Вступить</span></span></button></form><br/>
<form method='post' class='inline-form'><?=security_csrf_field()?><button type='submit' name='clan_invite_decline' value='1' class='link-button grey'>Отказаться</button></form>

</div>

  
<?php
}
}

$q_gift db_query("SELECT * FROM `user_podarok` WHERE `user_id` = '$user[id]'");
$gift db_fetch_array($q_gift) ?: ['last_auth' => 0];
$time = (int)($gift['last_auth'] ?? 0) + 86400;
$now time();
if (
$time $now) {
echo 
"";
echo 
"";}
// Долина бессмертных v50.10: уведомляем только реально зарегистрированного вручную игрока.
if(($_SERVER['PHP_SELF'] ?? '') !== '/undying.php'){
    
$uid=(int)$user['id'];
    
$activeUndying=db_fetch_one("SELECT e.`id` FROM `undying_v512_event` e JOIN `undying_v512_member` m ON m.`event_id`=e.`id` WHERE e.`state`='running' AND m.`user_id`=:u AND m.`is_bot`=0 LIMIT 1",['u'=>$uid]);
    if(
$activeUndying){
        echo 
'<div class="block_light center undying-active-alert"><b class="dgreen">Вы участвуете в битве за Долину бессмертных</b><br><span class="grey">Битва уже началась.</span><div class="separ"></div><a href="/undying/" class="btn"><span class="end"><span class="label">Перейти в Долину</span></span></a></div><div class="mini-line"></div>';
    }
}

//Колизей
if($_SERVER['PHP_SELF'] != '/coliseum.php'){
  
$member db_query('SELECT * FROM `coliseum_member` WHERE `user` = "'.$user['id'].'" ORDER BY `time` DESC LIMIT 1');
  
$member db_fetch_array($member);

  if(
$member) {

  
$battle db_query('SELECT * FROM `coliseum` WHERE `id` = "'.$member['battle'].'"');
  
$battle db_fetch_array($battle);
  if(
$battle['time'] > time() && db_result(db_query('SELECT COUNT(*) FROM `coliseum_member` WHERE `battle` = "'.$battle['id'].'"'),0) >= 2) {
echo 
"<div class='block_light center'>";
echo 
"<b class='dgreen'>Вы участвуете в битве</b><br>
<span class='grey'>До начала боя: "
.($battle['time'] - time())." секунд</span>";
echo 
"<div class='separ'></div>";
echo 
"<a href='/coliseum/' class='btn'><span class='end'><span class='label'>Перейти в колизей</span></span></a>";
echo 
"</div>";
  }elseif(
$battle['start'] == && $battle['end'] == 0){
  echo 
"<div class='block_light center'>";
echo 
"<b class='dgreen'>Вы учавствуите в битве</b><br>
<span class='grey'>Бой начался!</span>"
;
echo 
"<div class='separ'></div>";
echo 
"<a href='/coliseum/' class='btn'><span class='end'><span class='label'>Перейти в колизей</span></span></a>";
echo 
"</div>";
  }
  }
  }

if(
$_SERVER['PHP_SELF'] != '/drakon.php'){
if(
$user['mp']>25){
if(
$user['hp']>50){
$aluko db_fetch_assoc(db_query("SELECT * FROM `aluko` ORDER BY `id` LIMIT 1")) ?: ['health'=>0];
if((int)(
$aluko['health'] ?? 0)>0){
echo 
'<center><div class="block_zero"><img src="/images/icon/minidrakon.png">На помощь! На нас опять напал Дракон!<img src="/images/icon/minidrakon.png"><br>
<a href="/drakon"class="btn"><span class="end"><span class="label">Атаковать дракона</span></span></a></div></center>'
;
echo
"<div class='mini-line'></div>";
}
}
}
}
$hrevolt =  db_fetch_assoc(db_query("SELECT * FROM  `time_jurnal` WHERE `name`='revolt' ORDER BY `id` DESC LIMIT 1")) ?: ['time'=>0];
    if((((int)(
$hrevolt['time'] ?? 0)) - time()) < 900 && (int)($hrevolt['time'] ?? 0) > time()) {
    
        
$h =  ($hrevolt['time']-time())/3600%60;
        
$m = ($hrevolt['time']-time())/60%60;
        
$s = ($hrevolt['time']-time())%60;
    
    
?>
            
                <center></br>Мятеж начнётся через: <font color='gren'><?php echo $h.':'.$m.':'.$s;?></font><br/></center><?php                            
    
}
}else{
?>
<div class='main' style='word-wrap:break-word;'><span style='text-shadow:none;'></span>

<?php
}
?>

<?php


//


if (is_array($user) && !empty($user['id'])) {
// Клановые битвы управляются единым игровым календарём.

// защита 

// Старая система из 5 достижений отключена в v50.2.
// Раньше она параллельно с новой системой добавляла +5 к характеристикам и
// из-за этого параметры игрока удваивались. Все 16 достижений теперь
// рассчитываются и награждаются только через game_achievement_v50_sync().

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