<?php
/**
 * Admin Kategori Yönetimi
 * Konum: /magaza/admin/urunler/kategoriler.php
 */

// Gerekli motor dosyalarını çağırıyoruz
require_once '../../includes/db.php';
require_once '../../includes/functions.php';

/**
 * GÜVENLİK KONTROLÜ
 * Senior Dokunuşu: Yetkisiz kişilerin kategori ağacına erişimi engellenir.
 */
adminCheck();

$mesaj = '';

// KATEGORİ EKLEME İŞLEMİ (Form gönderilmişse)
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['kategori_ekle'])) {
    $name = trim($_POST['name']);
    $parent_id = !empty($_POST['parent_id']) ? $_POST['parent_id'] : NULL;
    
    // SEO Uyumlu Slug Üretimi
    $slug = seoLink($name);

    if (empty($name)) {
        $mesaj = "<div class='alert alert-warning shadow-sm'><i class='bi bi-exclamation-triangle me-2'></i>Lütfen kategori adını boş bırakmayın.</div>";
    } else {
        // YENİ: Çakışma kontrolü ve profesyonel benzersiz slug üretimi
        $check = $db->prepare("SELECT id FROM categories WHERE slug = ?");
        $check->execute([$slug]);
        if ($check->rowCount() > 0) {
            // Zaman damgası (177...) yerine kısa ve şık bir hash kullanıyoruz
            $slug = $slug . '-' . substr(md5(uniqid()), 0, 4); 
        }

        // Veritabanına kaydet
        $stmt = $db->prepare("INSERT INTO categories (name, slug, parent_id, status) VALUES (?, ?, ?, 1)");
        if ($stmt->execute([$name, $slug, $parent_id])) {
            $mesaj = "<div class='alert alert-success shadow-sm'><i class='bi bi-check-circle me-2'></i>Kategori başarıyla eklendi!</div>";
        } else {
            $mesaj = "<div class='alert alert-danger shadow-sm'>Kategori eklenirken bir hata oluştu.</div>";
        }
    }
}

