<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

session_start();
include "db.php";

// Παίρνουμε το ID από το URL
$ingredient_id = (int)($_GET['id'] ?? 0);

if ($ingredient_id <= 0) {
    $_SESSION['delete_message'] = "Μη έγκυρο ID υλικού.";
    header("Location: ingredients_list.php");
    exit;
}

// Έλεγχος αν υπάρχει το υλικό
$stmt = $db->prepare("SELECT name FROM ingredients WHERE id = ?");
$stmt->bind_param("i", $ingredient_id);
$stmt->execute();
$stmt->bind_result($ingredient_name);
if (!$stmt->fetch()) {
    $stmt->close();
    $_SESSION['delete_message'] = "Το υλικό δεν βρέθηκε.";
    header("Location: ingredients_list.php");
    exit;
}
$stmt->close();

// Έλεγχος αν το υλικό χρησιμοποιείται σε προϊόντα
$stmt = $db->prepare("SELECT COUNT(*) FROM product_ingredients WHERE ingredient_id = ?");
$stmt->bind_param("i", $ingredient_id);
$stmt->execute();
$stmt->bind_result($used_count);
$stmt->fetch();
$stmt->close();

if ($used_count > 0) {
    $_SESSION['delete_message'] = "Το υλικό <strong>{$ingredient_name}</strong> δεν μπορεί να διαγραφεί γιατί χρησιμοποιείται σε προϊόντα.";
    header("Location: ingredients_list.php");
    exit;
}

// Διαγραφή όλων των τιμών από ingredient_prices
$stmt = $db->prepare("DELETE FROM ingredient_prices WHERE ingredient_id = ?");
$stmt->bind_param("i", $ingredient_id);
$stmt->execute();
$stmt->close();

// Διαγραφή του υλικού από ingredients
$stmt = $db->prepare("DELETE FROM ingredients WHERE id = ?");
$stmt->bind_param("i", $ingredient_id);

if ($stmt->execute()) {
    $_SESSION['delete_message'] = "Το υλικό <strong>{$ingredient_name}</strong> διαγράφηκε επιτυχώς μαζί με όλες τις τιμές του.";
} else {
    $_SESSION['delete_message'] = "Σφάλμα κατά τη διαγραφή του υλικού: {$stmt->error}";
}

$stmt->close();

// Επιστροφή στη λίστα
header("Location: ingredients_list.php");
exit;
?>
