diff --git a/app/controller/PartieController.php b/app/controller/PartieController.php index 98e8ab86a852d8c0e05b6f19b76e405c804cb8dc..bcfee9d31d7c5fcd0612ee221356aaeafe1c0e2d 100644 --- a/app/controller/PartieController.php +++ b/app/controller/PartieController.php @@ -10,6 +10,7 @@ class PartieController extends Controller { public function displayStep0() { + session_start(); if(isset($_SESSION['errMsg'])){ $this->view->errMsg = $_SESSION['errMsg']; unset($_SESSION['errMsg']); @@ -21,8 +22,10 @@ class PartieController extends Controller public function displayStep1() { session_start(); - if (!isset($_SESSION['jeu_select'])) + if (!isset($_SESSION['jeu_select'])) { header("Location:../add_partie"); + die(); + } if(isset($_SESSION['errMsg'])){ $this->view->errMsg = $_SESSION['errMsg']; unset($_SESSION['errMsg']); @@ -35,10 +38,14 @@ class PartieController extends Controller public function displayStep2() { session_start(); - if (!isset($_SESSION['jeu_select'])) + if (!isset($_SESSION['jeu_select'])) { header("Location:../add_partie"); - if (!isset($_SESSION['joueurs_select'])) + die(); + } + if (!isset($_SESSION['joueurs_select'])) { header("Location:../add_partie/step1"); + die(); + } if(isset($_SESSION['errMsg'])){ $this->view->errMsg = $_SESSION['errMsg']; unset($_SESSION['errMsg']); @@ -52,8 +59,10 @@ class PartieController extends Controller public function displayStepe1() { session_start(); - if (!isset($_SESSION['jeu_select']) || !isset($_SESSION['equipes'])) + if (!isset($_SESSION['jeu_select']) || !isset($_SESSION['equipes'])) { header("Location:../add_partie"); + die(); + } if(isset($_SESSION['errMsg'])){ $this->view->errMsg = $_SESSION['errMsg']; unset($_SESSION['errMsg']); @@ -67,10 +76,14 @@ class PartieController extends Controller public function displayStepe2() { session_start(); - if (!isset($_SESSION['jeu_select'])) + if (!isset($_SESSION['jeu_select'])) { header("Location:../add_partie"); - if (!isset($_SESSION['equipes'])) + die(); + } + if (!isset($_SESSION['equipes'])) { header("Location:../add_partie/stepe1"); + die(); + } if(isset($_SESSION['errMsg'])){ $this->view->errMsg = $_SESSION['errMsg']; unset($_SESSION['errMsg']); @@ -89,23 +102,29 @@ class PartieController extends Controller private static function error($errstr, $step){ session_start(); $_SESSION['errMsg'] = $errstr; - if($step == "step0"){ + if($step == "step0") { header("Location:../add_partie"); + die(); } - else if($step == "step1"){ + else if($step == "step1") { header("Location:step1"); + die(); } - else if($step == "step2"){ + else if($step == "step2") { header("Location:step2"); + die(); } - else if($step == "stepe1"){ + else if($step == "stepe1") { header("Location:stepe1"); + die(); } - else if($step == "stepe2"){ + else if($step == "stepe2") { header("Location:stepe2"); + die(); } - else{ + else { header("Location:../add_partie"); + die(); } } @@ -115,13 +134,13 @@ class PartieController extends Controller if (!isset($_POST['jeu'])) { //appeler une fonction d'erreur self::error("<h1>Erreur : variables absentes</h1>", "step0"); - die(); + die(); } $jeu = $_POST['jeu']; if (!Jeu::checkExistsNom($jeu)) { self::error("<h1>Erreur : le jeu entré est introuvable dans la BD.</h1>", "step0"); - die(); + die(); } $jeu = Jeu::getFromNom($jeu); @@ -130,36 +149,49 @@ class PartieController extends Controller if ($jeu->type == 'equipes') { $_SESSION['equipes'] = array(array()); header('Location:stepe1'); - } else + die(); + } + else { header('Location:step1'); + die(); + } } public static function addjoueurs1() { session_start(); - if (!isset($_SESSION['jeu_select'])) + if (!isset($_SESSION['jeu_select'])) { header("Location:../add_partie"); + die(); + } $jeu = $_SESSION['jeu_select']; if (!isset($_POST["joueur"])) { - if ($jeu->type == 'equipes') + if ($jeu->type == 'equipes') { self::error("<h1>Erreur : pas de joueur entré.</h1>", "stepe1"); - else - self::error("<h1>Erreur : pas de joueur entré.</h1>", "step1"); - die(); + die(); + } + else { + self::error("<h1>Erreur : pas de joueur entré.</h1>", "step1"); + die(); + } } $joueur = $_POST["joueur"]; if (Profil::checkExists($joueur)) { $joueur_objet = Profil::getFromSlug($joueur); - } else { - if ($jeu->type == 'equipes') + } + else { + if ($jeu->type == 'equipes') { self::error("<h1>Erreur : le joueur est introuvable dans la base de données.</h1>", "stepe1"); - else + die(); + } + else { self::error("<h1>Erreur : le joueur est introuvable dans la base de données.</h1>", "step1"); - die(); + die(); + } } if ($jeu->type == 'equipes') { @@ -167,211 +199,266 @@ class PartieController extends Controller foreach ($_SESSION['equipes'] as $equipe) { if (in_array($joueur_objet, $equipe)) { self::error("<h1>Erreur : le joueur a déjà été inscrit pour cette partie.</h1>", "stepe1"); - die(); + die(); } } array_push($_SESSION['equipes'][$ke], $joueur_objet); header("Location:stepe1"); - } else { + die(); + } + else { if (!isset($_SESSION['joueurs_select'])) { $_SESSION['joueurs_select'] = array($joueur_objet); header("Location:step1"); + die(); } if (!in_array($joueur_objet, $_SESSION['joueurs_select'])) array_push($_SESSION['joueurs_select'], $joueur_objet); else { self::error("<h1>Erreur : le joueur a déjà été inscrit pour cette partie.</h1>", "step1"); - die(); + die(); } header("Location:step1"); + die(); } } public static function clearstep1() { session_start(); - if (!isset($_SESSION['jeu_select'])) + if (!isset($_SESSION['jeu_select'])) { header("Location:../add_partie"); + die(); + } $jeu_actuel = $_SESSION['jeu_select']; if ($jeu_actuel->type == 'equipes') { - if (!isset($_SESSION['equipes'])) + if (!isset($_SESSION['equipes'])) { header("Location:stepe1"); + die(); + } $_SESSION['equipes'] = array(array()); header("Location:stepe1"); - } else { - if (!isset($_SESSION['joueurs_select'])) + die(); + } + else { + if (!isset($_SESSION['joueurs_select'])) { header("Location:step1"); + die(); + } unset($_SESSION['joueurs_select']); header("Location:step1"); + die(); } } public static function deljoueurs1() { session_start(); - if (!isset($_SESSION['jeu_select'])) + if (!isset($_SESSION['jeu_select'])) { header("Location:../add_partie"); + die(); + } if ($_SESSION['jeu_select']->type == 'duels') { - if (!isset($_SESSION['joueurs_select'])) + if (!isset($_SESSION['joueurs_select'])) { header("Location:step1"); + die(); + } } if ($_SESSION['jeu_select']->type == 'equipes') { - if (!isset($_SESSION['equipes'])) + if (!isset($_SESSION['equipes'])) { header("Location:stepe1"); + die(); + } } if (!isset($_POST['joueurdel'])) { - if ($_SESSION['jeu_select']->type == 'equipes') - self::error("<h1>Erreur : variables manquantes.</h1>", "stepe1"); - else + if ($_SESSION['jeu_select']->type == 'equipes') { + self::error("<h1>Erreur : variables manquantes.</h1>", "stepe1"); + die(); + } + else { self::error("<h1>Erreur : variables manquantes.</h1>", "step1"); - die(); + die(); + } } if ($_SESSION['jeu_select']->type == 'equipes') { unset($_SESSION['equipes'][$_POST['equipejdel']][$_POST['joueurdel']]); $equipe_tmp = array(); - foreach ($_SESSION['equipes'][$_POST['equipejdel']] as $j) + foreach ($_SESSION['equipes'][$_POST['equipejdel']] as $j) { array_push($equipe_tmp, $j); + } $_SESSION['equipes'][$_POST['equipejdel']] = $equipe_tmp; header("Location:stepe1"); - } else { + die(); + } + else { unset($_SESSION['joueurs_select'][$_POST['joueurdel']]); $joueurs_tmp = array(); - foreach ($_SESSION['joueurs_select'] as $j) + foreach ($_SESSION['joueurs_select'] as $j) { array_push($joueurs_tmp, $j); + } $_SESSION['joueurs_select'] = $joueurs_tmp; header("Location:step1"); + die(); } } public static function delequipe() { session_start(); - if (!isset($_SESSION['jeu_select'])) + if (!isset($_SESSION['jeu_select'])) { header("Location:../add_partie"); - if (!isset($_SESSION['equipes'])) + die(); + } + if (!isset($_SESSION['equipes'])) { header("Location:stepe1"); + die(); + } if (count($_SESSION['equipes']) <= 1) { self::error("<h1>Erreur : vous ne pouvez pas supprimer la seule équipe restante.</h1>", "stepe1"); - die(); + die(); } if (!isset($_POST['equipe'])) { self::error("<h1>Erreur : variables manquantes.</h1>", "stepe1"); - die(); + die(); } unset($_SESSION['equipes'][$_POST['equipe']]); $equipe_tmp = array(); - foreach ($_SESSION['equipes'] as $e) + foreach ($_SESSION['equipes'] as $e) { array_push($equipe_tmp, $e); + } $_SESSION['equipes'] = $equipe_tmp; header("Location:stepe1"); + die(); } public static function addequipe() { session_start(); - if (!isset($_SESSION['jeu_select'])) + if (!isset($_SESSION['jeu_select'])) { header("Location:../add_partie"); + die(); + } if (count($_SESSION['equipes']) == $_SESSION['jeu_select']->max_equipes) { self::error("<h1>Erreur : vous ne pouvez pas créer d'équipe supplémentaire.</h1>", "stepe1"); - die(); + die(); } array_push($_SESSION['equipes'], array()); header("Location:stepe1"); + die(); } public static function verifyStep1() { session_start(); - if (!isset($_SESSION['jeu_select'])) + if (!isset($_SESSION['jeu_select'])) { header("Location:../add_partie"); + die(); + } $jeu_actuel = $_SESSION['jeu_select']; if ($jeu_actuel->type == 'equipes') { - if (!isset($_SESSION['equipes'])) + if (!isset($_SESSION['equipes'])) { header("Location:stepe1"); + die(); + } $equipes = $_SESSION['equipes']; if (count($equipes) < $jeu_actuel->min_equipes) { self::error("<h1>Erreur : il n'y a pas assez d'équipes.</h1>", "stepe1"); - die(); + die(); } if (count($equipes) > $jeu_actuel->max_equipes) { self::error("<h1>Erreur : il y a trop d'équipes.</h1>", "stepe1"); - die(); + die(); } foreach ($equipes as $ke => $e) { if (count($e) < $jeu_actuel->min_joueurs) { $ke = $ke + 1; self::error("<h1>Erreur : il n'y a pas assez de joueurs dans l'équipe $ke.</h1>", "stepe1"); - die(); + die(); } if (!is_null($jeu_actuel->max_joueurs)) { if (count($e) > $jeu_actuel->max_joueurs) { $ke = $ke + 1; self::error("<h1>Erreur : il y a trop de joueurs dans l'équipe $ke.</h1>", "stepe1"); - die(); + die(); } } } header("Location:stepe2"); - } else { - if (!isset($_SESSION['joueurs_select'])) + die(); + } + else { + if (!isset($_SESSION['joueurs_select'])) { header("Location:step1"); + die(); + } $joueurs = $_SESSION['joueurs_select']; if (count($joueurs) < $jeu_actuel->min_joueurs) { self::error("<h1>Erreur : il n'y a pas assez de joueurs.</h1>", "step1"); - die(); + die(); } if (count($joueurs) > $jeu_actuel->max_joueurs) { self::error("<h1>Erreur : il y a trop de joueurs.</h1>", "step1"); - die(); + die(); } header('Location:step2'); + die(); } - - } public function verifyStep2() { session_start(); - if (!isset($_SESSION['jeu_select'])) + if (!isset($_SESSION['jeu_select'])) { self::error("<h1>Erreur : le jeu doit être renseigné.</h1>", "step0"); + die(); + } $jeu = $_SESSION['jeu_select']; if ($jeu->type == 'equipes') { if (!isset($_SESSION['equipes'])) header("Location:stepe1"); - } else { - if (!isset($_SESSION['joueurs_select'])) + die(); + } + else { + if (!isset($_SESSION['joueurs_select'])) { header("Location:../add_partie/step1"); + die(); + } } if (!isset($_POST['scores'])) { - if ($jeu->type == 'equipes') + if ($jeu->type == 'equipes') { self::error("<h1>Erreur : variables absentes</h1>", "stepe2"); - else + die(); + } + else { self::error("<h1>Erreur : variables absentes</h1>", "step2"); - die(); + die(); + } } $scores = $_POST["scores"]; foreach ($scores as $s) { if (!is_numeric($s)) { - if ($jeu->type == 'equipes') + if ($jeu->type == 'equipes') { self::error("<h1>Erreur : les scores doivent être des nombres.</h1>", "stepe2"); - else + die(); + } + else { self::error("<h1>Erreur : les scores doivent être des nombres.</h1>", "step2"); - die(); + die(); + } } } if ($jeu->type == 'equipes') { @@ -380,7 +467,7 @@ class PartieController extends Controller $nj = count($equipes); if ($ns != $nj) { self::error("<h1>Erreur : scores et joueurs incohérents</h1>", "stepe2"); - die(); + die(); } $pb = Partie::addPartie($equipes, $scores, $jeu); @@ -388,40 +475,44 @@ class PartieController extends Controller unset($_SESSION['equipes']); unset($_SESSION['jeu_select']); header('Location:valid'); // Redirection vers la page OK + die(); } switch ($pb) { case 2: self::error("<h1>Erreur de connexion à la BD.</h1>", "stepe2"); - die(); + die(); break; default: self::error("<h1>Erreur non gérée.</h1>", "stepe2"); - die(); + die(); break; } - } else { + } + else { $joueurs = $_SESSION['joueurs_select']; $ns = count($scores); $nj = count($joueurs); if ($ns != $nj) { self::error("<h1>Erreur : scores et joueurs incohérents</h1>", "step2"); - die(); + die(); } $pb = Partie::addPartie($joueurs, $scores, $jeu); if (!$pb) { unset($_SESSION['jeu_select']); unset($_SESSION['joueurs_select']); - self::error("<h1>Erreur : scores et joueurs incohérents</h1>", "step2"); + //self::error("<h1>DEBUGGING</h1>", "step2"); + //die(); header('Location:valid'); // Redirection vers la page OK + die(); } switch ($pb) { case 2: self::error("<h1>Erreur de connexion à la BD.</h1>", "step2"); - die(); + die(); break; default: self::error("<h1>Erreur non gérée.</h1>", "step2"); - die(); + die(); break; } }