Nuevo módulo `soporte` con la documentación del proyecto en cuatro secciones:
manual de usuario (visible para todos), y documentación técnica, arquitectura
y operación (solo administradores).
- Markdown.php: renderizador propio del subconjunto que usa la documentación
(encabezados, listas anidadas, tablas, código, citas). Escapa todo el texto
antes de aplicar formato, así que los .md no pueden inyectar HTML. Se
prefirió un archivo auditable a incorporar una dependencia externa.
- DocIndex.php: descubre los .md, arma el árbol, resuelve acceso por sección
y construye el índice del buscador.
- Generadores.php: expande marcadores {{modulos}}, {{endpoints}}, {{tablas}},
{{roles}} y {{servicios}} leyendo el código y la base en cada carga, para
que los inventarios no puedan quedar desactualizados.
Se registra en SYSTEM_MODULES y se concede a los 12 roles con permission=read.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
37 lines
1.5 KiB
PHP
37 lines
1.5 KiB
PHP
<?php
|
|
/**
|
|
* Descriptor del módulo Soporte — documentación del proyecto.
|
|
* El manual de usuario es visible para cualquier usuario autenticado; el resto
|
|
* de secciones (técnica, arquitectura, operación) solo para administradores.
|
|
*/
|
|
|
|
$_sopEsAdmin = in_array($_SESSION['admin_user']['role'] ?? '', ['admin', 'superadmin'], true);
|
|
|
|
$_sopLinks = [
|
|
['name' => 'Documentación', 'icon' => 'fas fa-book', 'route' => '/erp.php?m=soporte&v=documentacion'],
|
|
['name' => 'Manual de usuario', 'icon' => 'fas fa-book-reader',
|
|
'route' => '/erp.php?m=soporte&v=documentacion&s=manual'],
|
|
];
|
|
|
|
if ($_sopEsAdmin) {
|
|
$_sopLinks[] = ['name' => 'Documentación técnica', 'icon' => 'fas fa-code',
|
|
'route' => '/erp.php?m=soporte&v=documentacion&s=tecnica'];
|
|
$_sopLinks[] = ['name' => 'Arquitectura', 'icon' => 'fas fa-sitemap',
|
|
'route' => '/erp.php?m=soporte&v=documentacion&s=arquitectura'];
|
|
$_sopLinks[] = ['name' => 'Operación y soporte', 'icon' => 'fas fa-life-ring',
|
|
'route' => '/erp.php?m=soporte&v=documentacion&s=operacion'];
|
|
}
|
|
|
|
return [
|
|
'slug' => 'soporte',
|
|
'name' => 'Soporte',
|
|
'icon' => 'fas fa-life-ring',
|
|
'category' => 'sistema',
|
|
'route' => '/erp.php?m=soporte&v=documentacion',
|
|
'is_active' => true,
|
|
'sort_order' => 90,
|
|
'oleada' => 1,
|
|
'description' => 'Documentación del proyecto: manual de usuario, técnica, arquitectura y operación',
|
|
'links' => $_sopLinks,
|
|
];
|