<?php
// ============================================================
// FILE: admin/galeri_hapus.php — Proses Hapus Foto Galeri
// Method: POST (dari form di galeri.php)
// Aksi:
//   1. Validasi ID & kepemilikan baris di tabel galeri
//   2. Hapus file fisik dari uploads/galeri/
//   3. Hapus baris dari tabel galeri
//   4. Redirect ke galeri.php dengan flash message
// ============================================================
require_once __DIR__ . '/../includes/config.php';
require_once __DIR__ . '/../includes/db.php';
require_once __DIR__ . '/../includes/functions.php';
require_once __DIR__ . '/../includes/auth.php';
requireAdmin();

// Hanya terima POST
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    redirect(BASE_URL . '/admin/galeri.php');
}

$id = (int)($_POST['hapus_id'] ?? $_POST['gid'] ?? 0);

if (!$id) {
    setFlash('danger', 'ID foto tidak valid.');
    redirect(BASE_URL . '/admin/galeri.php');
}

$pdo = db();

// Ambil data foto
$stmt = $pdo->prepare("SELECT id, judul, nama_file FROM galeri WHERE id = ? LIMIT 1");
$stmt->execute([$id]);
$galeri = $stmt->fetch();

if (!$galeri) {
    setFlash('danger', 'Foto tidak ditemukan.');
    redirect(BASE_URL . '/admin/galeri.php');
}

// Hapus file fisik
hapusGambar($galeri['nama_file'], 'galeri');

// Hapus dari database
$pdo->prepare("DELETE FROM galeri WHERE id = ?")->execute([$id]);

setFlash('success', 'Foto <strong>' . e($galeri['judul']) . '</strong> berhasil dihapus dari galeri.');
redirect(BASE_URL . '/admin/galeri.php');