Файл: pages/progress/achievement.php
Строк: 74
<?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']='/achievement.php'; $_SERVER['SCRIPT_NAME']='/achievement.php'; }
require_once './system/common.php';
require_once './system/functions.php';
require_once './system/user.php';
if(!$user){ header('Location: /'); exit; }
$title='Достижения';
$achievements=function_exists('game_achievement_catalog_v50') ? game_achievement_catalog_v50($user) : [];
$summary=function_exists('game_achievement_summary_v50') ? game_achievement_summary_v50($user) : ['started'=>0,'completed'=>0,'total'=>0,'bonus'=>0,'max_bonus'=>0,'grades'=>0,'max_grades'=>0];
require './system/h.php';
?>
<div class="title">Достижения</div>
<div class="ach-classic-summary center">
<div class="blue">Достижения увеличивают силу героя!</div>
Выполнено <b><?=$summary['completed']?></b> из <b><?=$summary['total']?></b> достижений<br>
<span class="grey">Общий прогресс качеств: <b><?=$summary['grades']?></b> из <b><?=$summary['max_grades']?></b><?php if((int)$summary['started']>0):?> · в процессе: <b><?=max(0,(int)$summary['started']-(int)$summary['completed'])?></b><?php endif;?></span><br>
<span class="green">+<?=n_f((int)$summary['bonus'])?> к каждому основному параметру</span>
<span class="grey">из <?=n_f((int)$summary['max_bonus'])?></span>
</div>
<div class="mini-line"></div>
<?php foreach($achievements as $a): ?>
<a class="ach-classic-row<?=((int)$a['grade']>=(int)$a['max_grade'])?' is-complete':''?>" href="<?=htmlspecialchars($a['link'],ENT_QUOTES,'UTF-8')?>">
<div class="ach-classic-title" style="color:<?=htmlspecialchars((string)$a['quality_color'],ENT_QUOTES,'UTF-8')?>">
<img src="<?=htmlspecialchars($a['icon'],ENT_QUOTES,'UTF-8')?>" alt=""> <?=htmlspecialchars($a['name'],ENT_QUOTES,'UTF-8')?>
<small><?=htmlspecialchars($a['quality_name'],ENT_QUOTES,'UTF-8')?> <?=$a['grade']?>/<?=$a['max_grade']?><?php if((int)$a['grade']>=(int)$a['max_grade']):?> · ✓ выполнено<?php endif;?></small>
</div>
<div class="ach-classic-condition"><?=htmlspecialchars($a['condition_text'],ENT_QUOTES,'UTF-8')?></div>
<div class="ach-classic-progress">Прогресс: <?=n_f((int)$a['progress'])?><?php if((int)$a['grade']<(int)$a['max_grade']):?> из <?=n_f((int)$a['next_target'])?><?php else:?> · максимум<?php endif;?></div>
<div class="ach-classic-bar"><span style="width:<?=$a['percent']?>%"></span></div>
</a>
<?php endforeach; ?>
<div class="block_zero center blue">У каждого достижения 6 качеств. Следующее качество всегда требует заметно большего прогресса.</div>
<?php require './system/f.php'; ?>