Files
smart-house---final-/admin_users.php
2026-04-13 12:21:41 +00:00

97 lines
3.7 KiB
PHP

<?php
session_start();
require_once 'include/session_check.php';
if ($_SESSION['role'] !== 'Admin') {
header("Location: dashboard.php");
exit();
}
$usersFile = 'users.json';
$users = file_exists($usersFile) ? json_decode(file_get_contents($usersFile), true) : [];
$message = '';
$success = '';
// Supprimer un utilisateur
if (isset($_GET['supprimer'])) {
$cible = $_GET['supprimer'];
if ($cible === $_SESSION['user']) {
$message = "Vous ne pouvez pas supprimer votre propre compte.";
} elseif (isset($users[$cible])) {
unset($users[$cible]);
file_put_contents($usersFile, json_encode($users, JSON_PRETTY_PRINT));
$success = "Utilisateur '$cible' supprimé avec succès.";
}
}
// Changer le rôle
if (isset($_GET['role'])) {
$cible = $_GET['role'];
if ($cible === $_SESSION['user']) {
$message = "Vous ne pouvez pas changer votre propre rôle.";
} elseif (isset($users[$cible])) {
$users[$cible]['role'] = ($users[$cible]['role'] === 'Admin') ? 'User' : 'Admin';
file_put_contents($usersFile, json_encode($users, JSON_PRETTY_PRINT));
$success = "Rôle de '$cible' modifié avec succès.";
// Recharger
$users = json_decode(file_get_contents($usersFile), true);
}
}
include 'include/header.php';
?>
<main>
<div class="logs-container">
<h2>👥 Gestion des utilisateurs</h2>
<?php if ($message): ?>
<p class="form-error" style="margin-top: 10px;"><?php echo htmlspecialchars($message); ?></p>
<?php endif; ?>
<?php if ($success): ?>
<p class="form-success" style="margin-top: 10px;"><?php echo htmlspecialchars($success); ?></p>
<?php endif; ?>
<table class="admin-table">
<thead>
<tr>
<th>Nom d'utilisateur</th>
<th>Rôle</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<?php foreach ($users as $username => $data): ?>
<tr>
<td><?php echo htmlspecialchars($username); ?>
<?php if ($username === $_SESSION['user']): ?>
<span style="color: #3bc4e8; font-size: 0.8em;">(vous)</span>
<?php endif; ?>
</td>
<td>
<span style="color: <?php echo $data['role'] === 'Admin' ? '#3bc4e8' : '#aaa'; ?>">
<?php echo htmlspecialchars($data['role']); ?>
</span>
</td>
<td>
<?php if ($username !== $_SESSION['user']): ?>
<a href="admin_users.php?role=<?php echo urlencode($username); ?>"
class="btn-action btn-warning">
<?php echo $data['role'] === 'Admin' ? '⬇️ Rétrograder' : '⬆️ Promouvoir'; ?>
</a>
<a href="admin_users.php?supprimer=<?php echo urlencode($username); ?>"
class="btn-action btn-danger"
onclick="return confirm('Supprimer <?php echo htmlspecialchars($username); ?> ?')">
🗑️ Supprimer
</a>
<?php else: ?>
<span style="color: #666; font-size: 0.85em;">— compte actuel —</span>
<?php endif; ?>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
</main>
<?php include 'include/footer.php'; ?>