// KATEGORİLERİ VERİTABANINDAN ÇEKME (Listelemek için)
// LEFT JOIN kullanarak eğer varsa "Üst Kategori" adını da çekiyoruz
$kategoriler = $db->query("
    SELECT c1.*, c2.name as parent_name 
    FROM categories c1 
    LEFT JOIN categories c2 ON c1.parent_id = c2.id 
    ORDER BY c1.id DESC
")->fetchAll();

// ÜST KATEGORİ SEÇİMİ İÇİN (Sadece parent_id'si NULL olan ana kategoriler)
$anaKategoriler = $db->query("SELECT id, name FROM categories WHERE parent_id IS NULL ORDER BY name ASC")->fetchAll();

// --- TASARIM BAŞLANGICI ---
// YENİ YAPI: Header artık bir üst klasörde (admin/header.php)
require_once '../header.php';
?>

<div class="row mb-4 align-items-center">
    <div class="col-12">
        <h2 class="fw-bold text-dark"><i class="bi bi-tags-fill text-primary me-2"></i>Kategori Yönetimi</h2>
        <p class="text-muted small">Ürünlerinizi gruplandırmak için ana ve alt kategoriler oluşturun.</p>
        <?= $mesaj; ?> 
    </div>
</div>

<div class="row">
    <div class="col-md-4 mb-4">
        <div class="card shadow-sm border-0">
            <div class="card-header bg-dark text-white py-3">
                <h5 class="card-title mb-0 fw-bold small text-uppercase"><i class="bi bi-plus-lg me-2"></i>Yeni Kategori Ekle</h5>
            </div>
            <div class="card-body p-4 text-dark">
                <form action="kategoriler.php" method="POST">
                    <div class="mb-3">
                        <label class="form-label fw-bold text-muted small text-uppercase">Kategori Adı *</label>
                        <input type="text" name="name" class="form-control border-2" placeholder="Örn: LGS Hazırlık Kitapları" required>
                    </div>
                    
                    <div class="mb-4">
                        <label class="form-label fw-bold text-muted small text-uppercase">Üst Kategori (Opsiyonel)</label>
                        <select name="parent_id" class="form-select border-2">
                            <option value="">-- Bu Bir Ana Kategori Olsun --</option>
                            <?php foreach($anaKategoriler as $ana): ?>
                                <option value="<?= $ana['id']; ?>"><?= htmlspecialchars($ana['name']); ?></option>
                            <?php endforeach; ?>
                        </select>
                        <div class="form-text mt-2 small text-muted">Eğer bu bir alt kategoriyse, bağlı olduğu ana kategoriyi seçin.</div>
                    </div>

                    <button type="submit" name="kategori_ekle" class="btn btn-primary w-100 fw-bold py-2 shadow-sm">
                        <i class="bi bi-save me-1"></i> Kategoriyi Kaydet
                    </button>
                </form>
            </div>
        </div>
    </div>

    <div class="col-md-8">
        <div class="card shadow-sm border-0">
            <div class="card-header bg-white border-bottom py-3">
                <h5 class="card-title mb-0 fw-bold text-secondary small text-uppercase"><i class="bi bi-list-ul me-2"></i>Mevcut Kategoriler</h5>
            </div>
            <div class="card-body p-0">
                <div class="table-responsive">
                    <table class="table table-hover align-middle mb-0">
                        <thead class="table-light">
                            <tr>
                                <th width="50" class="ps-3">ID</th>
                                <th>Kategori Adı</th>
                                <th>Üst Kategori</th>
                                <th class="text-center">Durum</th>
                                <th width="150" class="text-end pe-3">İşlemler</th>
                            </tr>
                        </thead>
                        <tbody>
                            <?php if(count($kategoriler) > 0): ?>
                                <?php foreach($kategoriler as $row): ?>
                                <tr>
                                    <td class="ps-3 text-muted"><?= $row['id']; ?></td>
                                    <td>
                                        <div class="fw-bold text-dark"><?= htmlspecialchars($row['name']); ?></div>
                                        <small class="text-muted">Slug: <?= $row['slug']; ?></small>
                                    </td>
                                    <td>
                                        <?php 
                                        if($row['parent_name']) {
                                            echo "<span class='badge bg-info text-dark shadow-sm'><i class='bi bi-arrow-return-right me-1'></i>" . htmlspecialchars($row['parent_name']) . "</span>";
                                        } else {
                                            echo "<span class='badge bg-light text-muted border shadow-none'>Ana Kategori</span>";
                                        }
                                        ?>
                                    </td>
                                    <td class="text-center">
                                        <?php if($row['status'] == 1): ?>
                                            <span class="badge bg-success rounded-pill px-3">Aktif</span>
                                        <?php else: ?>
                                            <span class="badge bg-danger rounded-pill px-3">Pasif</span>
                                        <?php endif; ?>
                                    </td>
                                    <td class="text-end pe-3">
                                        <div class="btn-group shadow-sm">
                                            <a href="kategori_duzenle.php?id=<?= $row['id']; ?>" class="btn btn-sm btn-outline-warning" title="Düzenle">
                                                <i class="bi bi-pencil-fill"></i>
                                            </a>
                                            <a href="kategori_sil.php?id=<?= $row['id']; ?>" class="btn btn-sm btn-outline-danger" onclick="return confirm('Bu kategoriyi silmek istediğinize emin misiniz?');" title="Sil">
                                                <i class="bi bi-trash-fill"></i>
                                            </a>
                                        </div>
                                    </td>
                                </tr>
                                <?php endforeach; ?>
                            <?php else: ?>
                                <tr>
                                    <td colspan="5" class="text-center py-5 text-muted fw-bold">
                                        <i class="bi bi-inbox fs-1 d-block mb-2"></i>
                                        Henüz hiç kategori eklenmemiş.
                                    </td>
                                </tr>
                            <?php endif; ?>
                        </tbody>
                    </table>
                </div>
            </div>
        </div>
    </div>
</div>

<?php 
// YENİ YAPI: Footer artık bir üst klasörde (admin/footer.php)
require_once '../footer.php'; 
?>