<!DOCTYPE html>
<html lang="nl">

  <head>
    <!--
    Superworstenbroodje - d'n cijferberekenaar
    Copyright (C) 2024 Mr. coreboot

    Dit programma wordt verspreid onder de voorwaarden van de GNU Affero General Public License
    zoals gepubliceerd door de Free Software Foundation, versie 3 van de licentie.

    Dit programma wordt verspreid in de hoop dat het nuttig zal zijn,
    maar ZONDER ENIGE GARANTIE; zonder zelfs de impliciete garantie van
    VERKOOPBAARHEID of GESCHIKTHEID VOOR EEN BEPAALD DOEL. Zie de
    GNU Affero General Public License voor meer details.

    Je zou een kopie van de GNU Affero General Public License moeten hebben ontvangen
    samen met dit programma. Indien niet, zie <https://www.gnu.org/licenses/>.

    Alle content van deze website (zoals tekst, afbeeldingen en multimedia)
    valt onder de Creative Commons Naamsvermelding-GelijkDelen 4.0 Internationaal (CC BY-SA 4.0).
    Zie: https://creativecommons.org/licenses/by-sa/4.0/
    -->
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="Kende gij dit godnondeju zelf nie uitrekene nie?">
    <title>Superworstenbroodje</title>
    <link rel="apple-touch-icon" sizes="180x180" href="resources/favicons/apple-touch-icon.png">
    <link rel="icon" type="image/png" sizes="48x48" href="resources/favicons/favicon-48x48.png">
    <link rel="icon" type="image/svg+xml" href="/resources/favicons/favicon.svg">
    <link rel="manifest" href="/resources/favicons/site.webmanifest">
    <link rel="shortcut icon" href="/resources/favicons/favicon.ico">
    <link rel="stylesheet" href="/resources/css/bootstrap.css">
    <link rel="stylesheet" href="/resources/css/worstenbroodje.css">
    <meta name="apple-mobile-web-app-title" content="Superworstenbroodje">
    <script src="/resources/js/bootstrap.js"></script>
  </head>

  <body>
    <div class="container mt-4 worstenbrood-container">
     <h2><strong>Zonne grote tabel! BAM!</strong></h2>
     <br>
     <a href="/" class="btn btn-primary">Ga terug dan! Hou me teguh dan!</a>
     <br><br>
     <table class="table table-bordered">
      <?php
       if (session_status() === PHP_SESSION_NONE) {
        ini_set('session.use_cookies', 0);
        ini_set('session.use_only_cookies', 0);
        ini_set('session.use_trans_sid', 1);
        session_start();
       }
       if (!isset($_POST['csrf_token']) || $_POST['csrf_token'] !== $_SESSION['csrf_token']) {
        echo "D'n CSRF-token is gewoon invalide jonguh!";
        exit;
       }
       function bereken_cijfer($behaalde_punten, $max_punten, $norm_percentage, $voldoende_cijfer, $decimalen) {
        $norm = intval($norm_percentage) / 100;
        $voldoende_score = $max_punten * $norm;
        if ($behaalde_punten == $max_punten) {
         return 10.0;
        }
        if ($behaalde_punten >= $voldoende_score) {
         return round($voldoende_cijfer + (10 - $voldoende_cijfer) * (($behaalde_punten - $voldoende_score) / ($max_punten - $voldoende_score)), $decimalen);
        } else {
         return round(1 + ($voldoende_cijfer - 1) * ($behaalde_punten / $voldoende_score), $decimalen);
        }
       }
       if ($_SERVER["REQUEST_METHOD"] == "POST") {
        $schijndel = htmlspecialchars($_POST["schijndel"], ENT_QUOTES, 'UTF-8');
        if ($schijndel === "true") {
         echo "Hee koekwaus uit Schijndel, ga maar ergens anders klikken! Dees site is alleen veur echte binkies. Helse Schijndelaren verboden! De groeten uit Maaskantje!<br><br>";
         exit;
        }
        $max_punten = filter_input(INPUT_POST, 'max_punten', FILTER_VALIDATE_FLOAT, ["options" => ["min_range" => 1, "max_range" => 1000]]);
        $norm_percentage = filter_input(INPUT_POST, 'norm_percentage', FILTER_VALIDATE_INT, ["options" => ["min_range" => 0, "max_range" => 100]]);
        $voldoende_cijfer = filter_input(INPUT_POST, 'voldoende_cijfer', FILTER_VALIDATE_FLOAT, ["options" => ["min_range" => 5.5, "max_range" => 6.0]]);
        $decimalen = filter_input(INPUT_POST, 'decimalen', FILTER_VALIDATE_INT, ["options" => ["min_range" => 1, "max_range" => 3]]);
        $incrementatie = filter_input(INPUT_POST, 'incrementatie', FILTER_VALIDATE_FLOAT, ["options" => ["min_range" => 0.1, "max_range" => 1.0]]);
        if ($max_punten < 1 || $max_punten > 1000) {
         echo "Ja nee! Het is minimaal 1 en maximaal 1000, verrekte mongol!";
         exit;
        }
        echo "<tr><th>Goed</th><th>Fout</th><th>Cijfer</th></tr>";
        for ($behaalde_punten = $max_punten; $behaalde_punten >= 0; $behaalde_punten = round($behaalde_punten -= $incrementatie, 1)) {
         $fouten = $max_punten - $behaalde_punten;
         $cijfer = bereken_cijfer($behaalde_punten, $max_punten, $norm_percentage, $voldoende_cijfer, $decimalen);
         echo "<tr><td>" . htmlspecialchars(number_format($behaalde_punten, 1), ENT_QUOTES, 'UTF-8') . "</td>
               <td>" . htmlspecialchars(number_format($fouten, 1), ENT_QUOTES, 'UTF-8') . "</td>
               <td>" . htmlspecialchars(number_format($cijfer, $decimalen), ENT_QUOTES, 'UTF-8') . "</td></tr>";
        }
        echo "<tr><th>Goed</th><th>Fout</th><th>Cijfer</th></tr>";
       }
      ?>
     </table>
     <a href="/" class="btn btn-primary">Ga terug dan! Hou me teguh dan!</a>
     <br><br>
     <p><strong>Disclaimer jonguh</strong></p>
     <p>Dees site is gemaakt deur 'ne gozer die ok op school hed gezeten, en les hed gehad van van die koekerts zoals gij. Verwacht d'r dus nie teveel van.</p>
    </div>
  </body>

</html>
