<?php
require_once '../../classes/dao.php';


if (isset($_GET['function'])) {
    if ($_GET['function'] == "get_scores")
        get_scores();
    elseif ($_GET['function'] == "get_map_info")
        get_map_info();
    elseif ($_GET['function'] == "get_activities_of_day")
        get_activities_of_day();
    elseif ($_GET['function'] == "get_enigma_code")
        get_enigma_code();
    elseif ($_GET['function'] == "get_plaquette_code")
        get_plaquette_code();
    elseif ($_GET['function'] == "get_map_selectors")
        get_map_selectors();
} else
    show_error();

function get_map_selectors() {
    header('Content-Type: application/json');
    $dao = new Dao();
    echo json_encode($dao->get_map_selectors());
}

function get_scores() {
    if (isset($_GET['team'])) {
        header('Content-Type: application/json');
        $dao = new Dao();
        echo json_encode($dao->get_score_team($_GET['team']));
    } else {
        show_error();
    }
}

function get_map_info() {
    if (isset($_GET['selector'])) {
        header('Content-Type: application/json');
        $dao = new Dao();
        echo json_encode($dao->get_map_info($_GET['selector']));
    } else {
        show_error();
    }
}


function get_activities_of_day() {
    if (isset($_GET['day'])) {
        header('Content-Type: application/json');
        $dao = new Dao();
        echo json_encode($dao->get_activities_of_day($_GET['day']));
    } else {
        show_error();
    }
}

//
// Section pour les énigmes
//

function isFirstTeamToSolve($score_data) {
    $team   =   $score_data['team'];
    $enigme =   $score_data['text'];
    $dao = new Dao();
    $scorePek = $dao->get_score_team('pek');
    $scoreBoo = $dao->get_score_team('boo');
    $score = array_merge($scorePek, $scoreBoo);

    foreach($score as $value) {

        if ($value['text'] == $enigme)
            return false;
    }
    return true;
}


