diff --git a/app/controller/AdminController.php b/app/controller/AdminController.php index 2e065050f2cd8c0694090a0fcea4863467cee10e..bc3d23635ad76ab00315b9a43a557460a9599a96 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 2973aa32452a1d0ef8bfe3e9fcc70c716a86f77e..11b8c0052ef3a3acbfaeff00e51b4a4493c10716 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 227e6a4514a9210438dced8dedb53b137ad27ec5..73df4e4ed4a360e3c6ac486ce27cd60c17f8744b 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 0e7afc149b30a2a12105578e42fbeac94dbe73fe..ad92559aab280fe58061d67837d18766c7f32ae8 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 0000000000000000000000000000000000000000..68fbf4b53f1f6f3df1d14a1fa87efbf35790da75 --- /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 0000000000000000000000000000000000000000..fb721522c37496cced358d77ad7ee9a0ce26b1a6 --- /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"); ?>