prepare($sql); $stmt->bind_param("i", $user_id); if ($stmt->execute()) { logActivity($_SESSION['user_id'], 'DELETE', 'users', "Deleted user (ID: $user_id)"); $success = "User deleted successfully"; } else { $error = "Failed to delete user"; } } catch (Exception $e) { $error = "Error: " . $e->getMessage(); } } } // Handle Toggle Status if (isset($_GET['toggle'])) { $user_id = intval($_GET['toggle']); // Don't allow disabling yourself if ($user_id == $_SESSION['user_id']) { $error = "You cannot disable your own account"; } else { try { $conn = getDbConnection(); $sql = "UPDATE users SET status = IF(status = 'active', 'inactive', 'active') WHERE user_id = ?"; $stmt = $conn->prepare($sql); $stmt->bind_param("i", $user_id); if ($stmt->execute()) { logActivity($_SESSION['user_id'], 'UPDATE', 'users', "Toggled user status (ID: $user_id)"); $success = "User status updated"; } else { $error = "Failed to update user status"; } } catch (Exception $e) { $error = "Error: " . $e->getMessage(); } } } // Get all users try { $users = fetchAll("SELECT * FROM users ORDER BY created_at DESC"); } catch (Exception $e) { $users = []; $error = "Error loading users: " . $e->getMessage(); } $page_title = 'View Users'; require_once __DIR__ . '/../includes/header.php'; ?>

đŸ‘Ĩ System Users

$u['status'] === 'active')); $inactive_users = $total_users - $active_users; $admins = count(array_filter($users, fn($u) => $u['role'] === 'admin')); $managers = count(array_filter($users, fn($u) => $u['role'] === 'manager')); $suppliers = count(array_filter($users, fn($u) => $u['role'] === 'supplier')); ?>
Total Users
All system users
Active
Can login
Inactive
Disabled accounts
By Role
Admin/Manager/Supplier

All Users ()

➕ Add New User
User Username Email Role Phone Status Created Actions
You 'badge-danger', 'manager' => 'badge-warning', 'supplier' => 'badge-info' ]; $badge_class = $role_colors[$user['role']] ?? 'badge-info'; ?> Active Inactive
đŸ—‘ī¸ Current User
đŸ‘Ĩ

No users found

Start by adding your first user

➕ Add User

â„šī¸ User Management Notes