<?php
session_start();
require_once 'inc/functions.php';
check404();
securityCheck();
if (!isLoggedIn()) {
    header('Location: index.php');
    exit;
}

$user = getUserById($_SESSION['user_id']);
if (!$user) {
    session_destroy();
    header('Location: index.php');
    exit;
}

// CSRF токен
if (empty($_SESSION['csrf_token'])) {
    $_SESSION['csrf_token'] = bin2hex(random_bytes(32));
}

$message = '';
$error = '';

// Обработка покупки
if (isset($_GET['buy']) && is_numeric($_GET['buy']) && isset($_GET['csrf_token']) && $_GET['csrf_token'] === $_SESSION['csrf_token']) {
    $avatarId = (int)$_GET['buy'];
    $result = buyAvatar($user['id'], $avatarId);
    if ($result['success']) {
        $message = $result['message'];
    } else {
        $error = $result['message'];
    }
    // Перенаправляем, чтобы убрать параметры из URL (PRG)
    header('Location: avatars_shop.php?msg=' . urlencode($message) . '&err=' . urlencode($error));
    exit;
}

// Обработка активации
if (isset($_GET['activate']) && is_numeric($_GET['activate']) && isset($_GET['csrf_token']) && $_GET['csrf_token'] === $_SESSION['csrf_token']) {
    $avatarId = (int)$_GET['activate'];
    $result = setActiveAvatar($user['id'], $avatarId);
    if ($result['success']) {
        $message = $result['message'];
    } else {
        $error = $result['message'];
    }
    header('Location: avatars_shop.php?msg=' . urlencode($message) . '&err=' . urlencode($error));
    exit;
}

// Получаем сообщения из GET
if (isset($_GET['msg'])) {
    $message = $_GET['msg'];
}
if (isset($_GET['err'])) {
    $error = $_GET['err'];
}

// Текущая страница
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
if ($page < 1) $page = 1;
$perPage = 10;

$avatars = getShopAvatars($page, $perPage);
$totalAvatars = countShopAvatars();
$totalPages = ceil($totalAvatars / $perPage);

// Получаем купленные аватары пользователя для проверки
$purchasedAvatars = getUserAvatars($user['id']);
$purchasedIds = array_column($purchasedAvatars, 'id'); // id из shop_avatars

require_once 'inc/header.php';
?>

<span class="ttl"><b><span>Магазин аватаров</span></b></span>
<div class="clb"></div>
<div class="hr"></div>

<?php if ($message): ?>
    <div class="ok"><?= htmlspecialchars($message) ?></div>
    <div class="hr"></div>
<?php endif; ?>
<?php if ($error): ?>
    <div class="error"><?= htmlspecialchars($error) ?></div>
    <div class="hr"></div>
<?php endif; ?>

<?php if (empty($avatars)): ?>
    <p>В магазине пока нет аватаров.</p>
<?php else: ?>
    <?php foreach ($avatars as $avatar): ?>
        <div style="padding-bottom:4px;">
            <table cellpadding="0" cellspacing="0" border="0">
                <tbody>
                <tr>
                    <td valign="top">
                        <img width="50" height="50" src="<?= htmlspecialchars($avatar['image']) ?>" alt="" border="0"/>
                    </td>
                    <td valign="top" style="padding-left:4px;">
                        Популярность: <span><?= (int)$avatar['popularity'] ?></span><br/>
                        Цена: 
                        <span>
                            <?php if ($avatar['price_gold'] > 0): ?>
                                <img src="images/icons/money_gold.png" width="12" height="12" alt="з"/>
                                <span><?= $avatar['price_gold'] ?></span>
                            <?php endif; ?>
                            <?php if ($avatar['price_silver'] > 0): ?>
                                <img src="images/icons/money_silver.png" width="12" height="12" alt="с"/>
                                <span><?= $avatar['price_silver'] ?></span>
                            <?php endif; ?>
                        </span><br/>
                        <?php if (in_array($avatar['id'], $purchasedIds)): ?>
                            <?php
                                $active = false;
                                foreach ($purchasedAvatars as $pa) {
                                    if ($pa['id'] == $avatar['id'] && $pa['is_active']) {
                                        $active = true;
                                        break;
                                    }
                                }
                            ?>
                            <?php if ($active): ?>
                                <strong>Активен</strong>
                            <?php else: ?>
                                <a href="?activate=<?= $avatar['id'] ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">Активировать</a>
                            <?php endif; ?>
                        <?php else: ?>
                            <a href="?buy=<?= $avatar['id'] ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>" onclick="return confirm('Купить этот аватар?');">Купить</a>
                        <?php endif; ?>
                    </td>
                </tr>
                </tbody>
            </table>
        </div>
    <?php endforeach; ?>

    <!-- Пагинация (как в примере) -->
    <?php if ($totalPages > 1): ?>
    <div>
        <?php if ($page > 1): ?>
            <a href="?page=1" title="Go to first page"><em>&lt;&lt;</em></a>&nbsp;
            <a href="?page=<?= $page-1 ?>" title="Go to previous page"><em>&lt;</em></a>
        <?php else: ?>
            <span><em>&lt;&lt;</em></span>&nbsp;<span><em>&lt;</em></span>
        <?php endif; ?>

        <?php for ($i = 1; $i <= $totalPages; $i++): ?>
            <?php if ($i == $page): ?>
                <span><em><span><?= $i ?></span></em></span>
            <?php else: ?>
                <span><a href="?page=<?= $i ?>"><span><?= $i ?></span></a></span>
            <?php endif; ?>
        <?php endfor; ?>

        <?php if ($page < $totalPages): ?>
            <a href="?page=<?= $page+1 ?>" title="Go to next page"><em>&gt;</em></a>&nbsp;
            <a href="?page=<?= $totalPages ?>" title="Go to last page"><em>&gt;&gt;</em></a>
        <?php else: ?>
            <span><em>&gt;</em></span>&nbsp;<span><em>&gt;&gt;</em></span>
        <?php endif; ?>
    </div>
    <?php endif; ?>
<?php endif; ?>

<div class="hr"></div>
<div>
    <img width="12" height="12" src="/images/icons/dot.png" alt="" border="0"/>
    <a href="profile_settings.php">Вернуться к настройкам профиля</a>
</div>

<?php require_once 'inc/foot.php'; ?>