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

@@ -1,48 +1,28 @@
<?php
session_start();
// Vérifier si l'utilisateur est admin
if (!isset($_SESSION["login"]) || !$_SESSION["is_admin"]) {
header("Location: ../index.php");
header('Location: auth.php');
exit;
}
require_once __DIR__ . '/../controllers/controllerAdmin.php';
$user_dn = urldecode($_GET['dn']);
?>
if (!isset($_POST['user_dn'])) {
echo "Utilisateur non spécifié.";
exit;
}
<!DOCTYPE html>
<html lang="fr">
$user_dn = $_POST['user_dn'];
<head>
<meta charset="UTF-8">
<title>Supprimer un utilisateur</title>
</head>
deleteUser($user_dn); // Fonction à implémenter pour supprimer l'utilisateur
<body>
<h1>Supprimer l'utilisateur</h1>
<p>Êtes-vous sûr de vouloir supprimer cet utilisateur ?</p>
<form action="../controllers/delete_user.php" method="post" onsubmit="return confirm('Êtes-vous sûr de vouloir supprimer cet utilisateur ?');">
<input type="hidden" name="dn" value="<?= htmlspecialchars($user_dn) ?>">
<button type="submit">Confirmer la suppression</button>
</form>
</body>
echo "Utilisateur supprimé avec succès.";
header("Location: list_users.php");
exit;
function deleteUser($user_dn)
{
if (session_status() == PHP_SESSION_NONE) {
session_start();
}
$ldapconn = ldap_connect("ldap://intranet.epul3a.local")
or die("Could not connect to LDAP server.");
ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ldapconn, LDAP_OPT_REFERRALS, 0);
$ldap_user = "CN=" . $_SESSION['sAMAccountName'] . ",CN=Users,DC=epul3a,DC=local";
if (!@ldap_bind($ldapconn, $ldap_user, $_SESSION['password'])) {
die("Could not bind to LDAP server: " . ldap_error($ldapconn));
}
if (!@ldap_delete($ldapconn, $user_dn)) {
die("Erreur lors de la suppression de l'utilisateur: " . ldap_error($ldapconn));
}
ldap_close($ldapconn);
}
</html>