<?php
ob_start(); // Буферизация вывода для предотвращения ошибок "headers already sent"
session_start();
require_once '../inc/admin_auth.php';
requireAdmin();
require_once '../inc/functions.php';

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

$stat_names_ru = [
    'base_attack'   => 'Атака',
    'base_health'   => 'Здоровье',
    'base_defense'  => 'Защита',
    'base_stamina'  => 'Выносливость',
    'base_accuracy' => 'Точность',
    'base_recovery' => 'Восстановление'
];

if (isset($_SESSION['admin_message'])) {
    $message = $_SESSION['admin_message'];
    unset($_SESSION['admin_message']);
}

// ---------- Обработка POST ----------
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    try {
        // Добавление комплекта
        if (isset($_POST['add_set'])) {
            $name = isset($_POST['name']) ? trim($_POST['name']) : '';
            $desc = isset($_POST['description']) ? trim($_POST['description']) : '';
            $level = isset($_POST['level_required']) ? (int)$_POST['level_required'] : 0;
            $icon = isset($_POST['icon']) && $_POST['icon'] ? $_POST['icon'] : 'clothes.png';
            $stmt = $pdo->prepare("INSERT INTO vendor_sets (name, description, level_required, icon) VALUES (?, ?, ?, ?)");
            $stmt->execute([$name, $desc, $level, $icon]);
            $_SESSION['admin_message'] = '✅ Комплект успешно добавлен.';
            header('Location: vendor_sets.php');
            exit;
        }
        // Редактирование комплекта
        if (isset($_POST['edit_set'])) {
            $setId = isset($_POST['set_id']) ? (int)$_POST['set_id'] : 0;
            $name = isset($_POST['name']) ? trim($_POST['name']) : '';
            $desc = isset($_POST['description']) ? trim($_POST['description']) : '';
            $level = isset($_POST['level_required']) ? (int)$_POST['level_required'] : 0;
            $icon = isset($_POST['icon']) ? trim($_POST['icon']) : '';
            $stmt = $pdo->prepare("UPDATE vendor_sets SET name=?, description=?, level_required=?, icon=? WHERE id=?");
            $stmt->execute([$name, $desc, $level, $icon, $setId]);
            $_SESSION['admin_message'] = '✅ Комплект обновлён.';
            header("Location: vendor_sets.php?set_id=$setId");
            exit;
        }
        // Удаление комплекта
        if (isset($_POST['delete_set'])) {
            $setId = isset($_POST['set_id']) ? (int)$_POST['set_id'] : 0;
            $stmt = $pdo->prepare("DELETE FROM vendor_sets WHERE id=?");
            $stmt->execute([$setId]);
            $_SESSION['admin_message'] = '✅ Комплект удалён.';
            header('Location: vendor_sets.php');
            exit;
        }
        // Добавление предмета
        if (isset($_POST['add_item'])) {
            $setId = isset($_POST['set_id']) ? (int)$_POST['set_id'] : 0;
            $slot = isset($_POST['slot']) ? $_POST['slot'] : '';
            $name = isset($_POST['item_name']) ? trim($_POST['item_name']) : '';
            $desc = isset($_POST['description']) ? trim($_POST['description']) : '';
            $level = isset($_POST['level_required']) ? (int)$_POST['level_required'] : 0;
            $attack = isset($_POST['base_attack']) ? (int)$_POST['base_attack'] : 0;
            $health = isset($_POST['base_health']) ? (int)$_POST['base_health'] : 0;
            $defense = isset($_POST['base_defense']) ? (int)$_POST['base_defense'] : 0;
            $stamina = isset($_POST['base_stamina']) ? (int)$_POST['base_stamina'] : 0;
            $accuracy = isset($_POST['base_accuracy']) ? (int)$_POST['base_accuracy'] : 0;
            $recovery = isset($_POST['base_recovery']) ? (int)$_POST['base_recovery'] : 0;
            $price = isset($_POST['price_gold']) ? (int)$_POST['price_gold'] : 0;
            $image = isset($_POST['image']) ? trim($_POST['image']) : '';
            $sort = isset($_POST['sort_order']) ? (int)$_POST['sort_order'] : 0;
            
            $stmt = $pdo->prepare("INSERT INTO vendor_items 
                (set_id, slot, item_name, description, level_required, 
                 base_attack, base_health, base_defense, base_stamina, base_accuracy, base_recovery,
                 price_gold, image, sort_order) 
                VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
            $stmt->execute([
                $setId, $slot, $name, $desc, $level,
                $attack, $health, $defense, $stamina, $accuracy, $recovery,
                $price, $image, $sort
            ]);
            $_SESSION['admin_message'] = '✅ Предмет добавлен в комплект.';
            header("Location: vendor_sets.php?set_id=$setId");
            exit;
        }
        // Редактирование предмета
        if (isset($_POST['edit_item'])) {
            $itemId = isset($_POST['item_id']) ? (int)$_POST['item_id'] : 0;
            $setId = isset($_POST['set_id']) ? (int)$_POST['set_id'] : 0;
            $slot = isset($_POST['slot']) ? $_POST['slot'] : '';
            $name = isset($_POST['item_name']) ? trim($_POST['item_name']) : '';
            $desc = isset($_POST['description']) ? trim($_POST['description']) : '';
            $level = isset($_POST['level_required']) ? (int)$_POST['level_required'] : 0;
            $attack = isset($_POST['base_attack']) ? (int)$_POST['base_attack'] : 0;
            $health = isset($_POST['base_health']) ? (int)$_POST['base_health'] : 0;
            $defense = isset($_POST['base_defense']) ? (int)$_POST['base_defense'] : 0;
            $stamina = isset($_POST['base_stamina']) ? (int)$_POST['base_stamina'] : 0;
            $accuracy = isset($_POST['base_accuracy']) ? (int)$_POST['base_accuracy'] : 0;
            $recovery = isset($_POST['base_recovery']) ? (int)$_POST['base_recovery'] : 0;
            $price = isset($_POST['price_gold']) ? (int)$_POST['price_gold'] : 0;
            $image = isset($_POST['image']) ? trim($_POST['image']) : '';
            $sort = isset($_POST['sort_order']) ? (int)$_POST['sort_order'] : 0;
            
            $stmt = $pdo->prepare("UPDATE vendor_items SET 
                slot=?, item_name=?, description=?, level_required=?, 
                base_attack=?, base_health=?, base_defense=?, base_stamina=?, base_accuracy=?, base_recovery=?,
                price_gold=?, image=?, sort_order=? WHERE id=?");
            $stmt->execute([
                $slot, $name, $desc, $level,
                $attack, $health, $defense, $stamina, $accuracy, $recovery,
                $price, $image, $sort, $itemId
            ]);
            $_SESSION['admin_message'] = '✅ Предмет обновлён.';
            header("Location: vendor_sets.php?set_id=$setId");
            exit;
        }
        // Удаление предмета
        if (isset($_POST['delete_item'])) {
            $itemId = isset($_POST['item_id']) ? (int)$_POST['item_id'] : 0;
            $setId = isset($_POST['set_id']) ? (int)$_POST['set_id'] : 0;
            $stmt = $pdo->prepare("DELETE FROM vendor_items WHERE id=?");
            $stmt->execute([$itemId]);
            $_SESSION['admin_message'] = '✅ Предмет удалён.';
            header("Location: vendor_sets.php?set_id=$setId");
            exit;
        }
    } catch (Exception $e) {
        $_SESSION['admin_message'] = '❌ Ошибка: ' . $e->getMessage();
        $redirect = isset($setId) && $setId ? "?set_id=$setId" : '';
        header("Location: vendor_sets.php$redirect");
        exit;
    }
}

// Получение данных
$sets = getVendorSets();
$selectedSetId = isset($_GET['set_id']) ? (int)$_GET['set_id'] : (isset($sets[0]) ? $sets[0]['id'] : 0);
$selectedSet = null;
$items = [];
if ($selectedSetId) {
    $selectedSet = getVendorSetById($selectedSetId);
    $items = getVendorItemsBySet($selectedSetId);
}

require_once '../inc/header.php';
?>

<!-- Заголовок как в equipment.php -->
<span class="ttl"><b>📦 Управление комплектами вендора</b></span>
<div class="clb"></div>
<div class="hr"></div>

<?php if (isset($message)): ?>
    <div style="border:1px solid green; background:#e0ffe0; padding:10px; margin-bottom:10px;">
        <?= htmlspecialchars($message) ?>
    </div>
<?php endif; ?>

<!-- Кнопка возврата в админку -->
<div class="menu">
    <a class="btn full" href="index.php">
        <span class="nwr"><img src="/images/icons/arrow.png" width="12" height="12"/> ← В админ-панель</span>
    </a>
</div>
<div class="hr"></div>

<!-- Выбор комплекта (как переключение между профилями) -->
<div style="margin-bottom:15px;">
    <span class="small">Выберите комплект:</span>
    <select onchange="location = this.value;" style="margin-left:10px;">
        <?php foreach ($sets as $s): ?>
            <option value="?set_id=<?= $s['id'] ?>" <?= ($s['id'] == $selectedSetId) ? 'selected' : '' ?>>
                <?= htmlspecialchars($s['name']) ?> (ур. <?= $s['level_required'] ?>)
            </option>
        <?php endforeach; ?>
    </select>
</div>

<?php if ($selectedSet): ?>
    <!-- Блок редактирования свойств комплекта, стилизованный под информацию игрока -->
    <table style="width:100%; margin-bottom:15px;">
        <tr>
            <td valign="top" style="width:40px;">
                <img src="/images/icons/<?= htmlspecialchars($selectedSet['icon'] ?: 'clothes.png') ?>" width="40" height="40" alt="">
            </td>
            <td valign="top" style="padding-left:6px;">
                <form method="post" style="display:inline;">
                    <input type="hidden" name="set_id" value="<?= $selectedSet['id'] ?>">
                    <table>
                        <tr>
                            <td>Название:</td>
                            <td><input type="text" name="name" value="<?= htmlspecialchars($selectedSet['name']) ?>" required></td>
                        </tr>
                        <tr>
                            <td>Описание:</td>
                            <td><textarea name="description" rows="2"><?= htmlspecialchars($selectedSet['description']) ?></textarea></td>
                        </tr>
                        <tr>
                            <td>Уровень:</td>
                            <td><input type="number" name="level_required" value="<?= $selectedSet['level_required'] ?>"></td>
                        </tr>
                        <tr>
                            <td>Иконка:</td>
                            <td><input type="text" name="icon" value="<?= htmlspecialchars($selectedSet['icon']) ?>"></td>
                        </tr>
                    </table>
                    <button type="submit" name="edit_set" class="btn small">Сохранить изменения</button>
                </form>
                <form method="post" style="display:inline; margin-left:10px;" onsubmit="return confirm('Удалить комплект и все его предметы?');">
                    <input type="hidden" name="set_id" value="<?= $selectedSet['id'] ?>">
                    <button type="submit" name="delete_set" class="btn small" style="background:#fdd;">Удалить комплект</button>
                </form>
            </td>
        </tr>
    </table>
    <div class="hr"></div>

    <!-- Заголовок "Предметы комплекта" -->
    <span class="ttl"><b>🛡️ Предметы комплекта</b></span>
    <div class="clb"></div>
    <div class="hr"></div>

    <!-- Таблица предметов, стилизованная под снаряжение -->
    <?php if (empty($items)): ?>
        <p class="minor">В этом комплекте пока нет предметов.</p>
    <?php else: ?>
        <table cellpadding="1" cellspacing="0" border="0" width="100%">
        <?php foreach ($items as $item): ?>
            <tr>
                <td valign="top" width="40">
                    <img src="<?= htmlspecialchars($item['image'] ?: '/images/items/empty_slot.png') ?>" width="40" height="40" alt="">
                </td>
                <td valign="top" style="padding-left:6px;">
                    <form method="post" style="margin:0;">
                        <input type="hidden" name="item_id" value="<?= $item['id'] ?>">
                        <input type="hidden" name="set_id" value="<?= $selectedSet['id'] ?>">
                        
                        <!-- Название и слот (как ссылка на предмет, но у нас нет item.php, просто текст) -->
                        <span style="font-weight:bold;"><?= htmlspecialchars($item['item_name']) ?></span>
                        <span class="small"> (<?= $slots_ru[$item['slot']] ?>, ур. <?= $item['level_required'] ?>)</span>
                        <br>
                        
                        <!-- Характеристики в виде строки, как в equipment -->
                        <span class="small">
                            <?php
                            $stats = [];
                            if ($item['base_attack']) $stats[] = 'атака +' . $item['base_attack'];
                            if ($item['base_health']) $stats[] = 'здоровье +' . $item['base_health'];
                            if ($item['base_defense']) $stats[] = 'защита +' . $item['base_defense'];
                            if ($item['base_stamina']) $stats[] = 'выносливость +' . $item['base_stamina'];
                            if ($item['base_accuracy']) $stats[] = 'точность +' . $item['base_accuracy'];
                            if ($item['base_recovery']) $stats[] = 'восстановление +' . $item['base_recovery'];
                            ?>
                            <?= implode(', ', $stats) ?: 'нет бонусов' ?>, цена <?= $item['price_gold'] ?> зол.
                        </span>
                        <br>
                        
                        <!-- Поля для редактирования (компактно) -->
                        <div style="margin-top:5px; background:#f0f0f0; padding:5px; border-radius:3px;">
                            <table style="font-size:11px;">
                                <tr>
                                    <td>Слот:</td>
                                    <td>
                                        <select name="slot">
                                            <?php foreach ($slots_ru as $val => $ru): ?>
                                                <option value="<?= $val ?>" <?= ($val == $item['slot']) ? 'selected' : '' ?>><?= $ru ?></option>
                                            <?php endforeach; ?>
                                        </select>
                                    </td>
                                    <td>Ур.:</td>
                                    <td><input type="number" name="level_required" value="<?= $item['level_required'] ?>" style="width:50px;"></td>
                                </tr>
                                <tr>
                                    <td>Атака:</td>
                                    <td><input type="number" name="base_attack" value="<?= $item['base_attack'] ?>" style="width:50px;"></td>
                                    <td>Здоровье:</td>
                                    <td><input type="number" name="base_health" value="<?= $item['base_health'] ?>" style="width:50px;"></td>
                                </tr>
                                <tr>
                                    <td>Защита:</td>
                                    <td><input type="number" name="base_defense" value="<?= $item['base_defense'] ?>" style="width:50px;"></td>
                                    <td>Выносливость:</td>
                                    <td><input type="number" name="base_stamina" value="<?= $item['base_stamina'] ?>" style="width:50px;"></td>
                                </tr>
                                <tr>
                                    <td>Точность:</td>
                                    <td><input type="number" name="base_accuracy" value="<?= $item['base_accuracy'] ?>" style="width:50px;"></td>
                                    <td>Восстановление:</td>
                                    <td><input type="number" name="base_recovery" value="<?= $item['base_recovery'] ?>" style="width:50px;"></td>
                                </tr>
                                <tr>
                                    <td>Цена:</td>
                                    <td><input type="number" name="price_gold" value="<?= $item['price_gold'] ?>" style="width:60px;"></td>
                                    <td>Сорт.:</td>
                                    <td><input type="number" name="sort_order" value="<?= $item['sort_order'] ?>" style="width:50px;"></td>
                                </tr>
                                <tr>
                                    <td>Изобр.:</td>
                                    <td colspan="3"><input type="text" name="image" value="<?= htmlspecialchars($item['image']) ?>" style="width:100%;"></td>
                                </tr>
                            </table>
                        </div>
                        
                        <!-- Кнопки действий -->
                        <div style="margin-top:5px;">
                            <button type="submit" name="edit_item" class="btn small" style="margin-right:5px;">
                                <img src="/images/icons/save.png" width="12" height="12"> Сохранить
                            </button>
                            <button type="submit" name="delete_item" class="btn small" style="background:#fdd;" onclick="return confirm('Удалить предмет?');">
                                <img src="/images/icons/delete.png" width="12" height="12"> Удалить
                            </button>
                        </div>
                    </form>
                </td>
            </tr>
            <tr>
                <td colspan="2"><div class="hr"></div></td>
            </tr>
        <?php endforeach; ?>
        </table>
    <?php endif; ?>

    <!-- Блок добавления нового предмета, стилизованный как форма -->
    <div class="hr"></div>
    <span class="ttl"><b>➕ Добавить предмет в комплект</b></span>
    <div class="clb"></div>
    <div class="hr"></div>
    
    <form method="post" style="background:#f5f5f5; padding:10px;">
        <input type="hidden" name="set_id" value="<?= $selectedSet['id'] ?>">
        <table style="width:100%;">
            <tr>
                <td>Слот:</td>
                <td>
                    <select name="slot">
                        <?php foreach ($slots_ru as $val => $ru): ?>
                            <option value="<?= $val ?>"><?= $ru ?></option>
                        <?php endforeach; ?>
                    </select>
                </td>
                <td>Название:</td>
                <td><input type="text" name="item_name" required></td>
            </tr>
            <tr>
                <td>Описание:</td>
                <td colspan="3"><textarea name="description" rows="2" style="width:100%;"></textarea></td>
            </tr>
            <tr>
                <td>Уровень:</td>
                <td><input type="number" name="level_required" value="25"></td>
                <td>Цена:</td>
                <td><input type="number" name="price_gold" value="5"></td>
            </tr>
            <tr>
                <td>Атака:</td>
                <td><input type="number" name="base_attack" value="0"></td>
                <td>Здоровье:</td>
                <td><input type="number" name="base_health" value="0"></td>
            </tr>
            <tr>
                <td>Защита:</td>
                <td><input type="number" name="base_defense" value="0"></td>
                <td>Выносливость:</td>
                <td><input type="number" name="base_stamina" value="0"></td>
            </tr>
            <tr>
                <td>Точность:</td>
                <td><input type="number" name="base_accuracy" value="0"></td>
                <td>Восстановление:</td>
                <td><input type="number" name="base_recovery" value="0"></td>
            </tr>
            <tr>
                <td>Изображение:</td>
                <td colspan="3"><input type="text" name="image" value="/images/items/newset/agent_01.gif" style="width:100%;"></td>
            </tr>
            <tr>
                <td>Сортировка:</td>
                <td><input type="number" name="sort_order" value="0"></td>
                <td></td>
                <td></td>
            </tr>
        </table>
        <div class="menu" style="margin-top:10px;">
            <button type="submit" name="add_item" class="btn full">
                <span class="nwr"><img src="/images/icons/plus.png" width="12" height="12"/> Добавить предмет</span>
            </button>
        </div>
    </form>

<?php else: ?>
    <p class="minor">Выберите комплект из выпадающего списка для редактирования.</p>
<?php endif; ?>

<!-- Кнопка "В профиль" аналог - возврат к админке? Но у нас уже есть сверху. Можно оставить или добавить ещё одну. -->
<div class="hr"></div>
<a href="index.php" class="btn full">← В админ-панель</a>

<?php require_once '../inc/foot.php'; ?>
<?php ob_end_flush(); ?>