From c193e4b9ef0e052186427726c5fd53b08186de85 Mon Sep 17 00:00:00 2001
From: vbochet <vbochet@gmail.com>
Date: Thu, 5 May 2016 01:10:21 +0200
Subject: [PATCH] =?UTF-8?q?Modification=20du=20mod=C3=A8le=20et=20du=20con?=
 =?UTF-8?q?tr=C3=B4leur=20de=20jeu=20pour=20g=C3=A9rer=20les=20cas=20de=20?=
 =?UTF-8?q?demande=20d'affichage=20d'un=20jeu=20inexistant=20en=20BDD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 app/controller/JeuController.php |  9 +++++++--
 app/model/Jeu.php                | 11 +++++++++++
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/app/controller/JeuController.php b/app/controller/JeuController.php
index 220d7a0..275b339 100644
--- a/app/controller/JeuController.php
+++ b/app/controller/JeuController.php
@@ -3,8 +3,13 @@
 class JeuController extends Controller {
 	public function display() {
 		$slug = $this->route["params"]["slug"]; //cf. le commentaire dans ProfilController.php
-		$this->view->jeu = Jeu::getFromSlug($slug);
-		$this->view->display();
+		if(in_array($slug, Jeu::getSlugList())) { // si le nom du jeu cherché est dans notre BDD, on peut l'afficher
+			$this->view->jeu = Jeu::getFromSlug($slug);
+			$this->view->display();
+		}
+		else {
+			header('Location:'.BASE_URL.'/404');
+		}
 	}
 
 	public function displayListe() {
diff --git a/app/model/Jeu.php b/app/model/Jeu.php
index 4590ba4..d16773f 100644
--- a/app/model/Jeu.php
+++ b/app/model/Jeu.php
@@ -21,6 +21,17 @@ class Jeu extends Model {
 
    }
 
+   public static function getSlugList() {
+      $db = Database::getInstance();
+      $sql = "SELECT slug FROM R_jeu";
+      $stmt = $db->query($sql);
+	  $return = array();
+	  while($elt = $stmt->fetch()) {
+		  array_push($return, $elt['slug']);
+	  }
+      return $return;
+   }
+
    public static function checkExists($slug_jeu) { // méthode permettant de vérifier si un jeu existe dans la BDD
       $db = Database::getInstance(); // on récupère la connexion à la BDD
       $sql = "SELECT * FROM R_jeu WHERE slug = :slug";
-- 
GitLab