Файл: pages/economy/relic.php
Строк: 69
<?php
// Physical module map v50.6: public URL stays clean while code lives in /pages.
if (!defined('GAME_ROOT')) define('GAME_ROOT', dirname(__DIR__, 2));
chdir(GAME_ROOT);
if (PHP_SAPI !== 'cli') { $_SERVER['PHP_SELF']='/relic.php'; $_SERVER['SCRIPT_NAME']='/relic.php'; }
/* Коллекции реликвий. by Метриум (Стэлп) */
require_once './system/common.php'; require_once './system/functions.php'; require_once './system/user.php';
if(!$user){header('Location: /');exit;} $title='Реликвии'; require_once './system/h.php'; $uid=(int)$user['id'];
$r=game_relic_ensure($uid);
$rewards=[1=>2,2=>2,3=>3,4=>3,5=>5,6=>5,7=>10,8=>10,9=>15,10=>20]; $letters=range('a','j'); $week=game_week_key();
if(isset($_POST['claim'])){ security_require_csrf(); $set=(int)$_POST['claim']; if($set>=1&&$set<=10){$g=$letters[$set-1];$complete=true;for($i=1;$i<=4;$i++)if((int)($r[$g.$i]??0)!==1)$complete=false;$claimed=(int)(db_result(db_query("SELECT COUNT(*) FROM `relic_claims` WHERE `user`=$uid AND `set_no`=$set AND `week_key`='$week'"),0)?:0)>0;if($complete&&!$claimed){$gold=game_economy_award_gold($uid,$rewards[$set],'relic',150);$plat=random_int(1,5);db_execute('UPDATE `users` SET `plat`=`plat`+:p WHERE `id`=:u',['p'=>$plat,'u'=>$uid]);db_query("INSERT INTO `relic_claims` (`user`,`set_no`,`week_key`) VALUES ($uid,$set,'$week')");$_SESSION['ok']='Награда получена!';}} header('Location: /relic/');exit; }
if(!empty($_SESSION['ok'])){echo '<div class="ok center">'.$_SESSION['ok'].'</div>';unset($_SESSION['ok']);}
?>
<div class="main relic-page"><div class="block_zero center blue">Собери реликвии и получи золото<br><span class="medium">Реликвии выдаются за выполнение <a href="/quest/">Заданий</a></span><br>🏆 Турнир: <b><?=n_f((int)($user['plat']??0))?></b> очка реликвий<br><a class="grey" href="/relictournament/">Подробнее о турнире реликвий</a></div>
<div class="title">🏆 Хижина мудреца</div>
<?php foreach($letters as $idx=>$g): $set=$idx+1;$complete=true;for($i=1;$i<=4;$i++)if((int)($r[$g.$i]??0)!==1)$complete=false;$claimed=(int)(db_result(db_query("SELECT COUNT(*) FROM `relic_claims` WHERE `user`=$uid AND `set_no`=$set AND `week_key`='$week'"),0)?:0)>0; ?>
<div class="relic-set center"><div class="relic-icons"><?php for($i=1;$i<=4;$i++): $num=$idx*4+$i;$on=(int)($r[$g.$i]??0)===1; ?><img src="/images/relict/<?=$num?><?=$on?'':'-1'?>.png" alt=""><?php endfor; ?></div><div class="blue">Награда: <img src="/images/icon/gold.png" alt=""> <?=$rewards[$set]?></div><?php if($complete&&!$claimed): ?><form method="post" action="/relic/" class="inline-form"><?=security_csrf_field()?><input type="hidden" name="claim" value="<?=$set?>"><button class="btn" type="submit"><span class="end"><span class="label">Получить награду</span></span></button></form><?php elseif($claimed): ?><span class="dgreen">Награда получена</span><?php endif; ?></div>
<?php endforeach; ?></div><?php require './system/f.php'; ?>