<?php
session_start();
header('Content-Type: application/json');

require_once __DIR__ . '/../../classes/DB.php';

/* ADMIN CHECK */
if (!isset($_SESSION['is_admin']) || $_SESSION['is_admin'] !== true) {
    echo json_encode(["ok" => false, "error" => "Not admin"]);
    exit;
}

$imageId = $_POST['image_id'] ?? null;
if (!$imageId) {
    echo json_encode(["ok" => false, "error" => "Missing image_id"]);
    exit;
}

$db = DB::get();

/* GET FILE PATH BEFORE DELETE */
$stmt = $db->prepare("SELECT src FROM images WHERE id = ?");
$stmt->execute([$imageId]);
$row = $stmt->fetch();

if (!$row) {
    echo json_encode(["ok" => false, "error" => "Image not found"]);
    exit;
}

$filePath = __DIR__ . '/../../' . ltrim($row['src'], '/');

/* DELETE RELATED DATA */
$db->prepare("DELETE FROM collections WHERE image_id = ?")->execute([$imageId]);
$db->prepare("DELETE FROM image_ratings WHERE image_id = ?")->execute([$imageId]);
$db->prepare("DELETE FROM image_tags WHERE image_id = ?")->execute([$imageId]);

/* DELETE IMAGE RECORD */
$db->prepare("DELETE FROM images WHERE id = ?")->execute([$imageId]);

/* DELETE FILE */
if (file_exists($filePath)) {
    unlink($filePath);
}

echo json_encode([
    "ok" => true,
    "deleted" => $imageId
]);