Skip to content
Extraits de code Groupes Projets
Valider c21b4813 rédigé par Romain 'Table' DROUIN's avatar Romain 'Table' DROUIN
Parcourir les fichiers

ajout de la suppression des parties

parent 22c6bec3
Branches dev-admin
Aucune étiquette associée trouvée
2 requêtes de fusion!21Merge de Dev dans Master,!19Dev admin
......@@ -631,4 +631,15 @@ class AdminController extends Controller {
}
}
}
public function supprPartie() {
$id = $this->route["params"]["slug"];
Admin::supprPartie($id);
header("Location:supprime/ok");
}
public function displaysupprPartieOK() {
$this->view->display();
}
}
......@@ -353,6 +353,18 @@ class Router
$result["params"]["slug"] = $parts[2];
}
else if($parts[0] == "admin" && count($parts) == 4 && $parts[1] == 'partie' && $parts[3] == 'supprime') {
$result["controller"] = 'Admin';
$result['action'] = "supprPartie";
$result["params"]["slug"] = $parts[2];
}
else if($parts[0] == "admin" && count($parts) == 5 && $parts[1] == 'partie' && $parts[3] == 'supprime' && $parts[4] == 'ok') {
$result["controller"] = 'Admin';
$result['action'] = "displaysupprPartieOK";
$result["params"]["slug"] = $parts[2];
}
else if ($parts[0] == "add_partie" && count($parts) == 2 && $parts[1] == "addjoueurs1") {
$result["controller"] = "Partie";
$result["action"] = "addjoueurs1";
......
......@@ -234,9 +234,48 @@ class Admin extends Model {
while ($ligne = $stmt2->fetch(PDO::FETCH_ASSOC)) {
$joueurs = $jeu->type == 'equipes' ? Admin::getEquipes($ligne['id']) : Admin::getListeJoueur($ligne['id']);
$scores = $jeu->type_scores == 'scores' ? Admin::getListeScorePartie2($ligne['id']) : Admin::getListeClassement2($ligne['id']);
Partie::modPartie($joueur, $scores, $jeu, $ligne['id']);
Partie::modPartie($joueurs, $scores, $jeu, $ligne['id']);
}
return 0;
}
public static function supprPartie($id) {
$db = Database::getInstance();
$sql5 = "UPDATE R_joueur_jeu SET score = :new_score WHERE joueur = :id_joueur AND jeu = :id_jeu;";
$stmt5 = $db->prepare($sql5);
$partieSuppr = Partie::getFromId($id);
// recherche des joueurs ayant fais une partie apres celle-ci (celle-ci incluse)
$sql1 = "SELECT * FROM R_joueur_partie JOIN R_partie ON R_joueur_partie.partie = R_partie.id WHERE date >= date(:date) AND jeu =:jeu ORDER BY date";
$stmt1 = $db->prepare($sql1);
$stmt1->execute(array(':date' => $partieSuppr->date, ":jeu" => $partieSuppr->jeu));
// pour tout les joueurs remettre les scrores comme-ci aucune partie après celle-ci a été jouée
$joueurDejaTraite = array();
while ($joueur = $stmt1->fetch(PDO::FETCH_ASSOC)) {
if (!in_array($joueur['joueur'], $joueurDejaTraite)) {
$joueurDejaTraite[] = $joueur['joueur'];
$stmt5->execute(array(':new_score' => $joueur['score'],
':id_joueur' => $joueur['joueur'],
':id_jeu' => $joueur['jeu']));
}
}
$sql = "DELETE FROM R_joueur_partie WHERE partie = :id";
$req = $db->prepare($sql);
$req->execute(array(':id' => $id));
$sql = "DELETE FROM R_partie WHERE id = :id";
$req = $db->prepare($sql);
$req->execute(array(':id' => $id));
$jeu = Jeu::getFromSlug($partieSuppr->jeu);
$sql2 = "SELECT * FROM R_partie WHERE date > date(:date) AND jeu =:jeu ORDER BY date";
$stmt2 = $db->prepare($sql2);
$stmt2->execute(array(':date' => $partieSuppr->date, ":jeu" => $partieSuppr->jeu));
while ($ligne = $stmt2->fetch(PDO::FETCH_ASSOC)) {
$joueurs = $jeu->type == 'equipes' ? Admin::getEquipes($ligne['id']) : Admin::getListeJoueur($ligne['id']);
$scores = $jeu->type_scores == 'scores' ? Admin::getListeScorePartie2($ligne['id']) : Admin::getListeClassement2($ligne['id']);
Partie::modPartie($joueurs, $scores, $jeu, $ligne['id']);
}
}
}
\ No newline at end of file
......@@ -21,6 +21,7 @@ include(ROOT."/app/view/Includes/header.include.html");
<td><a href=\"".BASE_URL."/jeu/".$ligne['slug']."\">".$ligne['nom']."</a></td>
<td><a href=\"".BASE_URL."/admin/partie/".$ligne['slug']."\">".$ligne['date']."</a></td>
<td><a href=\"partie/".$ligne['id']."/modifinit\"><img src=\"".BASE_URL."/images/modif.svg\" alt=\"Modifier\"//></a></td>
<td><a href=\"partie/".$ligne['id']."/supprime\"><img src=\"".BASE_URL."/images/cancel.svg\" /></a></td>
</tr>
";
}
......
<?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"); ?>
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter