<?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"]) === || !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($regexstr_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>