<?php
include "db.php";
include "header.php";

// ------------------------------------
// ΔΙΑΓΡΑΦΗ ΥΛΙΚΟΥ ΑΝ ΥΠΑΡΧΕΙ delete_id
// ------------------------------------
$deleted_success = false;
$delete_message = '';

if (isset($_GET['delete_id'])) {
    $ingredient_id = (int)$_GET['delete_id'];

    if ($ingredient_id > 0) {
        // Παίρνουμε το όνομα του υλικού
        $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();

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

            if ($used_count > 0) {
                $delete_message = "Το υλικό <strong>{$ingredient_name}</strong> δεν μπορεί να διαγραφεί γιατί χρησιμοποιείται σε προϊόντα.";
            } else {
                // Διαγραφή όλων των τιμών
                $stmt3 = $db->prepare("DELETE FROM ingredient_prices WHERE ingredient_id = ?");
                $stmt3->bind_param("i", $ingredient_id);
                $stmt3->execute();
                $stmt3->close();

                // Διαγραφή του υλικού
                $stmt4 = $db->prepare("DELETE FROM ingredients WHERE id = ?");
                $stmt4->bind_param("i", $ingredient_id);
                if ($stmt4->execute()) {
                    $delete_message = "Το υλικό <strong>{$ingredient_name}</strong> διαγράφηκε επιτυχώς μαζί με όλες τις τιμές του.";
                    $deleted_success = true;
                } else {
                    $delete_message = "Σφάλμα κατά τη διαγραφή του υλικού: {$stmt4->error}";
                }
                $stmt4->close();
            }
        } else {
            $delete_message = "Το υλικό δεν βρέθηκε.";
            $stmt->close();
        }
    } else {
        $delete_message = "Μη έγκυρο ID υλικού.";
    }
}
?>

<style>
 body {
        min-height: 100vh;
        display: flex;
        margin: 0;
        background: #f9f9f9;
    }
    
</style>

<!-- DataTables + Bootstrap CSS -->
<link rel="stylesheet" href="https://cdn.datatables.net/1.13.6/css/dataTables.bootstrap5.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css">

<div class="container-fluid mt-5" style="padding-left: 220px; padding-right: 30px;">
    <h2><i class="bi bi-file-text"></i> Λίστα Υλικών</h2>

    <table id="ingredientsTable" class="table table-striped table-bordered shadow-sm mt-3">
        <thead class="table-dark">
            <tr>
                <th>ID</th>
                <th>Όνομα (Μονάδα)</th>
                <th>Τελευταία Τιμή (€)</th>
                <th>Τελευταία εγγραφή</th>
                <th>Ενέργειες</th>
            </tr>
        </thead>
        <tbody>
            <?php
            // Παίρνουμε όλα τα υλικά με την τελευταία τιμή τους
            $sql = "
            SELECT i.id, i.name, u.name AS unit_name, ip.price, ip.date
            FROM ingredients i
            LEFT JOIN units u ON i.unit_id = u.id
            LEFT JOIN ingredient_prices ip 
                ON ip.id = (SELECT ip2.id 
                            FROM ingredient_prices ip2 
                            WHERE ip2.ingredient_id = i.id 
                            ORDER BY ip2.date DESC 
                            LIMIT 1)
            ORDER BY i.id ASC";
            $result = $db->query($sql);

            while ($row = $result->fetch_assoc()):
            ?>
            <tr>
                <td><?= $row['id'] ?></td>
                <td>
                    <a href="ingredient_edit.php?id=<?= $row['id'] ?>" class="text-danger fw-bold">
                        <?= htmlspecialchars($row['name']) ?> (<?= htmlspecialchars($row['unit_name']) ?>)
                    </a>
                </td>
                <td><?= number_format($row['price'], 2) ?></td>
                <td><?= $row['date'] ?></td>
                <td>
                    <a href="ingredient_edit.php?id=<?= $row['id'] ?>" class="btn btn-warning"><i class="bi bi-pencil-square"></i>️ Επεξεργασία</a>
                    <a href="?delete_id=<?= $row['id'] ?>" class="btn btn-danger" onclick="return confirm('Θέλετε σίγουρα να διαγράψετε αυτό το υλικό;');"><i class="bi bi-trash"></i>️ Διαγραφή</a>
                </td>
            </tr>
            <?php endwhile; ?>
        </tbody>
    </table>

    <a href="ingredient_add.php" class="btn btn-success mt-3"><i class="bi bi-plus-circle"></i> Προσθήκη Νέου Υλικού</a>

    <!-- Μήνυμα διαγραφής κάτω από το κουμπί -->
    <?php if ($delete_message): ?>
    <div id="deleteAlert" class="alert <?= $deleted_success ? 'alert-success' : 'alert-warning' ?> mt-3">
        <?= $delete_message ?>
    </div>
    <script>
        setTimeout(function() {
            const el = document.getElementById('deleteAlert');
            if (el) el.style.display = 'none';
        }, 6000);
    </script>
    <?php endif; ?>

</div>

<!-- jQuery + DataTables JS + Bootstrap JS -->
<script src="https://code.jquery.com/jquery-3.7.0.min.js"></script>
<script src="https://cdn.datatables.net/1.13.6/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/1.13.6/js/dataTables.bootstrap5.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>

<script>
$(document).ready(function() {
    $('#ingredientsTable').DataTable({
        "order": [[0, "asc"]],
        "paging": true,
        "searching": true,
        "ordering": true,
        "language": {
            "url": "//cdn.datatables.net/plug-ins/1.13.6/i18n/el.json"
        }
    });
});
</script>

<?php include "footer.php"; ?>
