2026-06-02 17:07:50 -04:00

40 lines
884 B
PHP

<?php
session_start();
function checkLogin() {
if (!isset($_SESSION['user_id'])) {
header('Location: index.php');
exit;
}
}
function hasRole($roles) {
if (!isset($_SESSION['user_role'])) return false;
if (is_array($roles)) {
return in_array($_SESSION['user_role'], $roles);
}
return $_SESSION['user_role'] === $roles;
}
function requireRole($roles) {
checkLogin();
if (!hasRole($roles)) {
die("Acceso denegado. No tienes el rol necesario para ver esta página.");
}
}
function getUserName() {
return $_SESSION['user_name'] ?? 'Usuario';
}
function getRoleName() {
$roles = [
'superadmin' => 'Super Administrador',
'admin' => 'Administrador',
'supervisor' => 'Supervisor',
'user' => 'Usuario Normal'
];
return $roles[$_SESSION['user_role']] ?? 'Desconocido';
}
?>