<?php 
    include_once "include/default-values.php";

    $message = "";

    // Gem ændringer i arrangementet
    // Tjekker om der er en post request og om man har trykket på gem knappen
    if($_SERVER["REQUEST_METHOD"] === "POST" && isset($_POST["savepost"])){
        // Tjekker om de indtastede værdiger er gyldige
        // Retunere fejl meddelserne
        function validateInputs(){
            $res = "";
            if(strlen($_POST["ECategory"]) === 0) $res .= "Mangler event kategori!\n";
        
            if(strlen($_POST["EDescription"]) === 0) $res .= "Mangler event beskrivelse!\n";
        
            if(strlen($_POST["EDate"]) === 0) $res .= "Mangler event dato!\n";
        
            if(strlen($_POST["EStartTime"]) === 0) $res .= "Mangler event start tid!\n";
        
            if(strlen($_POST["EEndTime"]) === 0) $res .= "Mangler event slut tid!\n";
        
            if(strlen($_POST["EPlace"]) === 0) $res .= "Mangler event sted!\n";
        
            if(strlen($_POST["EPrice"]) === 0 || !is_numeric($_POST["EPrice"])) $res .= "Mangler event pris!\n";
        
            if(strlen($_POST["EContactName"]) === 0) $res .= "Mangler event ansvarlig!\n";
        
            if(strlen($_POST["EContactPhone"]) === 0){
                // Check for 8 digits in the phone number
                $regex = "/^\s*\d{8}\s*$/";
                if(!preg_match($regex, str_replace(" ", "", $_POST["EContactPhone"]))) $res .= "Ugyldigt Telefonnummer!\n";
            }
        
            return $res;
        }
        
        // Laver et tjek på de indtastede værdiger og får fejl medelserne tilbage
        $message = validateInputs();

        // Tjekker om der er nogle fejlmeddelser
        if(strlen($message) === 0){
            // Bruger try catch til at være sikker på at siden ikke dør
            // hvis der er fejl i db og udskriver den
            try {
                // Convertere alle inputs til ikke at kunne have sql injection
                $eventCategory = $db_con->real_escape_string($_POST["ECategory"]);
                $eventDescription = $db_con->real_escape_string($_POST["EDescription"]);
                $eventDate = $db_con->real_escape_string($_POST["EDate"]);
                $eventStartTime = $db_con->real_escape_string($_POST["EStartTime"]);
                $eventEndTime = $db_con->real_escape_string($_POST["EEndTime"]);
                $eventPlace = $db_con->real_escape_string($_POST["EPlace"]);
                $eventPrice = $db_con->real_escape_string($_POST["EPrice"]);
                $eventContactName = $db_con->real_escape_string($_POST["EContactName"]);
                $eventContactPhone = $db_con->real_escape_string($_POST["EContactPhone"]);
                $EID = $db_con->real_escape_string($_GET['EID']);

                // Sætter sql forspørelsen op
                $sql = "UPDATE `events` SET 
                        `ECategory` = '$eventCategory',
                        `EDescription` = '$eventDescription',
                        `EDate` = '$eventDate',
                        `EStartTime` = '$eventStartTime',
                        `EEndTime` = '$eventEndTime',
                        `EPlace` = '$eventPlace',
                        `EPrice` = '$eventPrice',
                        `EContactName` = '$eventContactName',
                        `EContactPhone` = '$eventContactPhone'
                        WHERE `EID` = '$EID'";
                // Udføre forspørgelsen i databasen
                $db_con->query($sql);
            } catch (\Throwable $th) {
                echo $th;
            }
        }
    }
    // Tjekker om der er en post request og at man har trykket på slet
    else if($_SERVER["REQUEST_METHOD"] === "POST" && isset($_POST["deletepost"])){
        // Bruger try catch til at være sikker på at siden ikke dør
        // hvis der er fejl i db og udskriver den
        try {
            // Tjekker om det er et id i GET
            if(isset($_GET['EID'])){
                // Convertere EID til ikke at kunne have sql injection
                $EID = $db_con->real_escape_string($_GET['EID']);
                // Forbereder SQL forspørgelsen
                $sql = "DELETE FROM `events` WHERE `EID` = '$EID'";
                // Udføre SQL forspørgelsen
                $db_con->query($sql);
                // Redirecter til slettetArrangement
                header("Location: slettetArrangement.php");
                exit();
            } else{
                // Redirect til forsiden hvis der ikke er et id
                header("Location: " . $siteroot . "index.php");
                exit();
            }
            
        } catch (\Throwable $th) {
            echo $th;
        }
    }

    // Using try catch to prevent the site from not responding when there's a error
    try {
        // Tjekker om der er et id i GET
        if(isset($_GET["EID"])){
            // Får idet fra GET
            $id = $_GET["EID"];
            // Forsørgsel til db om der er et arrangement med id'et
            $sql = "SELECT * FROM events WHERE EID = $id";
            $res = $db_con->query($sql); // Executes the query
            $event = $res->fetch_assoc(); // Putter det første arrangement ind i event
        } else{
            // Redirect til forsiden hvis der ikke er et id
            header("Location: " . $siteroot . "index.php");
            exit();
        }
    } catch (\Throwable $th) {
        echo $th;
    }
