<?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;
}

// Обработка действий
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $action = $_POST['action'] ?? '';
    $itemId = (int)($_POST['item_id'] ?? 0);
    $message = '';
    $error = '';

    if ($action === 'equip' && $itemId) {
        if (equipItem($user['id'], $itemId)) {
            $message = 'Предмет надет.';
        } else {
            $error = 'Не удалось надеть предмет (уровень? слот занят?).';
        }
    } elseif ($action === 'unequip' && $itemId) {
        if (unequipItem($user['id'], $itemId)) {
            $message = 'Предмет снят.';
        } else {
            $error = 'Не удалось снять предмет.';
        }
    } elseif ($action === 'sell' && $itemId) {
        $price = sellItem($user['id'], $itemId);
        if ($price !== false) {
            $message = 'Предмет продан за ' . $price . ' баксов.';
        } else {
            $error = 'Не удалось продать предмет.';
        }
    } elseif ($action === 'discard' && $itemId) {
        if (discardItem($user['id'], $itemId)) {
            $message = 'Предмет выброшен.';
        } else {
            $error = 'Не удалось выбросить предмет.';
        }
    }

    $_SESSION['bag_message'] = $message;
    $_SESSION['bag_error'] = $error;
    $redirect = 'bag.php';
    if (isset($_GET['page'])) {
        $redirect .= '?page=' . (int)$_GET['page'];
    }
    header('Location: ' . $redirect);
    exit;
}

$message = $_SESSION['bag_message'] ?? '';
$error = $_SESSION['bag_error'] ?? '';
unset($_SESSION['bag_message'], $_SESSION['bag_error']);

$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$limit = 20;
$offset = ($page - 1) * $limit;

$bagItems = getUserBagItems($user['id'], $offset, $limit);
$totalItems = countUserBagItems($user['id']);
$totalPages = ceil($totalItems / $limit);

$slotNames = [
    'head' => 'Голова',
    'neck' => 'Шея',
    'body' => 'Тело',
    'pants' => 'Штаны',
    'belt' => 'Пояс',
    'bracers' => 'Браслеты',
    'gloves' => 'Перчатки',
    'ring' => 'Кольцо',
    'weapon' => 'Оружие',
    'boots' => 'Обувь'
];

require_once 'inc/header.php';
?>

<span class="ttl"><b>Сумка</b></span>
<div class="clb"></div>
<div class="hr"></div>

<div class="cntr">
    <span class="nwr">
        <img src="images/icons/bag.png" width="12" height="12" alt="сумка"/>
        Места: <?= $totalItems ?>/<?= safeGet($user, 'bag_max', 20) ?>
    </span>
</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($bagItems)): ?>
    <div class="cntr">Сумка пуста.</div>
    <div class="hr"></div>
<?php else: ?>
    <?php foreach ($bagItems as $item): 
        $bonusValues = getItemBonusValues($item);
        $statsList = [];
        $statNames = [
            'attack'   => 'атака',
            'health'   => 'здоровье',
            'defense'  => 'защита',
            'stamina'  => 'выносливость',
            'accuracy' => 'точность',
            'recovery' => 'восстановление'
        ];
        foreach ($bonusValues as $stat => $value) {
            if ($value > 0) {
                $statsList[] = $statNames[$stat] . ' +' . $value;
            }
        }
    ?>
        <div class="battle-item">
            <table cellpadding="0" cellspacing="0" border="0" width="100%">
                <tr>
                    <td width="40" valign="top">
                        <img src="<?= htmlspecialchars($item['image']) ?>" width="40" height="40" alt="иконка">
                    </td>
                    <td valign="top" style="padding-left:6px;">
                        <span>
                            <img width="12" height="12" src="images/icons/<?= $item['quality_icon'] ?>" alt=""/>
                            <a href="item.php?id=<?= $item['id'] ?>" style="color:<?= $item['quality_color'] ?>;">
                                <?= htmlspecialchars($item['item_name']) ?>
                            </a>
                        </span>
                        <br>
                        <span class="small">
                            <?= $item['level_required'] ?> ур,
                            <?= $slotNames[$item['slot']] ?? $item['slot'] ?>,
                            <?php if (!empty($statsList)): ?>
                                <span style="color:#6FCD72;"><?= implode(', ', $statsList) ?></span>
                            <?php endif; ?>
                            <?php if ($item['is_bound']): ?>
                                <span class="minor">(личное)</span>
                            <?php endif; ?>
                        </span>
                    </td>
                    <td width="140" align="right" valign="middle">
                        <?php if (!$item['is_equipped']): ?>
                            <form method="post" style="display:inline;">
                                <input type="hidden" name="item_id" value="<?= $item['id'] ?>">
                                <button type="submit" name="action" value="equip" class="btn small">надеть</button>
                            </form>
                            <form method="post" style="display:inline;">
                                <input type="hidden" name="item_id" value="<?= $item['id'] ?>">
                                <button type="submit" name="action" value="sell" class="btn small">продать</button>
                            </form>
                            <form method="post" style="display:inline;">
                                <input type="hidden" name="item_id" value="<?= $item['id'] ?>">
                                <button type="submit" name="action" value="discard" class="btn small" onclick="return confirm('Выбросить предмет?')">выбросить</button>
                            </form>
                        <?php endif; ?>
                    </td>
                </tr>
            </table>
            <div class="hr"></div>
        </div>
    <?php endforeach; ?>

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

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