feat: add CSS styling

This commit is contained in:
Morph01
2025-02-04 17:30:04 -08:00
parent e3243dd018
commit fcc7e22fdb
9 changed files with 395 additions and 124 deletions

View File

@@ -5,6 +5,7 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Authentification</title>
<link rel="stylesheet" href="assets/css/style.css">
</head>
<body>

View File

@@ -12,6 +12,7 @@ if (!isset($_SESSION["login"]) || !$_SESSION["is_admin"]) {
<head>
<meta charset="UTF-8">
<title>Créer un utilisateur</title>
<link rel="stylesheet" href="../assets/css/style.css">
</head>
<body>

View File

@@ -14,6 +14,7 @@ $user_dn = urldecode($_GET['dn']);
<head>
<meta charset="UTF-8">
<title>Supprimer un utilisateur</title>
<link rel="stylesheet" href="../assets/css/style.css">
</head>
<body>

View File

@@ -19,6 +19,7 @@ $user_details = $ldapAuth->getUserDetailsByDn($user_dn);
<head>
<meta charset="UTF-8">
<title>Modifier un utilisateur</title>
<link rel="stylesheet" href="../assets/css/style.css">
</head>
<body>
@@ -26,10 +27,13 @@ $user_details = $ldapAuth->getUserDetailsByDn($user_dn);
<form action="../controllers/edit_user.php" method="post">
<input type="hidden" name="dn" value="<?= htmlspecialchars($user_dn) ?>">
<input type="text" id="firstname" name="firstname" value="<?= htmlspecialchars($user_details['givenName'] ?? '') ?>">
<label for="lastname">Nom :</label>
<input type="text" id="lastname" name="lastname" value="<?= htmlspecialchars($user_details['sn'] ?? '') ?>">
<label for="firstname">Prénom :</label>
<input type="text" id="firstname" name="firstname" value="<?= htmlspecialchars($user_details['givenname'] ?? '') ?>">
<label for="email">E-mail :</label>
<input type="email" id="email" name="email" value="<?= htmlspecialchars($user_details['mail'] ?? '') ?>">
<label for="new_password">Nouveau mot de passe :</label>

View File

@@ -1,25 +1,35 @@
<?php
session_start();
require_once __DIR__ . '/../controllers/controllerAdmin.php';
<!DOCTYPE html>
<html lang="fr">
if (!isset($_SESSION["login"]) || !$_SESSION["is_admin"]) {
header('Location: ../auth.php');
exit;
}
<head>
<meta charset="UTF-8">
<title>Liste des utilisateurs</title>
<link rel="stylesheet" href="../assets/css/style.css">
</head>
// Récupérer les utilisateurs selon l'OU
$users = listUsers();
<body>
<?php
session_start();
require_once __DIR__ . '/../controllers/controllerAdmin.php';
// Afficher le tableau des utilisateurs
echo "<h1>Gestion des utilisateurs</h1>";
if (!isset($_SESSION["login"]) || !$_SESSION["is_admin"]) {
header('Location: ../auth.php');
exit;
}
if (isset($_GET['ou'])) {
echo "<h2>OU : " . htmlspecialchars(urldecode($_GET['ou'])) . "</h2>";
}
// Récupérer les utilisateurs selon l'OU
$users = listUsers();
if (!empty($users)) {
echo "<table border='1'>";
echo "<tr>
// Afficher le tableau des utilisateurs
echo "<h1>Gestion des utilisateurs</h1>";
if (isset($_GET['ou'])) {
echo "<h2>OU : " . htmlspecialchars(urldecode($_GET['ou'])) . "</h2>";
}
if (!empty($users)) {
echo "<table border='1'>";
echo "<tr>
<th>Nom</th>
<th>Prénom</th>
<th>Email</th>
@@ -27,23 +37,23 @@ if (!empty($users)) {
<th>Actions</th>
</tr>";
foreach ($users as $entry) {
if (!is_array($entry)) continue;
foreach ($users as $entry) {
if (!is_array($entry)) continue;
echo "<tr>
echo "<tr>
<td>" . ($entry['sn'][0] ?? '') . "</td>
<td>" . ($entry['givenname'][0] ?? '') . "</td>
<td>" . ($entry['mail'][0] ?? '') . "</td>
<td>" . ($entry['distinguishedname'][0] ?? '') . "</td>
<td>
<a href='../views/edit_user.php?dn=" . urlencode($entry['distinguishedname'][0]) . "'>Modifier</a>
<a href='../controllers/delete_user.php?dn=" . urlencode($entry['distinguishedname'][0]) . "' onclick='return confirm(\"Confirmer la suppression ?\")'>Supprimer</a>
<td class='action-buttons'>
<a href='../views/edit_user.php?dn=" . urlencode($entry['distinguishedname'][0]) . "' class='btn btn-edit'>Modifier</a>
<a href='../controllers/delete_user.php?dn=" . urlencode($entry['distinguishedname'][0]) . "' class='btn btn-delete' onclick='return confirm(\"Confirmer la suppression ?\")'>Supprimer</a>
</td>
</tr>";
}
echo "</table>";
} else {
echo "<p>Aucun utilisateur trouvé dans cette OU.</p>";
}
echo "</table>";
} else {
echo "<p>Aucun utilisateur trouvé dans cette OU.</p>";
}
echo "<p><a href='../views/menu.php'>Retour au menu</a></p>";
echo "<p><a href='../views/menu.php'>Retour au menu</a></p>";

View File

@@ -1,82 +1,98 @@
<?php
if (session_status() == PHP_SESSION_NONE) {
session_start();
}
<!DOCTYPE html>
<html lang="fr">
if (!isset($_SESSION["login"]) || $_SESSION["login"] !== true) {
header('Location: ../auth.php');
exit;
}
<head>
<meta charset="UTF-8">
<title>Menu</title>
<link rel="stylesheet" href="../assets/css/style.css">
</head>
require_once __DIR__ . '/../controllers/controllerAdmin.php';
<body>
echo "Bienvenue " . $_SESSION["sAMAccountName"] . "!";
<?php
if (session_status() == PHP_SESSION_NONE) {
session_start();
}
// Affichage du menu
echo "<h2>Menu</h2>";
echo "<ul>";
if ($_SESSION["is_admin"]) {
echo "Vous êtes un administrateur.<br>";
echo "Vous avez des droits sur les OUs suivantes :";
echo "<ul>";
foreach ($_SESSION['admin_ous'] as $ou) {
echo "<li>$ou</li>";
if (!isset($_SESSION["login"]) || $_SESSION["login"] !== true) {
header('Location: ../auth.php');
exit;
}
require_once __DIR__ . '/../controllers/controllerAdmin.php';
echo "Bienvenue " . $_SESSION["sAMAccountName"] . " !";
if ($_SESSION["is_admin"]) {
// Affichage du menu
echo "<h2>Menu</h2>";
echo "<div class='menu-content'>";
echo "<ul>";
echo "Vous êtes un administrateur.<br>";
echo "Vous avez des droits sur les OUs suivantes :";
echo "<ul>";
foreach ($_SESSION['admin_ous'] as $ou) {
echo "<li>$ou</li>";
}
echo "</ul>";
// Modifier la section d'affichage des OUs
foreach ($_SESSION['admin_ous'] as $ou) {
preg_match('/[^=]*=([^,]*)/', $ou, $matches);
$shortName = $matches[1] ?? $ou;
echo "<h3>Gestion de $ou</h3>";
echo "<a href='../views/list_users.php?ou=" . urlencode($ou) . "'>Voir les utilisateurs dans l'OU " . $shortName . "</a><br>";
echo "<a href='../views/create_user.php?ou=" . urlencode($ou) . "'>Ajouter un utilisateur dans l'OU " . $shortName . "</a><br><br>";
}
echo "<a href='../views/list_users.php'>Liste complète des utilisateurs des OUs administrées</a><br>";
}
echo "</ul>";
echo "</div>";
// Modifier la section d'affichage des OUs
foreach ($_SESSION['admin_ous'] as $ou) {
preg_match('/[^=]*=([^,]*)/', $ou, $matches);
$shortName = $matches[1] ?? $ou;
echo "<h2>Profil</h2>";
echo "<div class='profile-content'>";
echo "<h3>Gestion de $ou</h3>";
echo "<a href='../views/list_users.php?ou=" . urlencode($ou) . "'>Voir les utilisateurs dans l'OU " . $shortName . "</a><br>";
echo "<a href='../views/create_user.php?ou=" . urlencode($ou) . "'>Ajouter un utilisateur dans l'OU " . $shortName . "</a><br><br>";
}
$ldapAuth = new LDAPAuth();
$user_dn = $ldapAuth->getUserDN($_SESSION['sAMAccountName']);
echo "<a href='../views/list_users.php'>Liste complète des utilisateurs des OUs administrées</a><br>";
}
echo "</ul>";
echo "<h3>Groupes de l'utilisateur</h3>";
$userGroups = $ldapAuth->getUserGroups($user_dn);
echo "<h2>Profil</h2>";
$ldapAuth = new LDAPAuth();
$user_dn = $ldapAuth->getUserDN($_SESSION['sAMAccountName']);
echo "<h3>Groupes de l'utilisateur</h3>";
$userGroups = $ldapAuth->getUserGroups($user_dn);
if (!empty($userGroups) && isset($userGroups['count']) && $userGroups['count'] > 0) {
echo "<table border='1' style='border-collapse: collapse; margin: 10px 0;'>
if (!empty($userGroups) && isset($userGroups['count']) && $userGroups['count'] > 0) {
echo "<table border='1' style='border-collapse: collapse; margin: 10px 0;'>
<tr >
<th>Groupe</th>
</tr>";
// Skip the 'count' element and iterate through numeric indices
for ($i = 0; $i < $userGroups['count']; $i++) {
echo "<tr>
// Skip the 'count' element and iterate through numeric indices
for ($i = 0; $i < $userGroups['count']; $i++) {
echo "<tr>
<td>" . htmlspecialchars($userGroups[$i]) . "</td>
</tr>";
}
echo "</table>";
} else {
echo "<p>Aucun groupe trouvé pour cet utilisateur.</p>";
}
// Ajouter cette section après l'affichage des groupes
$user_details = $ldapAuth->getUserDetails($_SESSION['sAMAccountName']);
echo "<h3>Vos informations de compte :</h3>";
echo "<table border='1'>";
echo "<tr><th>Attribut</th><th>Valeur</th></tr>";
foreach ($user_details as $key => $value) {
if (!is_array($value) && $key !== 'count') {
echo "<tr><td>$key</td><td>$value</td></tr>";
}
}
echo "</table>";
} else {
echo "<p>Aucun groupe trouvé pour cet utilisateur.</p>";
}
echo "</div>";
// Ajouter cette section après l'affichage des groupes
$user_details = $ldapAuth->getUserDetails($_SESSION['sAMAccountName']);
echo "<h3>Vos informations de compte :</h3>";
echo "<table border='1'>";
echo "<tr><th>Attribut</th><th>Valeur</th></tr>";
foreach ($user_details as $key => $value) {
if (!is_array($value) && $key !== 'count') {
echo "<tr><td>$key</td><td>$value</td></tr>";
}
}
echo "</table>";
// Bouton de déconnexion
echo "<form method='post' action='../controllers/logout.php'>";
echo "<input type='submit' value='Déconnexion'>";
echo "</form>";
// Bouton de déconnexion
echo "<form method='post' action='../controllers/logout.php' class='logout-form'>";
echo "<input type='submit' value='Déconnexion' class='logout-button'>";
echo "</form>";
// Reste du code (admin/user)