<?php
include "script.php";

$refresh_rate = 15; //refresh rate en seconde (en gros on refresh la page toute les 15sec)

if($user['perm'] < 1) {
    header('Location: deco.php');
}




// ajout d'une epreuve
if(isset($_POST['add_epreuve'])){

    //$upload_state prend plusieurs valeurs :
    // 1 si tout est valide et l'image n'existe pas déjà
    // 0 si une verification a invalidé le fichier
    // 2 si l'image existe déjà mais l'upload est valide, on va alors utiliser le nom pour la bdd
    $file_name = null;
    if($_FILES["photo"]["name"] !=  ""){
        echo $_FILES["photo"]["name"];
        $EXT_WHITELIST = array("gif","jpg","jpeg","raw","png","svg");

        /* gestion des uploads d'images indices */
        $target_dir = "../assets/img/com_ville/";
        $target_file = $target_dir . basename($_FILES["photo"]["name"]);
        $upload_state = 1;
        $imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
        // Check if image file is a actual image or fake image
        $check = $_FILES["photo"]["size"] > pow(2,2);;
        if($check !== false) {
            $upload_state = 1;
        } else {
            $upload_state = 0;
        }
    
        if (file_exists($target_file)) {
            $upload_state = 2;
        }
    
        // limite de taille
        if ($_FILES["photo"]["size"] > pow(2,40)) {
            $upload_state = 0;
        }
    
        // check le type de fichier
        if (!in_array($imageFileType,$EXT_WHITELIST)){
            $upload_state = 0;
        }

    
        $file_name = "";
        switch($upload_state){
            case 1:
                move_uploaded_file($_FILES["photo"]["tmp_name"],$target_file);
                $file_name = htmlspecialchars($_FILES["photo"]["name"]);
                break;
    
            case 2:
                $file_name = htmlspecialchars($_FILES["photo"]["name"]);
                break;
            case 0:
                ?> <script>
                    alert("L'image envoyée n'a pas passées tout les tests de vérifications.");
                    </script>
                <?php
                break;
        }
    }
    
    $_POST['est_finale'] = $_POST['est_finale'] == 'on' ? 1 : 0;
    
    $req = $db->prepare("INSERT INTO ville_epreuve(indice,reponse,photo,id_equipe,est_finale,ordre,est_trouvee) VALUES(?,?,?,?,?,?,?)");
    $req->execute(array(htmlspecialchars($_POST['indice']),
    htmlspecialchars($_POST['reponse']),
    $file_name,
    (int)htmlspecialchars($_POST['id_equipe']),
    (int)htmlspecialchars($_POST['est_finale']),
    (int)htmlspecialchars($_POST['ordre']),
    0

));





}

//ajout d'une equipe
if(isset($_POST['add_equipe'])){
    $req = $db->prepare("INSERT INTO ville_equipe(nom,temps) VALUES(?,?)");
    $req->execute(array(htmlspecialchars($_POST['nom']),NULL));
}

// suppression d'une équipe
if(isset($_POST['del_equipe'])){
    $req = $db->prepare("DELETE FROM ville_equipe WHERE id=?");
    $req->execute(array(htmlspecialchars((int)$_POST['id_ekip'])));
}

//suppression d'une épreuve

if(isset($_POST['del_epreuve'])){
    $req = $db->prepare("DELETE FROM ville_epreuve WHERE id=?");
    $req->execute(array((int)$_POST['id_epreuve']));
}



// reinitialiser la progression d'une equipe,
// utile si l'on fait plusieurs sessions
if(isset($_POST['reset_ekip'])){
    $req = $db->prepare("UPDATE ville_epreuve SET est_trouvee=0 WHERE id_equipe=?");
    $req->execute(array(htmlspecialchars((int)$_POST['id_equipe'])));
    $req = $db->prepare("UPDATE ville_equipe SET temps=NULL WHERE id=?");
    $req->execute(array(htmlspecialchars((int)$_POST['id_equipe'])));
}

if(isset($_POST['copier_chemin'])){
    $sql = "INSERT INTO ville_epreuve (id_equipe, indice, reponse, photo, est_finale, ordre)
    SELECT ?, indice, reponse, photo, est_finale, ordre
    FROM ville_epreuve
    WHERE id_equipe = ?";

    $stmt = $db->prepare($sql);
    $stmt->execute([htmlspecialchars((int)$_POST["id_equipe_dst"]), htmlspecialchars((int)$_POST["id_equipe_og"])]);


}




?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Admin / Com'ville</title>
    <link rel="stylesheet" type="text/css" href="com_ville.css" />
