<?php
/**
 * Mapeo centralizado de tipos de proyecto.
 *
 * ANTES: Esta lógica estaba duplicada en thread.php, thread_report.php y thread_box.php.
 * AHORA: Un solo archivo fuente de verdad.
 *
 * Uso: include_once 'project_types.php';
 *      $info = getProjectTypeInfo($titulo);
 *      // $info['proyecto']   => 'A', 'B', 'C'...
 *      // $info['rest']       => nombre limpio del tipo
 *      // $info['carpeta']    => subcarpeta relativa
 *      // $info['servicio']   => 'outsourcing', 'asesoria', etc.
 *      // $info['formtipo']   => marco normativo para thread_box
 *
 * @author R**G
 */

/**
 * Obtiene la información del tipo de proyecto basándose en los primeros 20 caracteres del título.
 *
 * @param string $titulo   El título completo del thread.
 * @param int    $codigo   El ID del proyecto (para construir carpetas).
 * @return array           Información del tipo de proyecto.
 */
function getProjectTypeInfo($titulo, $codigo = 0)
{
    $rest = substr($titulo, 0, 20);

    // Mapeo centralizado: clave => [proyecto, nombre limpio, subcarpeta, servicio, marco normativo]
    $tipos = [
        "Revisoría fiscal (A" => [
            'proyecto'  => 'A',
            'rest'      => 'REVISORÍA FISCAL (Nuevo)',
            'carpeta'   => '',
            'servicio'  => '',
            'formtipo'  => 'NIAS - Cliente Nuevo',
            'rest_box'  => 'Revisoría Fiscal',
        ],
        "Revisoría fiscal (B" => [
            'proyecto'  => 'B',
            'rest'      => 'REVISORÍA FISCAL (Recurrente)',
            'carpeta'   => '/recurrente',
            'servicio'  => '',
            'formtipo'  => 'NIAS - Cliente Recurrente',
            'rest_box'  => 'Revisoría Fiscal',
        ],
        "Revisoría fiscal (C" => [
            'proyecto'  => 'C',
            'rest'      => 'REVISORÍA FISCAL (Nuevo)',
            'carpeta'   => '',
            'servicio'  => '',
            'formtipo'  => 'NAGAS - Cliente Nuevo',
            'rest_box'  => 'Revisoría Fiscal',
        ],
        "Revisoría fiscal (D" => [
            'proyecto'  => 'D',
            'rest'      => 'REVISORÍA FISCAL (Recurrente)',
            'carpeta'   => '/recurrente',
            'servicio'  => '',
            'formtipo'  => 'NAGAS - Cliente Recurrente',
            'rest_box'  => 'Revisoría Fiscal',
        ],
        "Revisoría fiscal (E" => [
            'proyecto'  => 'E',
            'rest'      => 'REVISORÍA FISCAL /PEI -(Nuevo)',
            'carpeta'   => '/pei',
            'servicio'  => '',
            'formtipo'  => 'NIAS - Cliente Nuevo',
            'rest_box'  => 'Revisoría Fiscal - P.E.I.',
        ],
        "Revisoría fiscal (F" => [
            'proyecto'  => 'F',
            'rest'      => 'REVISORÍA FISCAL /PEI (Recurrente)',
            'carpeta'   => '/pei/recurrente',
            'servicio'  => '',
            'formtipo'  => 'NIAS - Cliente Recurrente',
            'rest_box'  => 'REVISORÍA FISCAL - P.E.I.',
        ],
        "Revisoría fiscal (G" => [
            'proyecto'  => 'G',
            'rest'      => 'REVISORÍA FISCAL /PEI (Nuevo)',
            'carpeta'   => '/pei',
            'servicio'  => '',
            'formtipo'  => 'NAGAS - Cliente Nuevo',
            'rest_box'  => 'Revisoría Fiscal - P.E.I.',
        ],
        "Revisoría fiscal (H" => [
            'proyecto'  => 'H',
            'rest'      => 'REVISORÍA FISCAL /PEI (Recurrente)',
            'carpeta'   => '/pei/recurrente',
            'servicio'  => '',
            'formtipo'  => 'NAGAS - Cliente Recurrente',
            'rest_box'  => 'Revisoría Fiscal - P.E.I.',
        ],
        "Outsourcing contable" => [
            'proyecto'  => 'I',
            'rest'      => 'OUTSOURCING CONTABLE',
            'carpeta'   => '/outsourcing',
            'servicio'  => 'outsourcing',
            'formtipo'  => 'I',
            'rest_box'  => 'Outsourcing Contable',
        ],
        // Nota: Las siguientes claves tienen espacios al final para coincidir con los títulos originales.
        "Asesoría contable  " => [
            'proyecto'  => 'J',
            'rest'      => 'ASESORÍA CONTABLE',
            'carpeta'   => '/asesoria',
            'servicio'  => 'asesoria',
            'formtipo'  => '',
            'rest_box'  => 'Asesoría Contable',
        ],
        "Otros proyectos     " => [
            'proyecto'  => 'K',
            'rest'      => 'PROYECTO',
            'carpeta'   => '/otros',
            'servicio'  => '',
            'formtipo'  => '',
            'rest_box'  => 'Otros Proyectos',
        ],
        "Reporte de gestión " => [
            'proyecto'  => 'L',
            'rest'      => 'REPORTE DE GESTIÓN',
            'carpeta'   => '/reporte',
            'servicio'  => '',
            'formtipo'  => '',
            'rest_box'  => 'Reporte de Gestión',
        ],
        "Outsourcing         " => [
            'proyecto'  => 'M',
            'rest'      => 'OUTSOURCING /PEI',
            'carpeta'   => '/outsourcing/pei',
            'servicio'  => 'outsourcing:pei',
            'formtipo'  => '',
            'rest_box'  => 'Outsourcing PEI',
        ],
        "Asesoría           " => [
            'proyecto'  => 'N',
            'rest'      => 'ASESORÍA CONTABLE /PEI',
            'carpeta'   => '/asesoria/pei',
            'servicio'  => 'asesoria:pei',
            'formtipo'  => '',
            'rest_box'  => 'Asesoría PEI',
        ],
    ];

    // Buscar coincidencia.
    $default = [
        'proyecto'   => 'X',
        'rest'       => $rest,
        'carpeta'    => '',
        'servicio'   => '',
        'formtipo'   => '',
        'rest_box'   => '',
        'micarpeta'  => '',
    ];

    if (isset($tipos[$rest])) {
        $info = $tipos[$rest];
        $info['micarpeta'] = "data/pages/proyectos/control/" . $codigo . $info['carpeta'];
        return $info;
    }

    return $default;
}
