<?php
/**
 * Admin Abonelik Detay ve Yönetim Sayfası
 * Konum: /magaza/admin/abonelikler/detay.php
 */

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

/**
 * GÜVENLİK KONTROLÜ
 */
adminCheck();

$mesaj = '';

// 1. URL'den gelen ID'yi kontrol et
if (!isset($_GET['id']) || !is_numeric($_GET['id'])) {
    header("Location: index.php");
    exit;
}
$abonelik_id = (int)$_GET['id'];

// --- GÜNCELLEME İŞLEMİ ---
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['abonelik_guncelle'])) {
    $yeni_durum = $_POST['status'];
    $yeni_bitis  = $_POST['end_date'];

    try {
        $upd_stmt = $db->prepare("UPDATE subscriptions SET status = ?, end_date = ? WHERE id = ?");
        $upd_stmt->execute([$yeni_durum, $yeni_bitis, $abonelik_id]);
        $mesaj = "<div class='alert alert-success shadow-sm'><i class='bi bi-check-circle-fill me-2'></i> Abonelik bilgileri başarıyla güncellendi.</div>";
    } catch (Exception $e) {
        $mesaj = "<div class='alert alert-danger shadow-sm'>Hata: " . $e->getMessage() . "</div>";
    }
}

// --- VERİ ÇEKME ---
// Abonelik, Kullanıcı ve Ürün (Paket) bilgilerini birleştirerek çekiyoruz
$sql = "
    SELECT s.*, u.name, u.surname, u.email, u.phone, p.name as paket_adi, p.price as paket_fiyat
    FROM subscriptions s
    JOIN users u ON s.user_id = u.id
    JOIN products p ON s.product_id = p.id
    WHERE s.id = ?
";
$stmt = $db->prepare($sql);
$stmt->execute([$abonelik_id]);
$abonelik = $stmt->fetch();

if (!$abonelik) {
    die("<div class='alert alert-danger m-4'>Abonelik kaydı bulunamadı! <a href='index.php'>Geri Dön</a></div>");
}

// YENİ YAPI: Header bir üst klasörde
require_once '../header.php';
?>

<div class="row mb-4 align-items-center">
    <div class="col-md-6">
        <h2 class="fw-bold mb-0 text-dark">
            <a href="index.php" class="btn btn-sm btn-outline-secondary me-3 shadow-sm"><i class="bi bi-arrow-left"></i> Geri</a>
            Abonelik Detayı: <span class="text-primary">#<?= $abonelik['id'] ?></span>
        </h2>
    </div>
</div>

<?= $mesaj; ?>

<div class="row">
    <div class="col-lg-8">
        <div class="row">
            <div class="col-md-6 mb-4">
                <div class="card shadow-sm border-0 h-100">
                    <div class="card-header bg-white py-3 border-bottom">
                        <h5 class="mb-0 fw-bold text-secondary small text-uppercase"><i class="bi bi-person me-2 text-primary"></i>Müşteri Bilgileri</h5>
                    </div>
                    <div class="card-body">
                        <h5 class="fw-bold mb-1"><?= htmlspecialchars($abonelik['name'] . ' ' . $abonelik['surname']) ?></h5>
                        <p class="text-muted small mb-3">Müşteri ID: #<?= $abonelik['user_id'] ?></p>
                        <hr>
                        <p class="mb-2"><strong>E-Posta:</strong> <a href="mailto:<?= $abonelik['email'] ?>" class="text-decoration-none"><?= htmlspecialchars($abonelik['email']) ?></a></p>
                        <p class="mb-0"><strong>Telefon:</strong> <a href="tel:<?= $abonelik['phone'] ?>" class="text-decoration-none"><?= htmlspecialchars($abonelik['phone']) ?></a></p>
                    </div>
                </div>
            </div>

            <div class="col-md-6 mb-4">
                <div class="card shadow-sm border-0 h-100">
                    <div class="card-header bg-white py-3 border-bottom">
                        <h5 class="mb-0 fw-bold text-secondary small text-uppercase"><i class="bi bi-box-seam me-2 text-success"></i>Paket Bilgileri</h5>
                    </div>
                    <div class="card-body">
                        <h5 class="fw-bold text-success mb-1"><?= htmlspecialchars($abonelik['paket_adi']) ?></h5>
                        <p class="text-muted small mb-3">Ürün ID: #<?= $abonelik['product_id'] ?></p>
                        <hr>
                        <div class="d-flex justify-content-between">
                            <span class="text-muted">Paket Bedeli:</span>
                            <span class="fw-bold"><?= number_format($abonelik['paket_fiyat'], 2, ',', '.') ?> ₺</span>
                        </div>
                        <div class="d-flex justify-content-between mt-2">
                            <span class="text-muted">Başlangıç:</span>
                            <span class="fw-bold text-dark"><?= date('d.m.Y', strtotime($abonelik['start_date'])) ?></span>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <div class="card shadow-sm border-0 mb-4 bg-light">
            <div class="card-body">
                <h6 class="fw-bold"><i class="bi bi-info-circle me-2"></i> Yönetici Notu</h6>
                <p class="small text-muted mb-0">
                    Abonelik durumunu "İptal Edildi" olarak değiştirirseniz kullanıcı ilgili içeriklere erişemez. 
                    "Süresi Doldu" durumu otomatik sistem tarafından da atanabilir ancak buradan manuel müdahale edebilirsiniz.
                </p>
            </div>
        </div>
    </div>

    <div class="col-lg-4">
        <div class="card shadow-sm border-warning border-top border-4 mb-4">
            <div class="card-header bg-white py-3 border-bottom">
                <h5 class="mb-0 fw-bold text-dark small text-uppercase"><i class="bi bi-pencil-square me-2 text-warning"></i>Aboneliği Yönet</h5>
            </div>
            <div class="card-body p-4">
                <form action="detay.php?id=<?= $abonelik_id ?>" method="POST">
                    <div class="mb-4">
                        <label class="form-label fw-bold small text-muted text-uppercase">Abonelik Durumu</label>
                        <select name="status" class="form-select border-2">
                            <option value="active" <?= $abonelik['status'] == 'active' ? 'selected' : '' ?>>Aktif</option>
                            <option value="pending" <?= $abonelik['status'] == 'pending' ? 'selected' : '' ?>>Beklemede</option>
                            <option value="expired" <?= $abonelik['status'] == 'expired' ? 'selected' : '' ?>>Süresi Doldu</option>
                            <option value="cancelled" <?= $abonelik['status'] == 'cancelled' ? 'selected' : '' ?>>İptal Edildi</option>
                        </select>
                    </div>

                    <div class="mb-4">
                        <label class="form-label fw-bold small text-muted text-uppercase">Bitiş Tarihi (Sona Erme)</label>
                        <input type="date" name="end_date" class="form-control border-2" value="<?= date('Y-m-d', strtotime($abonelik['end_date'])) ?>">
                        <div class="form-text small mt-2">Aboneliği uzatmak için tarihi ileriye çekin.</div>
                    </div>

                    <button type="submit" name="abonelik_guncelle" class="btn btn-warning w-100 fw-bold py-3 shadow">
                        DEĞİŞİKLİKLERİ KAYDET
                    </button>
                </form>
            </div>
        </div>

        <div class="d-grid">
            <a href="islem_gecmisi.php?id=<?= $abonelik_id ?>" class="btn btn-outline-secondary border-2 fw-bold">
                <i class="bi bi-clock-history me-2"></i> Ödeme Geçmişini Gör
            </a>
        </div>
    </div>
</div>

<?php 
// YENİ YAPI: Footer bir üst klasörde
require_once '../footer.php'; 
?>