</head>
<body>
    <main>

    <form method="POST" enctype="multipart/form-data">
        <input type="text" name="indice" placeholder="indice" class="input_inline">
        <input type="text" name="reponse" placeholder="réponse" class="input_inline">
        <input type="file" name="photo" placeholder="image.png" id="photo" class="input_inline">
        <input type="number" name="id_equipe" id="id_equipe" class="input_inline" value="<?= isset($_GET["ekip"]) ? (int)$_GET["ekip"]:1;?>">
        <label for="id_equipe">id de l'équipe</label>
        <br>
        <input type="radio" name="est_finale" id="est_finale" class="input_inline">
        <label for="est_finale">ultime épreuve</label>
        <input type="number" name="ordre" id="ordre" class="input_inline">
        <label for="ordre">ordre de l'épreuve</label>
        <input type="submit" name="add_epreuve" value="Ajouter l'épreuve" class="submit_inline">
    </form>

    <hr>
    <form method="POST">
        <input type="text" name="nom" placeholder="nom de l'équipe" class="input_inline">
        <input type="submit" name="add_equipe" value="Ajouter l'équipe" class="submit_inline">
    </form>

    <hr>
    <form method="POST">
        <input type="number" name="id_equipe" id="id_equipe" class="input_inline" value="<?= isset($_GET["ekip"]) ? (int)$_GET["ekip"]:1;?>">
        <input type="submit" name="reset_ekip" value="Reinitialiser la progression de l'équipe" class="submit_inline">
    </form>

    <hr>
    <h4>Copier le chemin d'une équipe pour une autre équipe</h4>
    <form method="POST">
        <input type="number" name="id_equipe_og" id="id_equipe_og" class="input_inline" value="<?= isset($_GET["ekip"]) ? (int)$_GET["ekip"]:1;?>">
        <label for="id_equipe_og">Equipe d'origine</label>
        <input type="number" name="id_equipe_dst" id="id_equipe_dst" class="input_inline" value="0">
        <label for="id_equipe_dst">Equipe de destination</label>      
        <input type="submit" name="copier_chemin" value="Copier le chemin" class="submit_inline">
    </form>


    <h4>Equipes déjà enregistrées :</h4>
    <table class="acces">
        <?php
            $req = $db->query('SELECT * FROM ville_equipe');
            while($equipe = $req->fetch()) {
                
                echo "<th><a href=\"?ekip=".$equipe['id']."\">".htmlspecialchars($equipe['nom'])."(".$equipe['id'].")"."<a></th><wbr>";
            }
            
        ?>
    </table>
    <hr>
    <?php
        $ekip = isset($_GET["ekip"]) ? (int)$_GET["ekip"]:1;
        $req = $db->prepare('SELECT * FROM ville_epreuve WHERE id_equipe=?');
        $req->execute(array($ekip));
    ?>
    <form method="POST">
        <input type="number" name="ekip" id="id_equipe" placeholder="numéro de l'équipe" class="input_inline">
        <label for="ekip">Numéro de l'équipe dont tu veux voir le tableau</label>
        <input type="submit" name="aff_equipe" value="Afficher le tableau de l'équipe" class="submit_inline">
    </form>

            <table class="acces">
                <tr>
                    <th width="10%">ID (db)</th>
                    <th width="70%">Indice</th>
                    <th width="10%">Reponse</th>
                    <th width="10%">Photos</th>
                    <th width="10%">Id_equipe</th>
                    <th width="10%">Est finale</th>
                    <th width="10%">Ordre</th>
                    <th width="10%">Est trouvée</th>
                    <th width="10%">Action</th>

                </tr>
                <?php



                while($epreuve = $req->fetch()) {
                ?>
                    <tr>
                        <td><?= $epreuve['id'] ?></td>
                        <td><?= $epreuve['indice'] ?></td>
                        <td><?= $epreuve['reponse'] ?></td>
                        <td><?php if(isset($epreuve['photo'])) { ?><img src="../assets/img/com_ville/<?= $epreuve['photo'] ?>" style="height: 100px;"><?php } else { echo "<font color='red'>no photos</font>"; }?></td>
                        <td><?= $epreuve['id_equipe'] ?></td>
                        <td><?= $epreuve['est_finale'] == 0 ? "non":"oui" ?></td>
                        <td><?= $epreuve['ordre'] ?></td>
                        <td><?= $epreuve['est_trouvee'] == 0 ? "non":"oui" ?></td>
                        <td>
                            <form method="POST">
                                <input type="text" name="del_epreuve" value="del_epreuve" hidden>
                                <input type="number" value="<?=$epreuve['id']?>" name="id_epreuve" hidden>
                                <input type="submit" value="supprimer">
                            </form>
                        </td>

                    </tr>
                <?php } ?>
            </table>

        <?php  ?>
    </main>
</body>
</html>