<?php
header("Content-Type: application/json");
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: DELETE, OPTIONS");
header("Access-Control-Allow-Headers: Content-Type, Accept");

if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') {
    http_response_code(200);
    exit;
}

$image_url = isset($_GET['image_url']) ? $_GET['image_url'] : '';

if (empty($image_url)) {
    $input = json_decode(file_get_contents("php://input"));
    if (isset($input->image_url)) {
        $image_url = $input->image_url;
    }
}

if (!empty($image_url)) {
    $filename = basename($image_url);
    $target_dir = "../../uploads/";
    $file_path = $target_dir . $filename;
    
    // Safety check: ensure they aren't escaping the folder structure
    if (pathinfo($filename, PATHINFO_DIRNAME) === '.') {
        if (file_exists($file_path)) {
            if (unlink($file_path)) {
                echo json_encode(["success" => true, "message" => "Image deleted successfully."]);
            } else {
                http_response_code(500);
                echo json_encode(["success" => false, "message" => "Failed to delete file from disk."]);
            }
        } else {
            // If file doesn't exist, we can treat it as already deleted successfully to prevent blocking frontend
            echo json_encode(["success" => true, "message" => "File did not exist, nothing to delete."]);
        }
    } else {
        http_response_code(400);
        echo json_encode(["success" => false, "message" => "Invalid image filename."]);
    }
} else {
    http_response_code(400);
    echo json_encode(["success" => false, "message" => "Image URL is required."]);
}
?>
