<?php
session_start();
require 'koneksi.php';

if (!isset($_SESSION['admin_id'])) {
    header("Location: index");
    exit();
}

if (!isset($_GET['id'])) {
    $_SESSION['error'] = "ID kategori tidak valid";
    header("Location: kategori");
    exit();
}

$id = (int)$_GET['id'];

try {
    // Cek apakah kategori ada
    $stmt = $pdo->prepare("SELECT nama_kategori FROM blog_categories WHERE id = ?");
    $stmt->execute([$id]);
    $category = $stmt->fetch();

    if (!$category) {
        $_SESSION['error'] = "Kategori tidak ditemukan";
        header("Location: kategori");
        exit();
    }

    // Cek apakah kategori digunakan di postingan
    $stmt = $pdo->prepare("SELECT COUNT(*) FROM blog_posts WHERE kategori_id = ?");
    $stmt->execute([$id]);
    $post_count = $stmt->fetchColumn();

    if ($post_count > 0) {
        $_SESSION['error'] = "Kategori '{$category['nama']}' tidak dapat dihapus karena masih digunakan di {$post_count} postingan";
        header("Location: kategori");
        exit();
    }

    // Hapus kategori
    $pdo->beginTransaction();
    $stmt = $pdo->prepare("DELETE FROM blog_categories WHERE id = ?");
    $stmt->execute([$id]);
    $pdo->commit();

    $_SESSION['success'] = "Kategori '{$category['nama']}' berhasil dihapus";
} catch (PDOException $e) {
    $pdo->rollBack();
    $_SESSION['error'] = "Gagal menghapus kategori: " . $e->getMessage();
}

header("Location: kategori");
exit();
