<?php
/**
 * Configuracion del Parche fix_acl
 * ==================================
 * Corrige conf/acl.auth.php en todas las wikis.
 * Agrega/actualiza reglas base estándar y preserva reglas custom.
 */

// Ruta base de escaneo
define('SEARCH_PATH', '/home/systeng3/public_html');

// Directorio de logs
define('LOG_DIR', __DIR__);
define('LOG_FILE', LOG_DIR . '/fix_acl.log');

// Tiempo maximo por ejecucion (segundos) - bajo por Cloudflare
define('MAX_EXECUTION_TIME', 55);

// Memoria maxima
define('MEMORY_LIMIT', '128M');

// ============================================================
// GRUPOS ESTANDAR (las reglas base que deben existir)
// ============================================================
// Estos son los grupos que se gestionan como "base".
// Cualquier grupo que NO esté aquí se considera "custom" y se preserva tal cual.
$STANDARD_GROUPS = ['@ALL', '@lectura', '@admin', '@director', '@editarproyecto', '@editartareas'];

// Grupo a ELIMINAR si está presente (sie obtiene permisos via $conf['superuser'])
$GROUPS_TO_REMOVE = ['@sie'];

// ============================================================
// REGLAS BASE ESTANDAR (template)
// ============================================================
// Formato: cada entrada es [namespace, group, permission]
// Permisos DokuWiki: 0=none, 1=read, 2=edit, 4=create, 8=upload, 16=delete, 255=admin
$STANDARD_RULES = [
    // BASE: Sin acceso por defecto
    ['*',             '@ALL',              0],

    // GRUPO LECTURA - Solo lectura
    ['*',             '@lectura',          1],

    // GRUPO ADMIN - Administracion (sin acceso a proyectos)
    ['*',             '@admin',            8],
    ['proyectos:*',   '@admin',            1],
    ['es:*',          '@admin',            1],

    // GRUPO DIRECTOR - Lider de operacion
    ['*',             '@director',         8],
    ['proyectos:*',   '@director',         255],
    ['es:*',          '@director',         255],
    ['comercial:*',   '@director',         255],

    // GRUPO EDITARPROYECTO - Gestion proyectos donde participa
    ['*',             '@editarproyecto',   1],
    ['proyectos:*',   '@editarproyecto',   255],

    // GRUPO EDITARTAREAS - Tareas en proyectos donde participa
    ['*',             '@editartareas',     1],
    ['proyectos:*',   '@editartareas',     8],
];

// ============================================================
// HEADER del archivo ACL generado
// ============================================================
$ACL_HEADER = <<<'EOH'
# acl.auth.php
# <?php exit()?>
# Don't modify the lines above
#
# Access Control Lists
#
# Reglas base actualizadas por fix_acl (siedeployer)
# Fecha: %DATE%
#
EOH;
