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

function makeClickableLinks($text) {
    $pattern = '/(?:(?:https?:\/\/)|(?:www\.))[^\s<>"\'()]+/i';
    $replacement = '<a href="$0" target="_blank">$0</a>';
    return preg_replace($pattern, $replacement, $text);
}

// Datenbankverbindung
require_once 'db_connection.php';
if ($link->connect_error) {
    die('<p>Verbindung fehlgeschlagen: '. $link->connect_error .'</p>');
}

// ID aus der URL abrufen
$rezept_id = isset($_GET['id']) ? intval($_GET['id']) : 0;

// Rezeptdaten abrufen
$stmt_rezept = $link->prepare("SELECT * FROM Rezepte WHERE id = ?");
$stmt_rezept->bind_param("i", $rezept_id);
$stmt_rezept->execute();
$rezept = $stmt_rezept->get_result()->fetch_assoc();
if (!$rezept) {
    die("Rezept mit ID $rezept_id nicht gefunden.");
}

// Rezeptnummer holen und auf 3 Stellen auffüllen
$rezeptnummer_int = intval($rezept['Rezeptnummer']);
$rezeptnummer = 'R' . str_pad($rezeptnummer_int, 3, '0', STR_PAD_LEFT);

// Zutaten abrufen
$stmt_zutaten = $link->prepare("SELECT ingr FROM ingredients WHERE rezeptnr = ?");
$stmt_zutaten->bind_param("s", $rezeptnummer);
$stmt_zutaten->execute();
$zutaten_result = $stmt_zutaten->get_result(); // Hier war der Fehler behoben
$zutaten_text = "";
if ($row = $zutaten_result->fetch_assoc()) {
    $zutaten_text = $row['ingr'];
}

// Zubereitung abrufen
$stmt_zubereitung = $link->prepare("SELECT * FROM Zubereitung WHERE rezeptnummer = ? ORDER BY schritt");
$stmt_zubereitung->bind_param("s", $rezeptnummer);
$stmt_zubereitung->execute();
$zubereitung_result = $stmt_zubereitung->get_result();
$zubereitung = $zubereitung_result->fetch_all(MYSQLI_ASSOC);
if (empty($zubereitung)) {
    $zubereitung = [];
}

// Bilder abrufen
$stmt_bilder = $link->prepare("SELECT * FROM rezepte_bilder WHERE rezepte_id = ? ORDER BY id");
$stmt_bilder->bind_param("i", $rezept_id);
$stmt_bilder->execute();
$bilder_result = $stmt_bilder->get_result();
$bilder = $bilder_result->fetch_all(MYSQLI_ASSOC);
if (empty($bilder)) {
    $bilder = [];
}
?>
<!DOCTYPE html>
<html>
<head>
    <style>
        body {
            font-family: Arial, sans-serif;
            background: #fcf6e3;
        }
        table {
            background: white;
        }
        @import url('https://fonts.googleapis.com/css?family=Roboto');
        td.Kateg { width: 20%; height: 20%; text-align: center; }
        td.ueber { font-size: 1.4em; }
        td.unter { font-size: 1.4em; }
        body.sans { font-family: Arial, sans-serif; }
        img { width: 200px; }
        img.oben { width: 500px; }
        img.vergroesserbar { cursor: pointer; }
        img.vergroessert { width: 400px !important; transition: width 0.3s ease; }
        pre.zutaten {
            font-size: 1.2em;
            font-family: Arial, sans-serif;
            white-space: pre-wrap;
        }
        .edit-button {
            display: inline-block;
            padding: 10px 20px;
            background-color: #bb7e19;
            color: white;
            text-decoration: none;
            border-radius: 5px;
            font-family: Arial, sans-serif;
            font-size: 1em;
            margin-bottom: 10px;
        }
        .custom-button {
            display: inline-block;
            padding: 10px 20px;
            background-color: #bb7e19;
            color: white;
            text-decoration: none;
            border-radius: 5px;
            font-family: Arial, sans-serif;
            font-size: 1em;
            margin-right: 10px;
            margin-bottom: 10px;
            border: none;
            cursor: pointer;
            text-align: center;
        }
        .custom-button:hover {
            background-color: #a06f15;
        }
    </style>
