<?php
/**
 * Admin - Widget (Vitrin) Düzenleme Formu
 * Konum: /magaza/admin/widget/duzenle.php
 */

require_once '../../includes/db.php';
require_once '../../includes/functions.php';

adminCheck();

$mesaj = '';

// ID Kontrolü
if (!isset($_GET['id']) || !is_numeric($_GET['id'])) {
    header("Location: index.php");
    exit;
}
$widget_id = (int)$_GET['id'];

// --- FORMU KAYDET (GÜNCELLEME) ---
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['guncelle'])) {
    $baslik = trim($_POST['title']);
    $kategori = !empty($_POST['category_id']) ? (int)$_POST['category_id'] : NULL;
    $limit = (int)$_POST['item_limit'];
    $layout = $_POST['layout_type'];
    $durum = (int)$_POST['status'];

    if (empty($baslik) || $limit <= 0) {
        $mesaj = "<div class='alert alert-danger shadow-sm'>Lütfen başlık ve gösterilecek ürün limitini geçerli giriniz.</div>";
    } else {
        $upd = $db->prepare("UPDATE widgets SET title = ?, category_id = ?, item_limit = ?, layout_type = ?, status = ? WHERE id = ?");
        if ($upd->execute([$baslik, $kategori, $limit, $layout, $durum, $widget_id])) {
            $mesaj = "<div class='alert alert-success shadow-sm'><i class='bi bi-check-circle me-2'></i> Widget başarıyla güncellendi! Değişiklikler sitenize anında yansıyacaktır.</div>";
        } else {
            $mesaj = "<div class='alert alert-danger shadow-sm'>Veritabanı hatası oluştu.</div>";
        }
    }
}

// --- WIDGET BİLGİLERİNİ ÇEK ---
$stmt = $db->prepare("SELECT * FROM widgets WHERE id = ?");
$stmt->execute([$widget_id]);
$widget = $stmt->fetch(PDO::FETCH_ASSOC);

if (!$widget) {
    header("Location: index.php");
    exit;
}

// Kategorileri Çek (Açılır Liste İçin)
$kat_stmt = $db->query("SELECT id, name FROM categories WHERE status = 1 ORDER BY name ASC");
$kategoriler = $kat_stmt->fetchAll(PDO::FETCH_ASSOC);

$page_title = "Widget Düzenle";
require_once '../header.php';
?>

<div class="row mb-4 align-items-center text-dark">
    <div class="col-md-8">
        <h2 class="fw-bold mb-0">
            <a href="index.php" class="btn btn-sm btn-outline-secondary me-3 shadow-sm border-2"><i class="bi bi-arrow-left"></i> Geri</a>
            <i class="bi bi-pencil-square text-primary me-2"></i>Widget Düzenle
        </h2>
    </div>
</div>

<?= $mesaj ?>

<div class="row justify-content-center">
    <div class="col-lg-8">
        <div class="card shadow-sm border-0 rounded-4 overflow-hidden">
            <div class="card-header bg-dark text-white py-3 d-flex justify-content-between align-items-center">
                <h6 class="mb-0 fw-bold">Widget (Vitrin) Ayarları</h6>
                <span class="badge bg-light text-dark">ID: <?= $widget['id'] ?></span>
            </div>
            <div class="card-body p-4 text-dark">
                <form action="" method="POST">
                    
                    <div class="row g-4 mb-4">
                        <div class="col-md-8">
                            <label class="form-label fw-bold text-muted small">Widget Başlığı (Referans İçin)</label>
                            <input type="text" name="title" class="form-control border-2" value="<?= htmlspecialchars($widget['title']) ?>" required>
                        </div>
                        <div class="col-md-4">
                            <label class="form-label fw-bold text-muted small">Yayın Durumu</label>
                            <select name="status" class="form-select border-2 <?= $widget['status'] == 1 ? 'border-success' : 'border-danger' ?>">
                                <option value="1" <?= $widget['status'] == 1 ? 'selected' : '' ?>>Aktif (Yayında)</option>
                                <option value="0" <?= $widget['status'] == 0 ? 'selected' : '' ?>>Pasif (Gizli)</option>
                            </select>
                        </div>
                    </div>

                    <div class="row g-4 mb-4">
                        <div class="col-md-12">
                            <label class="form-label fw-bold text-muted small">Hangi Kategorinin Ürünleri Çekilecek?</label>
                            <select name="category_id" class="form-select border-2">
                                <option value="" <?= is_null($widget['category_id']) ? 'selected' : '' ?>>-- Tüm Ürünleri Karışık Çek --</option>
                                <?php foreach($kategoriler as $kat): ?>
                                    <option value="<?= $kat['id'] ?>" <?= $widget['category_id'] == $kat['id'] ? 'selected' : '' ?>>
                                        <?= htmlspecialchars($kat['name']) ?>
                                    </option>
                                <?php endforeach; ?>
                            </select>
                            <div class="form-text small">Belirli bir kategori seçerseniz sadece o kategorinin en son eklenen ürünleri gösterilir.</div>
                        </div>
                    </div>

                    <div class="row g-4 mb-4">
                        <div class="col-md-6">
                            <label class="form-label fw-bold text-muted small">Gösterilecek Ürün Sayısı</label>
                            <input type="number" name="item_limit" class="form-control border-2" value="<?= $widget['item_limit'] ?>" min="1" max="20" required>
                            <div class="form-text small">Grid görünüm için 4 veya 8; Slider için 6-10 idealdir.</div>
                        </div>
                        <div class="col-md-6">
                            <label class="form-label fw-bold text-muted small">Görünüm Tipi</label>
                            <select name="layout_type" class="form-select border-2">
                                <option value="grid" <?= $widget['layout_type'] == 'grid' ? 'selected' : '' ?>>Grid (Yan Yana Kutular)</option>
                                <option value="slider" <?= $widget['layout_type'] == 'slider' ? 'selected' : '' ?>>Slider (Sağa Sola Kaydırmalı)</option>
                            </select>
                            <div class="form-text small">Slider seçerseniz ürünler mobil uyumlu olarak kaydırılabilir şekilde listelenir.</div>
                        </div>
                    </div>

                    <div class="text-end border-top pt-4">
                        <button type="submit" name="guncelle" class="btn btn-primary btn-lg fw-bold rounded-pill px-5 shadow-sm">
                            <i class="bi bi-save me-1"></i> Değişiklikleri Kaydet
                        </button>
                    </div>
                </form>
            </div>
        </div>
    </div>
</div>

<?php require_once '../footer.php'; ?>