?>


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <meta http-equiv="x-ua-compatible" content="ie=edge">
    <link rel="stylesheet" href="<?=$siteroot?>css/bootstrap.min.css">
    <link rel="stylesheet" href="<?=$siteroot?>css/style.css" type="text/css">
    <meta name="description" content="Starup UIF arrangements kalender. Opret nye arrangementer - tilmeld dig arrangementer. Et godt sted at starte et aktivt og interessant fritidsliv.">
    <title>Starup UIF arrangementer</title>
</head>

<body>

    <?php include_once "include/navbar.php"?>

    <header class="eventheader mt-5">
        <img src="<?=$siteroot?>img/<?=($event["EImage"])?>" class="img-fluid mt-5">
    </header>
    

    <main class="container mb-5">
        <?php 
        // Udskriver fejlene i et pre tag til at kunne
        // have en god formertering for alle fejl
        if(strlen($message) > 0){
            ?>
            <pre class="text-danger"><?=$message?></pre>
            <?php
        }
        ?>
        <section class="mt-5 card">
            <h1 class="pt-5 pb-5 card-header"><?=($event["EName"])?></h1>
            <form method="POST">
            <article class="card-body gap-3 event-info <?=isset($_POST["editpost"]) ? "event-edit" : ""?>">
                <?php 
                    if(!isset($_POST["editpost"])){
                        // Hvis man ikke har trykket på edit
                        ?>
                        <div class="row">
                            <p class="col-3">Kategori</p>
                            <p class="col"><?=$event["ECategory"]?></p>
                        </div>
                        <div class="row">
                            <p class="col-3">Beskrivelse</p>
                            <p class="col"><?=$event["EDescription"]?></p>
                        </div>
                        <div class="row">
                            <p class="col-3">Dato</p>
                            <p class="col"><?=date("d-m-Y", strtotime($event['EDate']))?></p>
                        </div>
                        <div class="row">
                            <p class="col-3">Start</p>
                            <p class="col"><?=$event["EStartTime"]?></p>
                        </div>

                        <div class='row'>
                            <p class='col-3'>Slut</p>
                            <p class='col'><?=$event["EEndTime"]?></p>
                        </div>

                        <div class="row">
                            <p class="col-3">Sted</p>
                            <p class="col"><?=$event["EPlace"]?></p>
                        </div>
                        <div class="row">
                            <p class="col-3">Pris</p>
                            <p class="col"><?=$event["EPrice"]?>,- kr.</p>
                        </div>
                        <div class='row'>
                            <p class='col-3'>Kontaktperson</p>
                            <p class='col'><?=$event["EContactName"]?></p>
                        </div>
                        <div class='row'>
                            <p class='col-3'>Kontakt telefonnr.</p>
                            <p class='col'><?=$event["EContactPhone"]?></p>
                        </div>
                        <?php
                    } else{
                        // Når man er igang med at redigere
                        ?>
                        <div class="d-flex flex-column flex-md-row">
                            <p class="col-3">Kategori</p>
                            <input class="col-8 my-1" type="text" name="ECategory" id="ECategory" value="<?=$event["ECategory"]?>">
                        </div>
                        <div class="d-flex flex-column flex-md-row">
                            <p class="col-3">Beskrivelse</p>
                            <textarea class="col-8 my-1" style="resize: none;" name="EDescription" id="EDescription" rows="5"><?=$event["EDescription"]?></textarea>
                        </div>
                        <div class="d-flex flex-column flex-md-row">
                            <p class="col-3">Dato</p>
                            <input class="col-4 my-1" type="date" value="<?=$event['EDate']?>" name="EDate" min="2023-01-01" class="col">
                        </div>
                        <div class="d-flex flex-column flex-md-row">
                            <p class="col-3">Start</p>
                            <input class="col-4 my-1" type="time" value="<?=$event['EStartTime']?>" name="EStartTime" id="EStartTime">
                        </div>

                        <div class='d-flex flex-column flex-md-row'>
                            <p class='col-3'>Slut</p>
                            <input class="col-4 my-1" type="time" value="<?=$event['EEndTime']?>" name="EEndTime" id="EEndTime">
                        </div>

                        <div class="d-flex flex-column flex-md-row">
                            <p class="col-3">Sted</p>
                            <input class="col-8 my-1" type="text" name="EPlace" id="EPlace" value="<?=$event["EPlace"]?>">
                        </div>
                        <div class="d-flex flex-column flex-md-row">
                            <p class="col-3">Pris</p>
                            <input class="col-4 my-1" type="number" name="EPrice" id="EPrice" value="<?=$event["EPrice"]?>">
                        </div>
                        <div class='d-flex flex-column flex-md-row'>
                            <p class='col-3'>Kontaktperson</p>
                            <input class="col-8 my-1" type="text" name="EContactName" id="EContactName" value="<?=$event["EContactName"]?>">
                        </div>
                        <div class='d-flex flex-column flex-md-row'>
                            <p class='col-3'>Kontakt telefonnr.</p>
                            <input class="col-4 my-1" type="text" name="EContactPhone" id="EContactPhone" value="<?=$event["EContactPhone"]?>">
                        </div>
                        <?php
                    }
                ?>
                
                
            </article>
            <article class="card-footer event-footer">
                <div class="d-flex flex-column flex-md-row">
                    <p class="col-3">Event oprettet af</p>
                    <p class="col-4"><?=($event["ECreatedBy"])?></p>
                    <p class="col-5 d-flex gap-2 flex-lg-row flex-column">
                        <?php 
                            if(isset($_POST["editpost"])){
                                // Hvis man er igang med at redigere
                                ?>
                                    <input type='submit' name='savepost' class='btn btn-success' value='Gem ændringer'>
                                    <input type='submit' name='cancelpost' class='btn btn-danger' value='Fortryd ændringer'>
                                <?php
                            } else if(isset($_SESSION["mail"])){
                                // Hvis man ikke er hved at redigere og man er logget ind
                                ?>
                                    <input type='submit' name='editpost' class='btn btn-warning' value='Redigér arrangement'>
                                    <input type='submit' name='deletepost' class='btn btn-danger' value='Slet arrangement'>
                                <?php
                            }
                        ?>
                        
                    </p>
                </div>
            </article>
            </form>
        </section>
        <section class="mt-5">
            <article>
                <!-- Tilmeddelse form -->
                <!-- Redirecter til tilmeldtArrangement med id når man submitter -->
                <form method="post" class="event-signup" action="<?=$siteroot?>tilmeldtArrangement.php?EID=<?=$_GET['EID']?>">
                    <label for="tilmeldAntal">Tilmeld antal:</label>
                    <input type="number" name="tilmeldAntal" required>
                    <input type="submit" name="tilmeldArrangement" value="Tilmeld" class="btn btn-success">
                </form>
            </article>
        </section>
    </main>

    <?php include_once "include/footer.php"?>

    
    <script src="<?=$siteroot?>js/bootstrap.bundle.min.js"></script>
</body>
</html>