<?php
/**
 * Praktikum DBWT. Autoren:
 * Şafak, Hazinedar, 3108590
 * Robert, Joel, 3672729
 */

include "gerichte.php";

$besucherCount = 0;
$newletterCount = 0;

    //Besucher counter
if (file_exists("besucher.txt")) {
    $besucherFile = fopen("besucher.txt", "r");
    $besucherCount = fgets($besucherFile) + 1;
    fclose($besucherFile);
    $besucherFile = fopen("besucher.txt", "w");
    fwrite($besucherFile, $besucherCount);
    fclose($besucherFile);
} else {
    $besucherFile = fopen("besucher.txt", "w");
    fwrite($besucherFile, 1);
    fclose($besucherFile);
}

//Newletter counter
if (file_exists("newletter.txt")) {
    $newsFile = fopen("newletter.txt", "r");
    $newletterCount = fgets($newsFile);
    fclose($newsFile);
} else {
    $newsFile = fopen("newletter.txt", "w");
    fwrite($newsFile, 0);
    fclose($newsFile);
}

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $name = $_POST['name'];
    $email = $_POST['email'];
    $language = $_POST['language'];
    $terms = $_POST['terms'];

    $errors = array();

    if (empty(trim($name))) {
        $errors[] = "Bitte geben Sie einen Namen ein.";
    }

    if (!isset($terms)) {
        $errors[] = "Bitte stimmen Sie den Datenschutzbestimmungen zu.";
    }

    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
        $errors[] = "Bitte geben Sie eine gültige E-Mail-Adresse ein.";
    }

    $spam_domains = array("rcpt.at", "damnthespam.at", "wegwerfmail.de", "trashmail");

    foreach ($spam_domains as $domain) {
        if (str_contains($email, $domain)) {
            $errors[] = "Bitte geben Sie eine gültige E-Mail-Adresse ein, keine Wegwerf- oder Spam-E-Mail-Adresse.";
            break;
        }
    }

    if (empty($errors)) {
        $data = array(
            "name" => $name,
            "email" => $email,
            "language" => $language,
            "terms" => $terms
        );

        $file = "subscriptions.json";
        $current_data = file_exists($file) ? json_decode(file_get_contents($file), true) : array();
        $current_data[] = $data;

        if (file_put_contents($file, json_encode($current_data))) {
            echo '<script type="text/javascript">';
            echo 'alert("Vielen Dank für Ihre Anmeldung zum Newsletter.");';
            echo '</script>';

            //Newsletter counter
            $newletterCount++;
            $newsFile = fopen("newletter.txt", "w");
            fwrite($newsFile, $newletterCount);
            fclose($newsFile);
        } else {
            echo '<script type="text/javascript">';
            echo 'alert("Es gab einen Fehler bei Ihrer Anmeldung. Bitte versuchen Sie es erneut.");';
            echo '</script>';
        }
    } else {
        $error_string = "";
        foreach ($errors as $error) {
            $error_string .= $error . '\n';
        }

        echo '<script type="text/javascript">';
        echo 'alert("' . $error_string . '");';
        echo '</script>';
    }
}

?>


<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/html">
<head>
    <meta charset="UTF-8">
    <title>Ihre E-Mensa</title>
    <style>
        * {
            font-family: Arial;
        }

        .grid {
            display: grid;
            grid-template-columns: 200px auto 200px;
        }

        img {
            width: 100%;
            height: auto;
        }

        .speisen {
            border: solid;
            border-collapse: collapse;
        }

        .speisen td {
            border: solid;
            border-collapse: collapse;
            border-radius: 4px;
            padding: 5px;
            width: 150px;
        }

        .speisen td:not(:first-of-type) {
            text-align: center;
        }

        p {
            text-align: justify;
        }

        .zahlen {
            list-style-type: none;
            display: grid;
            grid-template-columns: auto auto auto;
            gap: 10px;
        }

        .zahlen p {
            text-align: center;
            font-weight: bold;
        }

        .formular {
            display: grid;
            grid-template-columns: auto auto auto;
            justify-content: start;
            gap: 10px;
        }

        .wichtig {
            text-align: center;
        }

        .wichtigListe {
            display: inline-block;
            text-align: left;
        }

        .freude {
            text-align: center;
        }

        footer {
            border-top: 1px solid;
        }

        .fusszeile {
            padding-top: 20px;
            padding-bottom: 20px;
            margin-left: auto;
            margin-right: auto;
            border: none;
        }

        .fusszeile td:first-child {
            border-left: none;
            padding-left: 20px;
            padding-right: 20px;
        }

        .fusszeile td {
            border-left: 3px solid;
            padding-left: 20px;
            padding-right: 20px;
        }

    </style>