function get_enigma_code() {
    if (isset($_GET['code'])) {
        $data = array(
            "name" => $_GET['code'],
            "info" => null,
        );

        $team = $_GET['team'];
        $time = new DateTime();
        $date = $time->getTimestamp();

        $score_data = array(
            "text" => null,
            "points" => 0,
            "team" => $team,
        );


        switch ($_GET['code']) {
            case '501432' :
                $data["name"] = "enigme-1";
                $score_data["text"] = 'Énigme 1';
                $score_data["points"] = 200;

                if($date< 1627221618 ) {
                    $data["info"] = "<h2>Énigme 1</h2>Code trouvé, reviens demain pour avoir la suite ;)";
                } else {
                    $data["info"] = "<h2>Énigme 1</h2>
                        <p>Petit Pionnier Aguerri, dans l'arène, les déplacements des combattants sont tous enregistrés, voici le déplacement d'un combattant d'un district concurrant, à toi de le retrouver ! <br>
                        nord, nord, nord, est, sud-est, sud-ouest, ouest; <br>
                        ouest, sud, est, ouest, sud, est; <br>
                        ouest, sud, est, ouest, sud, est; <br>
                        est, est, est, ouest, sud, sud, sud; <br>
                        nord,nord,nord-est, , sud-est, sud, sud, nord, ouest; <br>
                        </p>";

                }
                if(isFirstTeamToSolve($score_data)) {
                    $dao = new Dao();
                    $dao->add_score($score_data);
                }
                echo json_encode($data, JSON_FORCE_OBJECT);
                break;
                
            case 'PEETA' :
                $data["name"] = "enigme-2";
                $score_data["text"] = 'Énigme 2';
                $score_data["points"] = 200;

                if($date< 1628334842 ) {
                    $data["info"] = "<h2>Énigme 2</h2>Code trouvé, reviens à 13h14 pour la suite";
                } else {
                    $data["info"] = "<h2>Énigme 2</h2>Dès l'aube, un oiseau aux sifflements merveilleux fit son apparition sur l'arène de l'INSA";

                }
                if(isFirstTeamToSolve($score_data)) {
                    $dao = new Dao();
                    $dao->add_score($score_data);
                }
                echo json_encode($data, JSON_FORCE_OBJECT);
                break;

            case 'Lucy Gray Baird' :
                $data["name"] = "enigme-3";
                $score_data["text"] = 'Énigme 3';
                $score_data["points"] = 250;

                if($date< 1628353800 ) {
                    $data["info"] = "<h2>Énigme 3</h2><p>Code trouvé</p>";
                } elseif ($date< 1628400600) {
                    $data["info"] = "<h2>Énigme 3</h2><p>Code trouvé ! Voici un petit indice pour la suite</p><img src=\"assets/enigmes/Caesar.jpg\"></img>";
                } else {
                    $data["info"] = "<h2>Énigme 3</h2>
                        <p>Après l'indice, l'énoncé.</p>
                        <!--<p>OaduaxmzgeEzai</p><p>M'hvshuh txh yrxv dlphu od fubswrjudsklh!</p>-->
                        <img src=\"assets/enigmes/Caesar.jpg\"></img>";

                }
                if(isFirstTeamToSolve($score_data)) {
                    $dao = new Dao();
                    $dao->add_score($score_data);
                }
                echo json_encode($data, JSON_FORCE_OBJECT);
                break;
            case 'CoriolanusSnow' :
                $data["name"] = "enigme-4";
                $score_data["text"] = 'Énigme 4';
                $score_data["points"] = 250;
                
                if($date< 1628460000 ) {
                    $data["info"] = "<h2>Énigme 4</h2>
                        Code trouvé !<!--Parcours du site en cours...--> ";
                } else {
                    $data["info"] = "<h2>Énigme 4</h2>
                        Code trouvé ! Parcours du site en cours...
                        <!--Et là... une grande allée avec plein d'énigmes, qu'on appellera la grande allée avec plein d'énigmes !-->
                        <p>Voilà plusieurs jours que tu parcours les énigmes, augmentons un peu la difficulté...</p>";
                    

                }
                if(isFirstTeamToSolve($score_data)) {
                    $dao = new Dao();
                    $dao->add_score($score_data);
                }
                echo json_encode($data, JSON_FORCE_OBJECT);
                break;     
            case 'PANEM' :
                $data["name"] = "enigme-5";
                $score_data["text"] = 'Énigme 5';
                $score_data["points"] = 50;
                
                if($date< 1628524800 ) {
                    $data["info"] = "<h2>Énigme 5</h2>
                        Code trouvé !";
                } else {
                    $data["info"] = "<h2>Énigme 5</h2>
                        <p>N'aurais tu pas oublié quelque chose ?</p>";

                }
                if(isFirstTeamToSolve($score_data)) {
                    $dao = new Dao();
                    $dao->add_score($score_data);
                }
                echo json_encode($data, JSON_FORCE_OBJECT);
                break; 

            case 'Théorème de Gauss' :
                $data["name"] = "enigme-6";
                $score_data["text"] = 'Énigme 6';
                $score_data["points"] = 150;
                
                if($date< 1628535600 ) {
                    $data["info"] = "<h2>Énigme 6</h2>
                        Code trouvé !";
                } else {
                    $data["info"] = "<h2>Énigme 6</h2>
                        <p>Quelle est la somme des lettres des solutions des deux dernières énigmes ? (ASCII)</p>
                        ";

                }
                if(isFirstTeamToSolve($score_data)) {
                    $dao = new Dao();
                    $dao->add_score($score_data);
                }
                echo json_encode($data, JSON_FORCE_OBJECT);
                break;  
             

            case '2237' :
                $data["name"] = "enigme-0";
                $score_data["text"] = 'Énigme 0';
                $score_data["points"] = 100;
                
                if($date< 1628625600 ) {
                    $data["info"] = "<h2>Énigme 0</h2>
                        <p>Bien joué ! Attendez demain pour la suite qui a été minutieusement préparée !</p>
                        ";
                } else {
                    $data["info"] = "<h2>Énigme 0</h2>
                        <p>Je vais vous raconter trois histoires, voici les titres:</p>
                        <p> - Deux arbres se retrouvèrent l'un avec l'autre près des sept nains.</p>
                        <p> - Quatre petits oiseaux apprennent à s'envoler un à un.</p>
                        <p> - L'histoire qui se lisait dans plusieurs sens.</p>";

                

                }
                if(isFirstTeamToSolve($score_data)) {
                    $dao = new Dao();
                    $dao->add_score($score_data);
                }
                echo json_encode($data, JSON_FORCE_OBJECT);
                break; 


            case 'atr challenges' :
                $data["name"] = "enigme-00";
                $score_data["text"] = 'Énigme 00';
                $score_data["points"] = 100;
                
                if($date < 1628625600) {
                    $data["info"] = "<h2>Énigme 00</h2>
                            <p>Qui sera le plus rapide à libérer Paul et Cécile...</p>";
                } else {
                    $data["info"] = "<h2>Énigme 00</h2>
                            <a href=\"assets/enigmes/Livre.pdf\">Paul et Cécile ont fait tomber ce livre avant d'aller au cinéma...</a>";
                    
                }

                if(isFirstTeamToSolve($score_data)) {
                    $dao = new Dao();
                    $dao->add_score($score_data);
                }
                echo json_encode($data, JSON_FORCE_OBJECT);
                break; 

            
            case 'POMMADE' :
                $data["name"] = "enigme-000";
                $score_data["text"] = 'Énigme 00 Intermédiaire';
                $score_data["points"] = 500;
                
                if($date< 1628613000 ) {
                    $data["info"] = "<h2>Énigme 00 Intermédiaire</h2>
                        <p>Bien joué ! Attendez demain pour la suite !</p>";
                } else {
                    $data["info"] = "<h2>Énigme 00 Intermédiaire</h2>
                        <p>Bien joué ! Attendez demain pour la suite !</p>
                    ";

                }
                if(isFirstTeamToSolve($score_data)) {
                    $dao = new Dao();
                    $dao->add_score($score_data);
                }
                echo json_encode($data, JSON_FORCE_OBJECT);
                break; 
            

            default:
                $data["name"] = null;
                $points_data["points"] = 0;

                echo json_encode($data, JSON_FORCE_OBJECT);
                break;
        }

    }
}

