requireAdmin(); $userModel = new User(); $message = ''; $messageType = ''; if ($_SERVER['REQUEST_METHOD'] === 'POST') { $action = $_POST['action'] ?? ''; if ($action === 'create') { $nombre = trim($_POST['nombre'] ?? ''); $email = trim($_POST['email'] ?? ''); $username = trim($_POST['username'] ?? ''); $password = $_POST['password'] ?? ''; $rol = $_POST['rol'] ?? 'ayudante'; if (empty($nombre) || empty($email) || empty($password)) { $message = 'Todos los campos son obligatorios'; $messageType = 'danger'; } elseif ($userModel->getByEmail($email)) { $message = 'El email ya está registrado'; $messageType = 'danger'; } elseif ($username && $userModel->usernameExists($username)) { $message = 'El username ya está en uso'; $messageType = 'danger'; } else { $userModel->create(compact('nombre', 'email', 'username', 'password', 'rol')); $message = 'Usuario creado exitosamente'; $messageType = 'success'; } } elseif ($action === 'update') { $id = $_POST['id'] ?? 0; $nombre = trim($_POST['nombre'] ?? ''); $email = trim($_POST['email'] ?? ''); $username = trim($_POST['username'] ?? ''); $password = $_POST['password'] ?? ''; $rol = $_POST['rol'] ?? 'ayudante'; if (empty($nombre) || empty($email)) { $message = 'Nombre y email son obligatorios'; $messageType = 'danger'; } elseif ($userModel->usernameExists($username, $id)) { $message = 'El username ya está en uso'; $messageType = 'danger'; } else { $userModel->update($id, compact('nombre', 'email', 'username', 'password', 'rol')); $message = 'Usuario actualizado exitosamente'; $messageType = 'success'; } } elseif ($action === 'toggle') { $id = $_POST['id'] ?? 0; $user = $userModel->getById($id); if ($user) { if ($user['activo']) { $userModel->deactivate($id); } else { $userModel->activate($id); } $message = 'Estado actualizado'; $messageType = 'success'; } } } $users = $userModel->getAll(true); $currentPage = 'usuarios'; $pageTitle = 'Gestión de Usuarios'; ?> Usuarios - Contenedor Ibiza

Gestión de Usuarios

Username Nombre Email Rol Estado Acciones