</head>
<body>
<div class="grid">
    <div>
        <img src="fh-logo.jpg" alt="FH-Logo">
    </div>
    <div>
        <a href="#ankündigung">Ankündigung</a>
        <a href="#speisen">Speisen</a>
        <a href="#zahlen">Zahlen</a>
        <a href="#kontakt">Kontakt</a>
        <a href="#wichtig">Wichtig für uns</a>

    </div>
</div>
<hr>
<div class="grid">
    <div></div>
    <div>
        <img src="mensa21.jpg" alt="Essen">
        <h1 id="ankündigung">Bald gibt es auch Essen online ;)</h1>
        <p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et
            dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet
            clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet,
            consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
            sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no
            sea takimata sanctus est Lorem ipsum dolor sit amet.</p>
        <h1 id="speisen">Köstlichkeiten die Sie erwarten</h1>
        <table class="speisen">

            <tr class="speisen">
                <td>Gerichte</td>
                <td>Preis intern</td>
                <td>Preis extern</td>
                <td>Bild</td>
            </tr>
            <?php
            /**
             * Speisekarte
             */
            foreach ($gerichte as $gericht) {
                echo "<tr class=\"speisen\"><td>" . $gericht["name"] . "</td><td>" . $gericht["priceint"] . "</td><td>" . $gericht["priceex"] . "</td><td><img src=" . $gericht["img"] . " alt=" . $gericht["name"] . ">";
            }
            ?>
        </table>
        <h1 id="zahlen">E-Mensa in Zahlen</h1>
        <div class="zahlen">
            <p><?php echo $besucherCount; ?> Besuche</p>
            <p><?php echo $newletterCount; ?>  Anmeldungen zum Newsletter</p>
            <p><?php echo count($gerichte); ?> Speisen</p>
        </div>
        <h1 id="kontakt">Interesse geweckt? Wir informieren</h1>

        <form method="post">
            <div class="formular">
                <div>
                    <label for="name">Name:</label> <br>
                    <input type="text" name="name" id="name" placeholder="Bitte geben Sie Ihren Namen ein">
                </div>
                <div>
                    <label for="email">E-Mail:</label> <br>
                    <input type="email" name="email" id="email" placeholder="Bitte geben Sie Ihre E-Mail ein">
                </div>
                <div>
                    <label for="language">Newsletter bitte in:</label> <br>
                    <select name="language" id="language">
                        <option value="deutsch">Deutsch</option>
                        <option value="englisch">Englisch</option>
                    </select>
                </div>
            </div>
            <br>
            <input required type="checkbox" name="terms" id="terms">
            <label for="terms">Den Datenschutzbestimmungen stimme ich zu</label>
            <button type="submit">Zum Newsletter anmelden</button>
        </form>


        <h1 id="wichtig">Das ist uns wichtig</h1>
        <div class="wichtig">
            <ul class="wichtigListe">
                <li>Beste frische saisonale Zutaten</li>
                <li>Ausgewogen abwechslungsreiche Gerichte</li>
                <li>Sauberkeit</li>
            </ul>
        </div>
        <h1 class="freude">Wir freuen uns auf Ihren Besuch!</h1>
    </div>
</div>
<footer>
    <table class="fusszeile">
        <tr>
            <td>(c) E-Mensa GmbH</td>
            <td>Şafak Hazinedar & Robert Joel</td>
            <td><a href="">Impressum</a></td>
        </tr>
    </table>
</footer>
</body>

</html>