<?php
// ─────────────────────────────────────────
//  SIGVP — Constantes globales
//  Auto-detecta rutas en Windows (XAMPP)
//  y Linux. No requiere cambiar nada.
// ─────────────────────────────────────────
define('APP_NAME',    'SIGVP');
define('APP_VERSION', '1.0.0');

// BASE_PATH = carpeta raíz del proyecto (donde está index.php)
// dirname(__DIR__) sube un nivel desde /config/
define('BASE_PATH', dirname(__DIR__));

// BASE_URL se construye automáticamente:
// detecta protocolo, host y nombre real de la carpeta
$__protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? 'https' : 'http';
$__host     = $_SERVER['HTTP_HOST'] ?? 'localhost';
$__folder   = basename(BASE_PATH);          // "SIGVP", "sigvp", lo que sea
define('BASE_URL', $__protocol . '://' . $__host . '/' . $__folder);
unset($__protocol, $__host, $__folder);     // limpia variables globales

// Roles — coinciden exactamente con tabla `roles` de sigvp.sql
//   1 = administrador
//   2 = coordinador
//   3 = tutor
//   4 = secretaria
//   5 = estudiante
define('ROL_ADMIN',        1);
define('ROL_COORDINADOR',  2);
define('ROL_TUTOR',        3);
define('ROL_SECRETARIA',   4);
define('ROL_ESTUDIANTE',   5);
define('ROL_GESTOR_PPP',   6);
define('ROL_TUTOR_EMPRESA',7);   // Supervisor en la empresa
define('ROL_AUDITOR',      8);   // Auditor CACES
define('ROL_FACTURACION',  9);   // Validación de pagos de titulación

// Rutas de módulos por rol
define('ROL_REDIRECT', [
    ROL_ADMIN         => BASE_URL . '/modules/admin/dashboard.php',
    ROL_COORDINADOR   => BASE_URL . '/modules/coordinador/dashboard.php',
    ROL_TUTOR         => BASE_URL . '/modules/tutor/dashboard.php',
    ROL_SECRETARIA    => BASE_URL . '/modules/secretaria/dashboard.php',
    ROL_ESTUDIANTE    => BASE_URL . '/modules/estudiante/dashboard.php',
    ROL_GESTOR_PPP    => BASE_URL . '/modules/gestor_ppp/dashboard.php',
    ROL_TUTOR_EMPRESA => BASE_URL . '/modules/tutor_empresa/dashboard.php',
    ROL_AUDITOR       => BASE_URL . '/modules/auditor/dashboard.php',
    ROL_FACTURACION   => BASE_URL . '/modules/facturacion/dashboard.php',
]);

// Sesión
define('SESSION_LIFETIME', 3600);      // 1 hora
define('SESSION_NAME',     'sigvp_sess');

// Uploads
define('UPLOAD_PATH', BASE_PATH . DIRECTORY_SEPARATOR . 'assets' . DIRECTORY_SEPARATOR . 'uploads');
define('UPLOAD_URL',  BASE_URL  . '/assets/uploads');