<?php
require_once __DIR__ . '/database.php';

if (empty($_SESSION['user_id'])) {
    header('Location: /HM/auth/login.php');
    exit;
}

$uri = $_SERVER['REQUEST_URI'] ?? '';
$claveMenu = null;
if (str_contains($uri, '/dashboard.php')) $claveMenu='inicio';
elseif (str_contains($uri, '/modules/roles/')) $claveMenu='roles';
elseif (str_contains($uri, '/modules/usuarios/tipos.php')) $claveMenu='tipos_usuario';
elseif (str_contains($uri, '/modules/usuarios/')) $claveMenu='usuarios';
elseif (str_contains($uri, '/modules/administracion/')) $claveMenu='administracion';
elseif (str_contains($uri, '/modules/nomina/')) $claveMenu='planilla';
elseif (str_contains($uri, '/modules/reportes/')) $claveMenu='reportes';
elseif (str_contains($uri, '/modules/gestion_tareas/tareas.php')) {
    $accionTarea = $_GET['accion'] ?? '';
    $estadoTarea = $_GET['estado'] ?? '';
    if ($accionTarea === 'nuevo') $claveMenu='gestion_tareas_nueva';
    else $claveMenu='gestion_tareas_todas';
}
elseif (str_contains($uri, '/modules/gestion_tareas/reportes.php')) {
    $claveMenu='gestion_tareas_reportes';
}
elseif (str_contains($uri, '/modules/gestion_tareas/notas.php')) $claveMenu='gestion_tareas_notas';
elseif (str_contains($uri, '/modules/gestion_tareas/')) $claveMenu='gestion_tareas';
elseif (str_contains($uri, '/modules/informes_avisos/documentos.php')) {
    $tipoInforme=$_GET['tipo']??'';$claveMenu=['Comunicaciones'=>'informes_comunicaciones','Circulares'=>'informes_circulares','Reglamentos'=>'informes_reglamentos','Manuales'=>'informes_manuales'][$tipoInforme]??'informes_avisos';
}
elseif (str_contains($uri, '/modules/informes_avisos/')) $claveMenu='informes_avisos';
elseif (str_contains($uri, 'mod=colaboradores')) $claveMenu='colaboradores';
elseif (str_contains($uri, 'mod=estructura')) $claveMenu='estructura';
elseif (str_contains($uri, 'mod=cargos')) $claveMenu='cargos';
elseif (str_contains($uri, 'mod=asistencia')) $claveMenu='asistencia';
elseif (str_contains($uri, 'mod=ausencias')) $claveMenu='ausencias';
elseif (str_contains($uri, 'mod=descuentos')) $claveMenu='descuentos';
elseif (str_contains($uri, 'mod=adicionales')) $claveMenu='adicionales';
elseif (str_contains($uri, 'mod=documentos')) $claveMenu='documentos';
elseif (str_contains($uri, 'mod=evaluaciones')) $claveMenu='evaluaciones';
elseif (str_contains($uri, '/modules/rrhh/evaluacion_funcionarios.php')) $claveMenu='evaluacion_funcionarios';
elseif (str_contains($uri, 'mod=capacitaciones')) $claveMenu='capacitaciones';
elseif (str_contains($uri, '/modules/rrhh/')) $claveMenu='rrhh';
elseif (str_contains($uri, 'ingresos_egresos.php')) $claveMenu='ingresos_egresos';
elseif (str_contains($uri, 'arqueo_caja.php')) $claveMenu='arqueo_caja';
elseif (str_contains($uri, 'extracto.php')) $claveMenu='extracto';
elseif (str_contains($uri, 'caja.php')) $claveMenu='caja';
elseif (str_contains($uri, 'remision_') || str_contains($uri, 'remisiones.php')) $claveMenu='remisiones';
elseif (str_contains($uri, 'presupuesto_') || str_contains($uri, 'presupuestos.php')) $claveMenu='presupuestos';
elseif (str_contains($uri, 'extracto_cliente.php')) $claveMenu='extracto_cliente';
elseif (str_contains($uri, 'extracto_proveedor.php')) $claveMenu='extracto_proveedor';
elseif (str_contains($uri, 'extracto_consolidado.php')) $claveMenu='extracto_consolidado';
elseif (str_contains($uri, 'obligaciones.php')) $claveMenu='obligaciones';
elseif (str_contains($uri, 'proveedores.php')) $claveMenu='proveedores';
elseif (str_contains($uri, 'facturacion_informes.php')) $claveMenu='facturacion_informes';
elseif (str_contains($uri, 'facturacion.php')) $claveMenu='facturacion';
elseif (str_contains($uri, 'clientes.php')) $claveMenu='clientes';
elseif (str_contains($uri, 'contratos.php')) $claveMenu='contratos';
elseif (str_contains($uri, 'proyectos.php')) $claveMenu='proyectos';
elseif (str_contains($uri, '/modules/movimientos/')) $claveMenu='movimientos';

if ($claveMenu && !tiene_permiso_menu($conn,$claveMenu)) {
    http_response_code(403);
    exit('No tiene permiso para acceder a este menú.');
}
