From 4563dde6ebf9b97cce836339e58aa75f085ac05b Mon Sep 17 00:00:00 2001 From: Table <romain.drouin@ensiie.fr> Date: Sun, 8 May 2016 11:35:57 +0200 Subject: [PATCH] Ajout de la gestion des joueurs --- app/controller/AdminController.php | 17 ++++++- app/kernel/Router.php | 17 +++++++ app/model/Admin.php | 13 ++++++ app/view/Admin/display.html | 2 +- app/view/Admin/displayJoueur.html | 50 +++++++++++++++++++++ app/view/Admin/displaySupprimeJoueurOK.html | 17 +++++++ 6 files changed, 114 insertions(+), 2 deletions(-) create mode 100644 app/view/Admin/displayJoueur.html create mode 100644 app/view/Admin/displaySupprimeJoueurOK.html diff --git a/app/controller/AdminController.php b/app/controller/AdminController.php index 2e06505..bc3d236 100644 --- a/app/controller/AdminController.php +++ b/app/controller/AdminController.php @@ -90,4 +90,19 @@ class AdminController extends Controller { Admin::setModifJeu($slug, $data); header("Location:ok"); } -} \ No newline at end of file + + public function displayJoueur() { + $this->view->joueurs = Profil::getList(); + $this->view->display(); + } + public function supprimeJoueur() { + $slug = $this->route["params"]["slug"]; + Admin::supprJoueur($slug); + unlink(ROOT."/www/images/avatar/".$slug.".jpg"); + header("Location:supprime/ok"); + } + + public function displaySupprimeJoueurOK() { + $this->view->display(); + } +} diff --git a/app/kernel/Router.php b/app/kernel/Router.php index 2973aa3..11b8c00 100644 --- a/app/kernel/Router.php +++ b/app/kernel/Router.php @@ -247,6 +247,23 @@ class Router $result["params"]["slug"] = $parts[2]; } + else if($parts[0] == "admin" && count($parts) == 2 && $parts[1] == 'joueur') { + $result["controller"] = 'Admin'; + $result['action'] = "displayJoueur"; + } + + else if($parts[0] == "admin" && count($parts) == 4 && $parts[1] == 'joueur' && $parts[3] == 'supprime') { + $result["controller"] = 'Admin'; + $result['action'] = "supprimeJoueur"; + $result["params"]["slug"] = $parts[2]; + } + + else if($parts[0] == "admin" && count($parts) == 5 && $parts[1] == 'joueur' && $parts[3] == 'supprime' && $parts[4] == 'ok') { + $result["controller"] = 'Admin'; + $result['action'] = "displaySupprimeJoueurOK"; + $result["params"]["slug"] = $parts[2]; + } + else if ($parts[0] == "add_partie" && count($parts) == 2 && $parts[1] == "addjoueurs1") { $result["controller"] = "Partie"; $result["action"] = "addjoueurs1"; diff --git a/app/model/Admin.php b/app/model/Admin.php index 227e6a4..73df4e4 100644 --- a/app/model/Admin.php +++ b/app/model/Admin.php @@ -84,4 +84,17 @@ class Admin extends Model { ':min_equipes' => $data['min_equipes'], ':type_scores' => $data['type_scores'])); } + + public static function supprJoueur($slug) { + $db = Database::getInstance(); + $sql= "DELETE FROM R_joueur_partie WHERE joueur = :slug"; + $req = $db->prepare($sql); + $req->execute(array(':slug' => $slug)); + $sql= "DELETE FROM R_joueur_jeu WHERE joueur = :slug"; + $req = $db->prepare($sql); + $req->execute(array(':slug' => $slug)); + $sql = "DELETE FROM R_joueur WHERE slug = :slug"; + $req = $db->prepare($sql); + $req->execute(array(':slug' => $slug)); + } } \ No newline at end of file diff --git a/app/view/Admin/display.html b/app/view/Admin/display.html index 0e7afc1..ad92559 100644 --- a/app/view/Admin/display.html +++ b/app/view/Admin/display.html @@ -10,7 +10,7 @@ include(ROOT."/app/view/Includes/header.include.html"); <a href="admin/jeu">Gestion des jeux</a> </h3> <h3> - Gestion des Joueurs + <a href="admin/joueur">Gestion des Joueurs</a> </h3> <h3> Gestion des Parties diff --git a/app/view/Admin/displayJoueur.html b/app/view/Admin/displayJoueur.html new file mode 100644 index 0000000..68fbf4b --- /dev/null +++ b/app/view/Admin/displayJoueur.html @@ -0,0 +1,50 @@ +<?php + $page_title = "Page d'administration"; +include(ROOT."/app/view/Includes/header.include.html"); +?> + +<?php if(isset($_SESSION['user']) && Admin::estAdmin($_SESSION['user']->slug)) { ?> + +<article> + <h3 class="stat-title">Listes des Joueur</h3> + <table class="jeux-preferes"> + <tr> + <th>Avatar</th> + <th>Pseudo</th> + <th>Nom</th> + <th>Prénom</th> + <th>email</th> + </tr> + <?php + foreach($this->joueurs as $ligne) { + print " + <tr>"; + if($ligne->avatar) { print " + <td><a href=\"".BASE_URL."/profil/".$ligne->slug."\"> <img src=\"".BASE_URL."/images/avatar/".$ligne->slug.".jpg\" alt=\"avatar de ".$ligne->pseudo."\" /></a></td> + "; } else { print " + <td><a href=\"".BASE_URL."/profil/".$ligne->slug."\"> <img src=\"".BASE_URL."/images/profil_42.jpg\" alt=\"avatar de ".$ligne->pseudo."\" /></a></td> + "; } + print " + <td><a href=\"".BASE_URL."/profil/".$ligne->slug."\">".$ligne->pseudo."</a></td> + <td><a href=\"".BASE_URL."/profil/".$ligne->slug."\">".$ligne->nom."</a></td> + <td><a href=\"".BASE_URL."/profil/".$ligne->slug."\">".$ligne->prenom."</a></td> + <td><a href=\"mailto:".$ligne->email."\">".$ligne->email."</a></td> + <td><a href=\"joueur/".$ligne->slug."/supprime\"><img src=\"".BASE_URL."/images/cancel.svg\" /></a></td> + </tr> + "; + } + ?> + </table> +</article> + + + + + +<?php } else { ?> + +<article class="msg-erreur">Vous n'êtes pas connecté comme administrateur</article>' + +<?php } ?> + +<?php include(ROOT."/app/view/Includes/footer.include.html"); ?> \ No newline at end of file diff --git a/app/view/Admin/displaySupprimeJoueurOK.html b/app/view/Admin/displaySupprimeJoueurOK.html new file mode 100644 index 0000000..fb72152 --- /dev/null +++ b/app/view/Admin/displaySupprimeJoueurOK.html @@ -0,0 +1,17 @@ +<?php + $page_title = "Page d'administration"; +include(ROOT."/app/view/Includes/header.include.html"); +?> + +<?php if(isset($_SESSION['user']) && Admin::estAdmin($_SESSION['user']->slug)) { ?> + +<article class="msg-valide"><h2>Suppression réussie !</h2></article> + + +<?php } else { ?> + +<article class="msg-erreur">Vous n'êtes pas connecté comme administrateur</article> + +<?php } ?> + +<?php include(ROOT."/app/view/Includes/footer.include.html"); ?> -- GitLab