Files
PHP-LDAP/views/menu.php

82 lines
2.6 KiB
PHP

<?php
if (session_status() == PHP_SESSION_NONE) {
session_start();
}
if (!isset($_SESSION["login"]) || $_SESSION["login"] !== true) {
header('Location: ../auth.php');
exit;
}
require_once __DIR__ . '/../controllers/controllerAdmin.php';
echo "Bienvenue " . $_SESSION["sAMAccountName"] . "!";
// 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>";
}
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 "<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;'>
<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']);
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>";
// Reste du code (admin/user)