function get_plaquette_code() {
    if (isset($_GET['code'])) {
        $data = array(
            "name" => $_GET['code'],
            "info" => null,
        );
        switch ($_GET['code']) {
            case 'onlyfan_420' :
                $data["name"] = "onlyfan";
                $data["info"] = "Go follow sur insta <a href=\"https://www.instagram.com/onlyfan_420/\">@onlyfan_420</a>";
                echo json_encode($data, JSON_FORCE_OBJECT);
                break;

            case 'caché par ici' :
                $data["name"] = "plaquette1";
                $data["info"] = "<a  href=\"assets/pdf/Enigme_plaquette_1.pdf\">Énigme plaquette</a>";
                echo json_encode($data, JSON_FORCE_OBJECT);
                break;
            case 'SURVIVANT' :
                $data["name"] = "plaquette2";
                $data["info"] = "<iframe width=\"560\" height=\"315\" 
                        src=\"https://www.youtube.com/embed/F3hTW9e20d8?autoplay=1\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>
                    <p style=\"white-space:pre;\">@               <span style=\"color:#1c1c1c;\">promo59</span></p>
                    ";
                echo json_encode($data, JSON_FORCE_OBJECT);
                break;
            default:
                $data["name"] = null;
                echo json_encode($data, JSON_FORCE_OBJECT);

                break;
        }

    }
}


function show_error() {
    echo "Échec : ";
    var_dump($_GET);
}