feat : I don't evne know what I did but fiexd thing
continuous-integration/drone/push Build is passing Details

pull/37/head
Jade VAN BRABANDT 1 year ago
parent 75634bc656
commit c6324b8357

@ -118,8 +118,10 @@ class ControllerUser
[ [
'player' => $player, 'player' => $player,
'maxscores' => $maxscores, 'maxscores' => $maxscores,
'error' => $_SESSION["error"],
] ]
); );
$_SESSION["error"]=null;
} else { } else {
header("Location:/loginPlayer"); header("Location:/loginPlayer");
} }

@ -17,13 +17,11 @@ class ControllerUserPlayers
{ {
global $vues, $twig; global $vues, $twig;
session_start(); session_start();
$this->mdPlayer = new ModelPlayer();
try { try {
if($_SESSION["idPlayerConnected"] != null){ if($_SESSION["idPlayerConnected"] != null){
$this->twig =$twig; $this->twig =$twig;
$this->vues = $vues; $this->vues = $vues;
$this->mdPlayer = new ModelPlayer();
} }
else { else {
header("Location:/loginPlayer"); header("Location:/loginPlayer");
@ -37,11 +35,11 @@ class ControllerUserPlayers
function delete($param) { function delete($param) {
$this->mdPlayer->deletePlayerByID($param["id"]); $this->mdPlayer->deletePlayerByID($param["id"]);
header("Location:/admin/administrators"); $_SESSION["idPlayerConnected"]=null;
header("Location:/");
} }
function add($param) { public function add($param) {
$nickname = $_POST['nickname']; $nickname = $_POST['nickname'];
$password = $_POST['password']; $password = $_POST['password'];
@ -50,6 +48,8 @@ class ControllerUserPlayers
'password' => $password, 'password' => $password,
]; ];
var_dump($Player);
$this->mdPlayer->addPlayer($Player); $this->mdPlayer->addPlayer($Player);
header("Location:/loginPlayer"); header("Location:/loginPlayer");
@ -58,25 +58,21 @@ class ControllerUserPlayers
function updatemodal($param) { function updatemodal($param) {
$player = $this->mdPlayer->getPlayerByID($param["id"]); $player = $this->mdPlayer->getPlayerByID($param["id"]);
echo $this->twig->render($this->vues["userPlayerModal"], [
echo $this->twig->render($this->vues["adminAdministratorsModal"], [
'player' => $player, 'player' => $player,
]); ]);
} }
function update($param) { function update($param) {
$id = $_POST['id']; $id = $_POST['id'];
$username = $_POST['username'];
$password = $_POST['password']; $password = $_POST['password'];
if (!isset($password) || empty($password) || !isset($id) || empty($id) || !is_numeric($id) || $id < 0 || empty(trim($password)) || empty(trim($id))) {
$Admin = [ $_SESSION["error"] = "Veuillez remplir tous les champs correctement";
'username' => $username, var_dump($id,$password);
'password' => $password, header("Location:/userStatus");
]; } else {
$this->mdPlayer->updatePlayerPassword($id,$password);
$this->mdPlayer->updatePlayer($id,$Admin); header("Location:/userStatus");
}
header("Location:/admin/administrators");
} }
} }

@ -72,7 +72,12 @@ class GatewayAdministrator
public function deleteAdministratorByID($id) public function deleteAdministratorByID($id)
{ {
$query = "DELETE FROM administrators WHERE id = :id;"; $query = "DELETE FROM administrators WHERE id = :id;";
$this->con->executeQuery($query, array(':id' => array($id, PDO::PARAM_INT))); $this->con->executeQuery(
$query,
array(
':id' => array($id, PDO::PARAM_INT)
)
);
} }
public function verifyAdministrator($administrator) public function verifyAdministrator($administrator)

@ -17,6 +17,7 @@ class GatewayPlayer
public function addPlayer($player) public function addPlayer($player)
{ {
var_dump($player);
$query = "insert into players(nickname,password) values (:nickname,:password);"; $query = "insert into players(nickname,password) values (:nickname,:password);";
$this->con->executeQuery( $this->con->executeQuery(
$query, $query,
@ -71,8 +72,27 @@ class GatewayPlayer
); );
} }
public function deletePlayerByID(int $id) public function updatePlayerPassword($id,$password)
{ {
$query = "UPDATE players SET password = :password WHERE id = :id;";
$this->con->executeQuery(
$query,
array(
':id' => array($id, PDO::PARAM_INT),
':password' => array(md5($password), PDO::PARAM_STR)
)
);
}
public function deletePlayerByID($id)
{
$query = "DELETE FROM jouer WHERE idPlayer =:id;";
$this->con->executeQuery(
$query,
array(
':id' => array($id, PDO::PARAM_INT)
)
);
$query = "DELETE FROM players WHERE id = :id;"; $query = "DELETE FROM players WHERE id = :id;";
$this->con->executeQuery( $this->con->executeQuery(
$query, $query,

@ -19,6 +19,7 @@ class ModelPlayer
public function addPlayer($player) public function addPlayer($player)
{ {
var_dump($player);
$this->gwPlayer->addPlayer($player); $this->gwPlayer->addPlayer($player);
} }
@ -39,7 +40,10 @@ class ModelPlayer
{ {
$this->gwPlayer->updatePlayer($id, $player); $this->gwPlayer->updatePlayer($id, $player);
} }
public function updatePlayerPassword($id, $player)
{
$this->gwPlayer->updatePlayerPassword($id, $player);
}
public function deletePlayerByID($id) public function deletePlayerByID($id)
{ {
$this->gwPlayer->deletePlayerByID($id); $this->gwPlayer->deletePlayerByID($id);

@ -9,21 +9,17 @@
</head> </head>
<body id="bodyStyle"> <body id="bodyStyle">
<div class="modal fade" id="modalUpdateAdministrators"> <div class="modal fade" id="modalUpdatePlayers">
<div class="modal-dialog" role="document"> <div class="modal-dialog" role="document">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Modifier un administrateur</h5> <h5 class="modal-title" id="exampleModalLabel">Modifier votre mot de passe</h5>
</div> </div>
<form method="POST" action="/admin/administrators/update"> <form method="POST" action="/user/players/update">
<div class="modal-body"> <div class="modal-body">
<div class="form-group"> <div class="form-group">
<input type="hidden" class="form-control" id="updateId" name="id"> <input type="hidden" class="form-control" id="updateId" name="id">
</div> </div>
<div class="form-group">
<label for="username">Nom d'utilisateur :</label>
<input type="text" class="form-control" id="updateUsername" name="username">
</div>
<div class="form-group"> <div class="form-group">
<label for="password">Mot de passe :</label> <label for="password">Mot de passe :</label>
<input type="password" class="form-control" id="updatePassword" name="password"> <input type="password" class="form-control" id="updatePassword" name="password">
@ -41,19 +37,17 @@
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
<script> <script>
if ({{ administrator.id }} != 0) { if ({{ player.id }} != 0) {
window.onload = showModal(); window.onload = showModal();
function showModal() { function showModal() {
var modal = new bootstrap.Modal(document.getElementById('modalUpdateAdministrators')); var modal = new bootstrap.Modal(document.getElementById('modalUpdatePlayers'));
var id = document.getElementById('updateId'); var id = document.getElementById('updateId');
var username = document.getElementById('updateUsername');
var password = document.getElementById('updatePassword'); var password = document.getElementById('updatePassword');
id.value = "{{ administrator.id }}"; id.value = "{{ player.id }}";
username.value = "{{ administrator.username }}"; password.value = "{{ player.hashedPassword }}";
password.value = "{{ administrator.hashedPassword }}";
modal.show(); modal.show();
} }

@ -15,10 +15,13 @@
</a> </a>
</div> </div>
<div class="container mt-5 fs-4 text-light text-center"> <div class="container mt-5 fs-4 text-light text-center">
<p class="text-center bg-danger"> {{ error }} </p>
<div class="row gy-2 mt-0 justify-content-center"> <div class="row gy-2 mt-0 justify-content-center">
<div class="col-3 bg-secondary border rounded"> <div class="col-3 bg-secondary border rounded">
<p> Player Nickname : </p> <p> Player Nickname : </p>
<p>{{ player.nickname }} </p> <p>{{ player.nickname }} </p>
<a type="button" class="btn btn-primary fs-5" href="/user/players/updatemodal/{{ player.id }}"> Modifier votre mot de passe </a>
<a type="button" class="btn btn-primary fs-5" href="/user/players/delete/{{ player.id }}"> Supprimer votre compte </a>
</div> </div>
</div> </div>
{% for maxscore in maxscores %} {% for maxscore in maxscores %}
@ -29,6 +32,35 @@
</div> </div>
</div> </div>
{% endfor %} {% endfor %}
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
<div class="modal fade" id="modalPlayer">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Modifier votre mot de passe</h5>
</div>
<form method="POST" action="/user/players/updatemodal">
<div class="modal-body">
<div class="form-group">
<input type="hidden" class="form-control" id="updateId" name="id">
</div>
<div class="form-group">
<label for="password">Mot de passe :</label>
<input type="password" class="form-control" id="updatePassword" name="password">
</div> </div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Fermer</button>
<button type="submit" class="btn btn-primary">Enregistrer</button>
</div>
</form>
</div>
</div>
</div>
</body> </body>
</html> </html>

@ -23,3 +23,4 @@ $vues["viewScore"]="viewScore.twig";
$vues["lobby"]="lobby.twig"; $vues["lobby"]="lobby.twig";
$vues["error"]="error.twig"; $vues["error"]="error.twig";
$vues["userStatus"]="userStatus.twig"; $vues["userStatus"]="userStatus.twig";
$vues["userPlayerModal"]="userPlayerModal.twig";

Loading…
Cancel
Save