</head>
<body class='sans' >
    <table width='800px' align='center' border='0'>
        <tr><td>
            <a href="./index.php" class="custom-button">Zurück zur Übersicht</a>
            <a href="Edit.php?id=<?= htmlspecialchars($rezept_id) ?>" class="custom-button">Rezept editieren</a>
        </td></tr>
        <tr><td>
            <table align='left' border='0'>
                <tr>
                    <td style='font-size:1.6em'><?= htmlspecialchars($rezeptnummer) ?></td>
                </tr>
                <tr>
                    <td style='font-size:1.6em'><?= htmlspecialchars($rezept['Bezeichnung']) ?></td>
                </tr>
                <tr>
                    <td class='unter'><?= makeClickableLinks($rezept['Beschreibung']) ?><br><br></td>
                </tr>
                <tr>
                    <td align='left'>
                        <?php if (!empty($bilder)): ?>
                            <img class='oben' src="<?= htmlspecialchars($bilder[0]['datei_pfad']) ?>">
                        <?php endif; ?>
                    </td>
                </tr>
                <?php if (!empty(trim($rezept['Vorbereitung']))): ?>
                <tr>
                    <td class='unter'><br>Vorbereitung: <span style="font-size:0.9em;"><?= makeClickableLinks($rezept['Vorbereitung']) ?></span></td>
                </tr>
                <?php endif; ?>
                <?php if (!empty(trim($zutaten_text))): ?>
                <tr>
                    <td class='unter'><br>Zutaten
                        <?php if (!empty($rezept['Anzahl'])): ?>
                            <style='font-size: 1.2em;">für <?= htmlspecialchars($rezept['Anzahl']) ?> Personen:</span>
                        <?php endif; ?>
                    </td>
                </tr>
                <?php endif; ?>
            </table>
        </td></tr>
        <?php if (!empty(trim($zutaten_text))): ?>
        <tr><td>
            <table align='center' border='0'>
                <tr>
                    <th align='left'></th>
                </tr>
                <tr>
                    <td><pre class="zutaten"><?= $zutaten_text ?></pre></td>
                </tr>
            </table>
        </td></tr>
        <?php endif; ?>
        <?php if (!empty($zubereitung) || !empty($bilder)): ?>
    <tr><td>
        <table align='left' border='0'>
            <tr>
                <td class='unter' align='left' colspan='2'><br>Zubereitung<br><br></td>
            </tr>
            <?php
            // Bestimme die maximale Anzahl an Schritten (basierend auf $zubereitung oder $bilder)
            $maxSteps = max(count($zubereitung), count($bilder));
            for ($i = 0; $i < $maxSteps; $i++):
                $currentIndex = $i + 1; // Da $bilder[$index + 1] im Originalcode verwendet wird
            ?>
                <tr>
                    <td>
                        <?php if (!empty($bilder[$currentIndex])): ?>
                            <img class='vergroesserbar' src='<?= htmlspecialchars($bilder[$currentIndex]['datei_pfad']) ?>'>
                        <?php endif; ?>
                    </td>
                    <td style='text-align:justify;padding:20px;font-size: 1.2em;'>
                        <?= !empty($zubereitung[$i]['text']) ? htmlspecialchars($zubereitung[$i]['text']) : '&nbsp;' ?>
                    </td>
                </tr>
            <?php endfor; ?>
        </table>
    </td></tr>
<?php endif; ?>

        <?php if (!empty(trim($rezept['Kommentar']))): ?>
        <tr><td>
            <table>
            <tr><td><br><br><span style='font-size:1.4em'>Kommentar</span><br><br><span style='font-size: 1.2em; display: block;'><?= makeClickableLinks($rezept['Kommentar']) ?></span></td></tr>

        <?php endif; ?>
    </table>
    <script>
        document.addEventListener('DOMContentLoaded', function() {
            const bilder = document.querySelectorAll('img.vergroesserbar');
            bilder.forEach(function(bild) {
                bild.addEventListener('click', function() {
                    if (this.classList.contains('vergroessert')) {
                        this.classList.remove('vergroessert');
                    } else {
                        this.classList.add('vergroessert');
                    }
                });
            });
        });
    </script>
</body>
</html>
