Routeur.php 3.62 KB
Newer Older
etienne912's avatar
etienne912 committed
1
<?php
Johann BOURNAZEL's avatar
Johann BOURNAZEL committed
2
3
4
require_once PATH_CONTROLEURS . '/ControleurAuthentification.php';
require_once PATH_CONTROLEURS . '/ControleurJeu.php';
require_once PATH_CONTROLEURS . '/ControleurStatistiques.php';
etienne912's avatar
etienne912 committed
5
require_once PATH_MODELES . '/Villes.php';
etienne912's avatar
etienne912 committed
6

etienne912's avatar
update    
etienne912 committed
7
class Routeur {
etienne912's avatar
etienne912 committed
8

Johann BOURNAZEL's avatar
Johann BOURNAZEL committed
9
	private $ControleurAuthentification;
10
	private $ControleurJeu;
Johann BOURNAZEL's avatar
Johann BOURNAZEL committed
11
	private $ControleurStatistiques;
etienne912's avatar
etienne912 committed
12

13
14
15
	/**
	 * Constructor de Routeur.
	 */
etienne912's avatar
update    
etienne912 committed
16
	public function __construct() {
17
18
		$this->ControleurAuthentification = new ControleurAuthentification();
		$this->ControleurStatistiques = new ControleurStatistiques();
etienne912's avatar
etienne912 committed
19
20
	}

21
22
23
	/**
	 * Cette méthode permet de rediriger l'utilisateur selon differente variables
	 */
etienne912's avatar
update    
etienne912 committed
24
25
	public function redirige() {

26
27
		//Si l'utilisateur s'est déjà connecté sur le site
		if (isset($_SESSION['Auth'])) {
28
29
30

			/* ----- Gestion de *****  ----- */

31
32
33
34
35
36
37
38
39
40
41
42
43
44
			if (isset($_GET["replay"])) {
				unset($_SESSION["villes"]);
				unset($_SESSION["villes_old"]);
				header('Location: index.php');
			} else if (isset($_GET["deco"])) {
				session_destroy();
				header('Location: index.php');
			} else if (isset($_GET["newGame"])) {
				unset($_SESSION["villes"]);
				unset($_SESSION["villes_old"]);
				$_SESSION["etatDernierePartie"] = "abandonne";
				header('Location: index.php?statistiques');
			}

45
46
47
48
			/* ----- Gestion du de la sauvegarde du jeu ----- */

			if (isset($_SESSION["villes"])) { // si l'utilisateur a déjà la variable de session
				// on créer le constructeurJeu avec les variables de sessions
49
50
51
52
53
54
55
56
				$this->ControleurJeu = new ControleurJeu(unserialize($_SESSION["villes"]), unserialize($_SESSION["villes_old"]));
			} else {
				$_SESSION["villes"] = serialize(new Villes());
				$_SESSION["villes_old"] = serialize([]);
				$this->ControleurJeu = new ControleurJeu(unserialize($_SESSION["villes"]), unserialize($_SESSION["villes_old"]));
			}


57
58
			/* ----- Gestion des pages ----- */

Johann Bournazel's avatar
Johann Bournazel committed
59
			if (isset($_GET['statistiques'])) {
60
61
62
63
64
				if (isset($_SESSION["etatDernierePartie"])) {
					$this->ControleurStatistiques->afficheStatistiques($_SESSION["etatDernierePartie"]);
				} else {
					$this->ControleurStatistiques->afficheStatistiques(null);
				}
65
66
			}
			else if (isset($_GET["annulerCoup"])) { // si l'utilisateur à selectionné le bouton pour revenir en arrière
67
				$this->ControleurJeu->annulerCoup();
68
69
70
			}
			// si l'utilisateur à lier deux villes
			else if (isset($_GET["actX"]) && isset($_GET["actY"]) && isset($_GET["actLierX"]) && isset($_GET["actLierY"])) {
71
				$this->ControleurJeu->lier($_GET["actX"], $_GET["actY"], $_GET["actLierX"], $_GET["actLierY"]);
72
73
74
			}
			// par default : ouvrir le jeu en recupérant les variables passe en GET
			else {
75
				$this->ControleurJeu->jeu($_GET["actX"], $_GET["actY"], $_GET["actMauvX"], $_GET["actMauvY"]);
Johann BOURNAZEL's avatar
Johann BOURNAZEL committed
76
			}
77
78


etienne912's avatar
etienne912 committed
79
		} else {
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
			if (isset($_POST['pseudoConnexion']) && isset($_POST['motDePasseConnexion'])) {
				if ($this->ControleurAuthentification->verifieIdentifiantsConnexion($_POST['pseudoConnexion'], $_POST['motDePasseConnexion'])) {
					header('Location: index.php');
				} else {
					$this->ControleurAuthentification->mauvaisIdentifiantsConnexion();
				}
			} else {
				if (isset($_POST['pseudoInscription']) && isset($_POST['motDePasseInscription'])) {
					if ($this->ControleurAuthentification->verifieIdentifiantsInscription($_POST['pseudoInscription'], $_POST['motDePasseInscription']) == true) {
						header('Location: index.php');
					} else {
						$this->ControleurAuthentification->mauvaisIdentifiantsInscription();
					}
				} else {
					if (!isset($_GET['inscription'])) {
						$this->ControleurAuthentification->demandeAuthentification();
					} else {
						$this->ControleurAuthentification->demandeInscription();
					}
99
				}
100

101
			}
etienne912's avatar
etienne912 committed
102
103
104
105
106
		}
	}
}

?>