diff --git a/elements/header.php b/elements/header.php index c7a7f17..0089992 100644 --- a/elements/header.php +++ b/elements/header.php @@ -8,6 +8,8 @@ // Ajout ici d'un démarrage de session : header étant dans toutes les pages session_start(); +// Ajout des logs sur toutes les pages +require_once('../functions/sendLogs.php'); // Ajout du CSS Primaire (fait par IA) ?> diff --git a/functions/listUser.php b/functions/listUser.php new file mode 100644 index 0000000..1c3c69c --- /dev/null +++ b/functions/listUser.php @@ -0,0 +1,35 @@ +query($sql); + $users = $requete->fetchAll(); + // Affichage + echo '
'; + + if ($users) { + foreach ($users as $user) { + echo '
'; + echo '
'; + echo '

' . htmlspecialchars($user["username"]) . '

'; + echo '

Rôle : ' . htmlspecialchars($user["role"]) . '

'; + echo '

Créé le : ' . htmlspecialchars($user["created_at"]) . '

'; + + echo '
'; + echo 'Supprimer'; + echo '
'; + + echo '
'; + echo '
'; + } + // Cas improbable mais on sait jamais (vu que il faut être admin et donc avoir un compte pour accéder à ici), si aucun utilisateur est trouvé, alors l'afficher + } else { + echo '

Aucun utilisateur trouvé.

'; + } + + echo '
'; +} +?> \ No newline at end of file diff --git a/functions/sendLogs.php b/functions/sendLogs.php new file mode 100644 index 0000000..f74d47f --- /dev/null +++ b/functions/sendLogs.php @@ -0,0 +1,25 @@ + $contenuLog + ]; + + $dataJson = json_encode($data); + + $ch = curl_init($webhook); // On démarre une ressource curl + curl_setopt($ch, CURLOPT_HTTPHEADER, ["Content-Type: application/json"]); + curl_setopt($ch, CURLOPT_POST, 1); + curl_setopt($ch, CURLOPT_POSTFIELDS, $dataJson); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); +} \ No newline at end of file diff --git a/pages/admin.php b/pages/admin.php index 1a05342..9cd8c03 100644 --- a/pages/admin.php +++ b/pages/admin.php @@ -4,7 +4,7 @@ require_once('./../elements/header.php'); // Ajout de la base de donnée require_once '../functions/databaseConnection.php'; - +require_once("../functions/listUser.php"); require_once('../functions/listProject.php'); require_once('../functions/listXP.php'); @@ -115,4 +115,36 @@ if (isset($_GET['edit_xp']) && is_numeric($_GET['edit_xp'])) {

Gérer les experiences

+ + +
+
+
+

Nouveau compte

+
+ + +
+ + + + + + + + + + + + +
+
+
+ +

Gérer les utilisateurs

+ + \ No newline at end of file diff --git a/pages/home.php b/pages/home.php index f1e8abe..d04a55a 100644 --- a/pages/home.php +++ b/pages/home.php @@ -12,4 +12,6 @@ require_once('./../elements/header.php'); +require_once('../elements/footer.php'); + +?> diff --git a/scripts/addUser.php b/scripts/addUser.php new file mode 100644 index 0000000..ecba0d7 --- /dev/null +++ b/scripts/addUser.php @@ -0,0 +1,74 @@ +prepare($sqlVerification); + $requeteVerification->execute([ + ":username" => $user + ]); + + $utilisateurExistant = $requeteVerification->fetch(); + + // Si l'utilisateur existe déjà, on affiche une erreur + if ($utilisateurExistant) { + echo "Ce nom d'utilisateur existe déjà."; + exit(); + } else { + // Génération de la date de création + $dateCreation = date("Y-m-d H:i:s"); + + // Requête SQL d'insertion du nouvel utilisateur + $sqlAjout = "INSERT INTO users (username, password, role, created_at) VALUES (:username, :password, :role, :created_at)"; + $requeteAjout = $dbh->prepare($sqlAjout); + $requeteAjout->execute([ + ":username" => $user, + ":password" => $passwd, + ":role" => $role, + ":created_at" => $dateCreation + ]); + + // Redirection vers la page admin après succès + header("Location: ../pages/admin.php"); + exit(); + } + } catch (PDOException $e) { + // En cas d'erreur PDO, affichage du message + echo "Erreur pendant l'ajout de l'utilisateur : " . $e->getMessage(); + exit(); + } + } + } +} else { + // Si la requête n'est pas de type POST, redirection + header("Location: ../pages/admin.php"); + exit(); +} +?> \ No newline at end of file diff --git a/scripts/removeUser.php b/scripts/removeUser.php new file mode 100644 index 0000000..0dd25a5 --- /dev/null +++ b/scripts/removeUser.php @@ -0,0 +1,38 @@ +prepare($sql); + $requete->execute([ + ":id" => $id + ]); + + // Redirection vers la page admin après suppression + header("Location: ../pages/admin.php"); + exit(); + } catch (PDOException $e) { + // En cas d'erreur PDO, affichage du message + echo "Erreur pendant la suppression : " . $e->getMessage(); + exit(); + } +} +?> \ No newline at end of file