diff --git a/app/controller/PartieController.php b/app/controller/PartieController.php index 6bbcf85b0473e0e1a3d7f72fd6fdc35c1fc312a5..98e8ab86a852d8c0e05b6f19b76e405c804cb8dc 100644 --- a/app/controller/PartieController.php +++ b/app/controller/PartieController.php @@ -10,6 +10,10 @@ class PartieController extends Controller { public function displayStep0() { + if(isset($_SESSION['errMsg'])){ + $this->view->errMsg = $_SESSION['errMsg']; + unset($_SESSION['errMsg']); + } $this->view->liste = Jeu::getList(); $this->view->display(); } @@ -19,7 +23,10 @@ class PartieController extends Controller session_start(); if (!isset($_SESSION['jeu_select'])) header("Location:../add_partie"); - + if(isset($_SESSION['errMsg'])){ + $this->view->errMsg = $_SESSION['errMsg']; + unset($_SESSION['errMsg']); + } $this->view->jeuactuel = $_SESSION['jeu_select']; $this->view->listej = Profil::getList(); $this->view->display(); @@ -32,7 +39,10 @@ class PartieController extends Controller header("Location:../add_partie"); if (!isset($_SESSION['joueurs_select'])) header("Location:../add_partie/step1"); - + if(isset($_SESSION['errMsg'])){ + $this->view->errMsg = $_SESSION['errMsg']; + unset($_SESSION['errMsg']); + } $this->view->jeuactuel = $_SESSION['jeu_select']; $this->view->listejactuel = $_SESSION['joueurs_select']; @@ -44,7 +54,10 @@ class PartieController extends Controller session_start(); if (!isset($_SESSION['jeu_select']) || !isset($_SESSION['equipes'])) header("Location:../add_partie"); - + if(isset($_SESSION['errMsg'])){ + $this->view->errMsg = $_SESSION['errMsg']; + unset($_SESSION['errMsg']); + } $this->view->jeuactuel = $_SESSION['jeu_select']; $this->view->listej = Profil::getList(); $this->view->equipes = $_SESSION['equipes']; @@ -58,7 +71,10 @@ class PartieController extends Controller header("Location:../add_partie"); if (!isset($_SESSION['equipes'])) header("Location:../add_partie/stepe1"); - + if(isset($_SESSION['errMsg'])){ + $this->view->errMsg = $_SESSION['errMsg']; + unset($_SESSION['errMsg']); + } $this->view->jeuactuel = $_SESSION['jeu_select']; $this->view->equipes = $_SESSION['equipes']; @@ -70,18 +86,41 @@ class PartieController extends Controller $this->view->display(); } + private static function error($errstr, $step){ + session_start(); + $_SESSION['errMsg'] = $errstr; + if($step == "step0"){ + header("Location:../add_partie"); + } + else if($step == "step1"){ + header("Location:step1"); + } + else if($step == "step2"){ + header("Location:step2"); + } + else if($step == "stepe1"){ + header("Location:stepe1"); + } + else if($step == "stepe2"){ + header("Location:stepe2"); + } + else{ + header("Location:../add_partie"); + } + } + public static function verifyStep0() { if (!isset($_POST['jeu'])) { //appeler une fonction d'erreur - echo "<h1>Erreur : variables absentes</h1>"; + self::error("<h1>Erreur : variables absentes</h1>", "step0"); die(); } $jeu = $_POST['jeu']; if (!Jeu::checkExistsNom($jeu)) { - echo "<h1>Erreur : le jeu entré est introuvable dans la BD.</h1>"; + self::error("<h1>Erreur : le jeu entré est introuvable dans la BD.</h1>", "step0"); die(); } @@ -100,17 +139,26 @@ class PartieController extends Controller session_start(); if (!isset($_SESSION['jeu_select'])) header("Location:../add_partie"); + + $jeu = $_SESSION['jeu_select']; + if (!isset($_POST["joueur"])) { - echo "<h1>Erreur : pas de joueur entré.</h1>"; + 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(); } - $jeu = $_SESSION['jeu_select']; + $joueur = $_POST["joueur"]; if (Profil::checkExists($joueur)) { $joueur_objet = Profil::getFromSlug($joueur); } else { - echo "<h1>Erreur : le joueur est introuvable dans la base de données.</h1>"; + if ($jeu->type == 'equipes') + self::error("<h1>Erreur : le joueur est introuvable dans la base de données.</h1>", "stepe1"); + else + self::error("<h1>Erreur : le joueur est introuvable dans la base de données.</h1>", "step1"); die(); } @@ -118,7 +166,7 @@ class PartieController extends Controller $ke = $_POST['equipejadd']; foreach ($_SESSION['equipes'] as $equipe) { if (in_array($joueur_objet, $equipe)) { - echo "<h1>Erreur : le joueur a déjà été inscrit pour cette partie.</h1>"; + self::error("<h1>Erreur : le joueur a déjà été inscrit pour cette partie.</h1>", "stepe1"); die(); } } @@ -127,17 +175,15 @@ class PartieController extends Controller } else { if (!isset($_SESSION['joueurs_select'])) { $_SESSION['joueurs_select'] = array($joueur_objet); - echo "<h1>L'ajout s'est bien passé.</h1>"; header("Location:step1"); } if (!in_array($joueur_objet, $_SESSION['joueurs_select'])) array_push($_SESSION['joueurs_select'], $joueur_objet); else { - echo "<h1>Erreur : le joueur a déjà été inscrit pour cette partie.</h1>"; + self::error("<h1>Erreur : le joueur a déjà été inscrit pour cette partie.</h1>", "step1"); die(); } - echo "<h1>L'ajout s'est bien passé.</h1>"; header("Location:step1"); } } @@ -177,7 +223,10 @@ class PartieController extends Controller } if (!isset($_POST['joueurdel'])) { - echo "<h1>Erreur : variables manquantes.</h1>"; + if ($_SESSION['jeu_select']->type == 'equipes') + self::error("<h1>Erreur : variables manquantes.</h1>", "stepe1"); + else + self::error("<h1>Erreur : variables manquantes.</h1>", "step1"); die(); } @@ -206,12 +255,12 @@ class PartieController extends Controller if (!isset($_SESSION['equipes'])) header("Location:stepe1"); if (count($_SESSION['equipes']) <= 1) { - echo "<h1>Erreur : vous ne pouvez pas supprimer la seule équipe restante.</h1>"; + self::error("<h1>Erreur : vous ne pouvez pas supprimer la seule équipe restante.</h1>", "stepe1"); die(); } if (!isset($_POST['equipe'])) { - echo "<h1>Erreur : variables manquantes.</h1>"; + self::error("<h1>Erreur : variables manquantes.</h1>", "stepe1"); die(); } @@ -229,7 +278,7 @@ class PartieController extends Controller if (!isset($_SESSION['jeu_select'])) header("Location:../add_partie"); if (count($_SESSION['equipes']) == $_SESSION['jeu_select']->max_equipes) { - echo "<h1>Erreur : vous ne pouvez pas créer d'équipe supplémentaire.</h1>"; + self::error("<h1>Erreur : vous ne pouvez pas créer d'équipe supplémentaire.</h1>", "stepe1"); die(); } @@ -248,24 +297,24 @@ class PartieController extends Controller header("Location:stepe1"); $equipes = $_SESSION['equipes']; if (count($equipes) < $jeu_actuel->min_equipes) { - echo "<h1>Erreur : il n'y a pas assez d'équipes.</h1>"; + self::error("<h1>Erreur : il n'y a pas assez d'équipes.</h1>", "stepe1"); die(); } if (count($equipes) > $jeu_actuel->max_equipes) { - echo "<h1>Erreur : il y a trop d'équipes.</h1>"; + self::error("<h1>Erreur : il y a trop d'équipes.</h1>", "stepe1"); die(); } foreach ($equipes as $ke => $e) { if (count($e) < $jeu_actuel->min_joueurs) { $ke = $ke + 1; - echo "<h1>Erreur : il n'y a pas assez de joueurs dans l'équipe $ke.</h1>"; + self::error("<h1>Erreur : il n'y a pas assez de joueurs dans l'équipe $ke.</h1>", "stepe1"); die(); } if (!is_null($jeu_actuel->max_joueurs)) { if (count($e) > $jeu_actuel->max_joueurs) { $ke = $ke + 1; - echo "<h1>Erreur : il y a trop de joueurs dans l'équipe $ke.</h1>"; + self::error("<h1>Erreur : il y a trop de joueurs dans l'équipe $ke.</h1>", "stepe1"); die(); } } @@ -277,11 +326,11 @@ class PartieController extends Controller header("Location:step1"); $joueurs = $_SESSION['joueurs_select']; if (count($joueurs) < $jeu_actuel->min_joueurs) { - echo "<h1>Erreur : il n'y a pas assez de joueurs.</h1>"; + self::error("<h1>Erreur : il n'y a pas assez de joueurs.</h1>", "step1"); die(); } if (count($joueurs) > $jeu_actuel->max_joueurs) { - echo "<h1>Erreur : il y a trop de joueurs.</h1>"; + self::error("<h1>Erreur : il y a trop de joueurs.</h1>", "step1"); die(); } header('Location:step2'); @@ -295,7 +344,7 @@ class PartieController extends Controller { session_start(); if (!isset($_SESSION['jeu_select'])) - header("Location:../add_partie"); + self::error("<h1>Erreur : le jeu doit être renseigné.</h1>", "step0"); $jeu = $_SESSION['jeu_select']; if ($jeu->type == 'equipes') { @@ -307,8 +356,10 @@ class PartieController extends Controller } if (!isset($_POST['scores'])) { - //appeler une fonction d'erreur - echo "<h1>Erreur : variables absentes</h1>"; + if ($jeu->type == 'equipes') + self::error("<h1>Erreur : variables absentes</h1>", "stepe2"); + else + self::error("<h1>Erreur : variables absentes</h1>", "step2"); die(); } @@ -316,7 +367,10 @@ class PartieController extends Controller $scores = $_POST["scores"]; foreach ($scores as $s) { if (!is_numeric($s)) { - echo "<h1>Erreur : les scores doivent être des nombres.</h1>"; + if ($jeu->type == 'equipes') + self::error("<h1>Erreur : les scores doivent être des nombres.</h1>", "stepe2"); + else + self::error("<h1>Erreur : les scores doivent être des nombres.</h1>", "step2"); die(); } } @@ -325,8 +379,7 @@ class PartieController extends Controller $ns = count($scores); $nj = count($equipes); if ($ns != $nj) { - //appeler une fonction d'erreur - echo "<h1>Erreur : scores et joueurs incohérents</h1>"; + self::error("<h1>Erreur : scores et joueurs incohérents</h1>", "stepe2"); die(); } @@ -338,11 +391,11 @@ class PartieController extends Controller } switch ($pb) { case 2: - echo "<h1>Erreur de connexion à la BD.</h1>"; + self::error("<h1>Erreur de connexion à la BD.</h1>", "stepe2"); die(); break; default: - echo "<h1>Erreur non gérée.</h1>"; + self::error("<h1>Erreur non gérée.</h1>", "stepe2"); die(); break; } @@ -351,24 +404,23 @@ class PartieController extends Controller $ns = count($scores); $nj = count($joueurs); if ($ns != $nj) { - //appeler une fonction d'erreur - print_r($scores); - echo "<h1>Erreur : scores et joueurs incohérents</h1>"; + self::error("<h1>Erreur : scores et joueurs incohérents</h1>", "step2"); 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"); header('Location:valid'); // Redirection vers la page OK } switch ($pb) { case 2: - echo "<h1>Erreur de connexion à la BD.</h1>"; + self::error("<h1>Erreur de connexion à la BD.</h1>", "step2"); die(); break; default: - echo "<h1>Erreur non gérée.</h1>"; + self::error("<h1>Erreur non gérée.</h1>", "step2"); die(); break; } diff --git a/app/view/Partie/displayStep0.html b/app/view/Partie/displayStep0.html index 8d5b6d4ba4fe77296da1aaeed1aa9b838a213f44..593248e4b8b8dfcfd47eae688fe34ccd7ead1fc3 100644 --- a/app/view/Partie/displayStep0.html +++ b/app/view/Partie/displayStep0.html @@ -8,7 +8,9 @@ $page_title = "Formulaire d'ajout de partie"; include(ROOT."/app/view/Includes/header.include.html"); ?> - +<?php if (!is_null($this->errMsg)){ ?> +<article class="msg-erreur"><?php echo $this->errMsg;?></article> +<?php } ?> <article> <h2>Formulaire d'ajout de partie</h2> <h3>Sélection d'un jeu</h3> diff --git a/app/view/Partie/displayStep1.html b/app/view/Partie/displayStep1.html index 75c609ac44fd0c27e5d05821c5f13be67d4b08c3..bc842ccfc84eb0ef4362279db72185ccbd1d5080 100644 --- a/app/view/Partie/displayStep1.html +++ b/app/view/Partie/displayStep1.html @@ -3,6 +3,9 @@ include(ROOT."/app/view/Includes/header.include.html"); ?> <?php $jeuactuel = $this->jeuactuel ?> +<?php if (!is_null($this->errMsg)){ ?> +<article class="msg-erreur"><?php echo $this->errMsg;?></article> +<?php } ?> <article> <h2>Formulaire d'ajout de partie</h2> <h3>Sélection des joueurs</h3> diff --git a/app/view/Partie/displayStep2.html b/app/view/Partie/displayStep2.html index 287c7b32b5e1e1a944cb2a7d0ca6acafc986c868..83f9e07cdf6d5b2297d5815754c338f4581bcd7a 100644 --- a/app/view/Partie/displayStep2.html +++ b/app/view/Partie/displayStep2.html @@ -3,6 +3,9 @@ include(ROOT."/app/view/Includes/header.include.html"); ?> <?php $jeuactuel = $this->jeuactuel ?> +<?php if (!is_null($this->errMsg)){ ?> +<article class="msg-erreur"><?php echo $this->errMsg;?></article> +<?php } ?> <article> <h2>Formulaire d'ajout de partie</h2> <h3>Entrée des scores</h3> diff --git a/app/view/Partie/displayStepe1.html b/app/view/Partie/displayStepe1.html index 07be415931d2e33e621d61ad1e96ad14a8276845..eebe71368defbd3f0a236fb044d5dd1ac0db08f8 100644 --- a/app/view/Partie/displayStepe1.html +++ b/app/view/Partie/displayStepe1.html @@ -3,6 +3,9 @@ include(ROOT."/app/view/Includes/header.include.html"); ?> <?php $jeuactuel = $this->jeuactuel ?> +<?php if (!is_null($this->errMsg)){ ?> +<article class="msg-erreur"><?php echo $this->errMsg;?></article> +<?php } ?> <article> <h2>Formulaire d'ajout de partie</h2> <h3>Sélection des joueurs</h3> diff --git a/app/view/Partie/displayStepe2.html b/app/view/Partie/displayStepe2.html index 2f9289438fec9e202760f836e28d5897c99e460d..ecf8b2a6d88efa9ee1c5fa265a6a67bd179f1686 100644 --- a/app/view/Partie/displayStepe2.html +++ b/app/view/Partie/displayStepe2.html @@ -3,6 +3,9 @@ include(ROOT."/app/view/Includes/header.include.html"); ?> <?php $jeuactuel = $this->jeuactuel ?> +<?php if (!is_null($this->errMsg)){ ?> +<article class="msg-erreur"><?php echo $this->errMsg;?></article> +<?php } ?> <article> <h2>Formulaire d'ajout de partie</h2> <h3>Entrée des scores</h3>