# Fase 4 — Config institucional → constantes legacy

## Objetivo
Reemplazar el `inicia.php` por-colegio: las constantes (`NKXS`, `RIFCOLM`, bancos, director, SMTP, etc.) se leen de `siscev.colegio_config` y se recrean con `define()` en tiempo de ejecución. Así los 33 módulos siguen funcionando sin reescribirse.

## Dependencias
Fase 3 (tenant resuelto, `id_colegio` en sesión).

## Constantes a migrar (de la referencia técnica, sección 4)
```
NKXS, EKKS, CKLS, RIFCOLM, TELEMPM, ANOESCM, ANOANTE, PROXANOE,
CIUDADM, ESTADOM, DIRECCM,
BANCO1M..BANCO5M, CUENT1M..CUENT5M, BENEF1M..BENEF5M,
DIRECTM, CEDDIRM, CTRLEST, CTRLPAG,
DOMINIO, SUCORREO, MAILUSER, CLAVEMAIL,
FUNDADA, PERIDOM, CERTIPLAN
```

## Tareas

1. **Script de migración** `migrar_inicia.php`:
   - Lee el `inicia.php` de un colegio (parseando sus `define()`) y vuelca cada par a `colegio_config (id_colegio, clave, valor)` con prepared statements.
   - Ejecutarlo primero sobre el colegio piloto.

2. **`core/config.php`**:
   - `cargar_config_legacy(int $idColegio): void` — `SELECT clave, valor FROM colegio_config WHERE id_colegio=?` y por cada fila `if (!defined($clave)) define($clave, $valor);`.
   - Llamarla desde `bootstrap.php` justo después de `resolver_tenant()`.
   - Helper `cfg(string $clave, $default=null)` para leer config sin depender de constantes.

3. **SMTP sensible**: `MAILUSER`/`CLAVEMAIL` y el `include("/var/www/todos/inicia.php")` de `registrar-pago.php`. Decidir: guardarlas cifradas en `colegio_config` o seguir leyéndolas de archivo. Documentar.

4. **Shim de `inicia.php`** en la ruta vieja: que `../inicia.php` simplemente no rompa (o redirija a `cargar_config_legacy`), porque varios módulos hacen `include_once "../inicia.php"`.

## Criterio de aceptación
- `defined('NKXS')` y `defined('RIFCOLM')` son `true` tras el bootstrap, con los valores del colegio activo.
- Cambiar de colegio (otro `?c=`) cambia los valores de las constantes.
- `home.php` y `registrar-pago.php` del piloto muestran nombre, RIF y bancos correctos sin tocar su código.
