feat: implement user creation, editing, and deletion functionality ALL features are working

This commit is contained in:
Morph01
2025-02-04 16:35:30 -08:00
parent 2baa69fe34
commit e3243dd018
11 changed files with 330 additions and 296 deletions

View File

@@ -10,9 +10,6 @@ if (!isset($_SESSION["login"]) || $_SESSION["login"] !== true) {
require_once __DIR__ . '/../controllers/controllerAdmin.php';
// Récupérer les infos de l'utilisateur
// $user_info = getUserByPseudo($_SESSION["sAMAccountName"]);
echo "Bienvenue " . $_SESSION["sAMAccountName"] . "!";
// Affichage du menu
@@ -29,43 +26,42 @@ if ($_SESSION["is_admin"]) {
// 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</a><br>";
echo "<a href='../views/add_user.php?ou=" . urlencode($ou) . "'>Ajouter un utilisateur</a><br><br>";
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 OU administrées</a><br>";
echo "<pre>Debug - OUs administrées : ";
print_r($_SESSION['admin_ous']);
echo "</pre>";
echo "<a href='../views/list_users.php'>Liste complète des utilisateurs des OUs administrées</a><br>";
}
echo "</ul>";
if (!isset($_SESSION['sAMAccountName'])) {
die("Nom utilisateur manquant. Veuillez vous reconnecter.");
}
echo "<h2>Profil</h2>";
// // Exemple : Lister toutes les OUs
// $ous = listAllOU();
// print_r($ous);
// // Exemple : Lister tous les utilisateurs
// $users = listAllUsers();
// print_r($users);
// Exemple : Récupérer l'OU d'un utilisateur
// $username = $_SESSION['sAMAccountName'];
// $ou = getUserOU($username);
// echo "OU de l'utilisateur : $ou";
// Debug : Vérifier les groupes de l'utilisateur
$ldapAuth = new LDAPAuth();
$user_dn = $ldapAuth->getUserDN($_SESSION['sAMAccountName']);
echo "<pre>Groupes de l'utilisateur : ";
print_r($ldapAuth->getUserGroups($user_dn));
echo "</pre>";
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;'>
<tr >
<th>Groupe</th>
</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']);