Diferencia entre revisiones de «SIU-Guarani/Version3.21.0/3w/configuracion»

De SIU
Saltar a: navegación, buscar
m
m
Línea 349: Línea 349:
 
],
 
],
  
      /**
+
      /**
 
* El número mínimo de caracteres que un usuario debe escribir antes de realizar una búsqueda.
 
* El número mínimo de caracteres que un usuario debe escribir antes de realizar una búsqueda.
 
* El cero es útil para datos locales con solo unos pocos elementos,
 
* El cero es útil para datos locales con solo unos pocos elementos,
Línea 459: Línea 459:
 
**'''ttl_segundos''': Tiempo en segundos que debe esperar el alumno en caso de que falle el control. Es un número entero.
 
**'''ttl_segundos''': Tiempo en segundos que debe esperar el alumno en caso de que falle el control. Es un número entero.
  
*'''ui_autocomplete_min_length''': El número mínimo de caracteres que un usuario debe escribir antes de realizar una búsqueda.
+
*'''ui_autocomplete_min_length''': Número mínimo de caracteres que un usuario debe escribir antes de realizar una búsqueda en un [https://api.jqueryui.com/autocomplete/#option-minLength Autocomplete].
 
**'''Valores posibles''': Números enteros.
 
**'''Valores posibles''': Números enteros.
 
**'''Valor por defecto''': 3.
 
**'''Valor por defecto''': 3.

Revisión del 15:38 27 jun 2023

Archivo de configuración: instalacion/alias.conf

Reemplazar:

  • <path proyecto 3w> por el path de la instalación del SIU-Guaraní 3w.
  • <nombre del alias> por el alias que se va a usar
  • <bloque de acceso> por el nombre del bloque de acceso
# Este template permite tener instalado en diferentes alias las diferentes unidades
# académicas y también define de manera centralizada todo el manejo de nombres en los dominios
# LOS ALIAS NO TIENEN QUE TENER PUNTOS

Alias /<nombre del alias> "<path proyecto 3w>/src/siu/www"

<Directory "<path proyecto 3w>/src/siu/www">
        Options FollowSymLinks
        DirectoryIndex index.php
        Order allow,deny
        Allow from all
        AddDefaultCharset ISO-8859-1
        include <path proyecto 3w>/instalacion/rewrite.conf
</Directory>

<Location /<nombre del alias>>
        # representa el id interno de la unidad académica. Se correponde con la entrada
       # en el archivo config.yml ua_<ACC_ID>. Ej: ua_VET
       SetEnv ACC_ID <bloque de acceso>

        # se setea de esta manera para que esta variable sea accesible desde mod_rewrite
       # ATENCIç?N: el alias debe empezar con '/'
       SetEnvIf always_match ^ ACC_ALIAS=/<nombre del alias>
</Location>

Archivo de configuración: instalacion/config.php

El archivo de configuración tiene un bloque principal llamado global. En este bloque se configuran valores globales a todas las unidades de acceso de proyecto.
Reemplazar:

  • <path proyecto 3w> por el path de la instalación del SIU-Guaraní 3w.
  • <nombre del alias> por el alias que se va a usar
  • <bloque de acceso> por el nombre del bloque de acceso

A continuación vemos un archivo de configuración de ejemplo:

<?php

use Monolog\Logger;
use SIU\Chulupi\util\log\log;
use siu\modelo\autenticacion\fuente_usuarios_guarani;
use SIU\Chulupi\util\mail;
use PHPMailer\PHPMailer\SMTP;

return [
        'global' =>
        [
                'produccion' => false,
                'usar_personalizaciones' => true,
                'sesion_timeout' => 10000,
                'sesion_maxtime' => 10000,
                'dir_attachment' => '/tmp',
                'ssl' => [
                        'alcance' => 'none',//'none' | 'all'
                        'redirigir_ssl' => true,//true | false
                ],
                //      'server_name' => '192.168.126.180',
                'imagen_alumno_dir' => '<PATH_TO_3W>/src/siu/www/_comp/_img_alumnos/',
                'imagen_alumno_url' => '<URL_TO_3W>/_comp/_img_alumnos/',
                'salt' => '9bf057558b90263987bd8f99caf2e92f7efc1a13',
                'url_kolla' => 'http://localhost/kolla/3.4/',

               
                /**
                * URL del frontend de Sanaviron-Quilmes
                */

                'url_sq_pagos' => 'http://localhost/sq_pagos/',

                // Directorio donde se guardar los archivos de metadata de operaciones inactivas
                // por defecto se guardan en instalacion/operaciones_inactivas
                //    'dir_ops_inactivas' => '/tmp/ops',

                /**
                 * Configuración de reCAPTCHA 2
                 * Para obtener el par de API keys ('site_key' y 'secret_key')
                 * ir a http://www.google.com/recaptcha/admin
                 * opciones: Son las opciones de Guzzle (http://docs.guzzlephp.org/en/stable/request-options.html)
                 */

                'captcha' =>
                [
                        'activo' => true,
                        'intentos_login' => 3,
                        'site_key' => '', //Ej: '6LfeSwgUAAAAAIwfEadYVIsp_-D8xRHi_qTEGS-x'
                        'secret_key' => '', //Ej: '6LfeSwgUAAAAABXZhiGF0vmABVgyyUZ7eIgk_vLD'
                        'opciones' => [
                                //'proxy' => 'tcp://localhost:8125',
                                //'verify' => false,
                        ]
                ],
                'proxy' =>
                [
                        'activo' => false,
                        'proxy_host' => 'proxy.xxxxxxxxx',
                        'proxy_port' => 8080,
                        'proxy_username' => 'PROXY-USERNAME',
                        'proxy_password' => 'PROXY-PASSWORD'
                ],
                'google_analytics' =>
                [
                        'activo'  => true,
                        'account' => 'UA-xxx-y'
                ],
                'log' =>
                [
                        'activo' => true,
                        /**
                         * Niveles de log:
                         *  - 'log::NIVEL_DEBUG'        -> Recomendado en Desarrollo
                         *  - 'log::NIVEL_INFO'         -> Solo muestra información de tiempo y memoria consumida
                         *  - 'log::NIVEL_ERROR'        -> Recomendado en Producción
                         */

                        'nivel' => log::NIVEL_DEBUG,
                       
                        /**
                         * Nivel mínimo de log para consola (CLI):
                         *  - 'Logger::DEBUG'   -> Recomendado en Desarrollo
                         *  - 'Logger::INFO'
                         *  - 'Logger::NOTICE'
                         *  - 'Logger::WARNING'
                         *  - 'Logger::ERROR'   -> Recomendado en Producción
                         *  - 'Logger::CRITICAL'
                         *  - 'Logger::ALERT'
                         *  - 'Logger::EMERGENCY'
                         */

                        'nivel_consola' => Logger::DEBUG,
                       
                        /**
                         * Nivel mínimo de log para Web:
                         *  - 'Logger::DEBUG'   -> Recomendado en Desarrollo
                         *  - 'Logger::INFO'
                         *  - 'Logger::NOTICE'
                         *  - 'Logger::WARNING'
                         *  - 'Logger::ERROR'   -> Recomendado en Producción
                         *  - 'Logger::CRITICAL'
                         *  - 'Logger::ALERT'
                         *  - 'Logger::EMERGENCY'
                         */

                        'nivel_web' => Logger::DEBUG,
                       
                        'barra_dev' => true,
                ],
                'ini_debug' => false,
                /**
                * Indica el manejador de cache a utilizar.
                * NOTA: si utiliza un esquema de servidores distribuidos se recomienda
                * utilizar 'memcached' y configurar uno o más servidores de cache.
                *  - Valores posibles: apc|memcached
                */

                'manejador_cache_memoria' => 'apc',
                /**
                * Configuración de servidores de memcached
                */

                'memcached' =>
                [
                        'server_1' =>
                        [
                                'host' => '127.0.0.1',
                                'port' => 11211,
                                'peso' => 1,
                        ],
                ],
                'smtp' =>
                [
                        'from' => 'guarani.siu@gmail.com',
                        'host' => 'smtp.gmail.com',
                        'seguridad' => mail::SSL,
                        'auth' => true,
                        'port' => 465,
                        'reply_to' => 'guarani.siu@gmail.com',
                        /**
                         * Debug output level.
                         * Options:
                         * * SMTP::DEBUG_OFF (`0`) No debug output, default
                         * * SMTP::DEBUG_CLIENT (`1`) Client commands
                         * * SMTP::DEBUG_SERVER (`2`) Client commands and server responses
                         * * SMTP::DEBUG_CONNECTION (`3`) As DEBUG_SERVER plus connection status
                         * * SMTP::DEBUG_LOWLEVEL (`4`) Low-level data output, all messages.
                         */

                        'smtp_debug' => SMTP::DEBUG_OFF,
                       
                        /**
                         * RECOMENDADO
                         * Si se usa OAUTH2 se debe configurar lo siguiente
                         * Obtener los tokens de aquí: https://github.com/PHPMailer/PHPMailer/wiki/Using-Gmail-with-XOAUTH2
                         */

                        'auth_type' => mail::AUTH_TYPE_XOAUTH2,
                        'oauth2_email' => 'guarani.siu@gmail.com',
                        'oauth2_client_id' => 'RANDOMCHARS-----duv1n2.apps.googleusercontent.com',
                        'oauth2_client_secret' => 'RANDOMCHARS-----lGyjPcRtvP',
                        'oauth2_refresh_token' => 'RANDOMCHARS-----DWxgOvPT003r-yFUV49TQYag7_Aod7y0',
                       
                        /**
                         * NO RECOMENDADO: Se debe dar "Acceso de apps menos seguras" en Gmail
                         * Si se usa autenticación simple configurar 'usuario' y 'clave'
                         */

                        //'auth_type' => mail::AUTH_TYPE_USER_PASS,
                        //'usuario' => 'guarani.siu@gmail.com',
                        //'clave' => '',
                       
                        /*
                         * Decido si verifico los certificados en una conexión SSL
                         * Ver: https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting#php-56-certificate-verification-failure
                         */

                        /*'ssl' => [
                                'verify_peer' => false,
                                'verify_peer_name' => false,
                                'allow_self_signed' => true
                        ]*/

                ],
                //Cantidad de emails que se desencolaran y enviaran cada vez que se ejecute el cron o tarea programada (0 para ilimitado)
                'cant_emails_a_enviar_por_corrida_cron' => 0,

                //Cantidad máxima de destinatarios por email, los emails serán paginados por esta cantidad (0 para ilimitado)
                'cant_max_destinatarios_por_email' => 0,

                //Cantidad máxima de opciones de respuestas devueltas por kolla (0 para ilimitado)
                'encuestas_cantidad_maxima_respuestas_kolla' => 100,

                //Evaluacion y eliminacion de rtas de kolla con texto libre que esten incluidas en
                //regex: "/^[\.\-\,\ ]+$/","/no.*tu/i","/no.*ten/i","/no fue mi/i","/no opin/i","/sin coment/i","/^ningun./i","/^sin observ/i","/no hay observ/i","/nada para agregar/i","/nada en especial/i","/sin opini/i","/^sin descripc/i"
                'encuesta_evaluar_rtas_libres_expreg' => false,

                /**
                * Indica si habilitar el autocompletado de los inputs o no (por defecto NO)
                *  - Valores posibles: true|false
                */

                'habilitar_sugerencias_autocompletar_input' => false,

                /**
                 * Indica si habilitar el modo prueba de stress o no
                 *  - Valores posibles: true|false
                 */

                'habilitar_prueba_stress' => false,
               
                /**
                 * Indica si habilitar el chequeo de version de php vs BD (deshabilitarl al momento de poner en producción)
                 *  - Valores posibles: true|false
                 */

                'chequear_version_bd' => true,
               
                /**
                 * Indica si habilitar la vista de agenda del Alumno (cursadas y examenes vigentes)
                 *  - Valores posibles: true|false
                 */

                'habilitar_agenda_alumno' => true,

                /**
                 * Configuración de Repositorio Digital Integrado (RDI).
                 * Para utilizarlo, es necesario tener establecido el parámetro del sistema
                 * "usa_repositorio_digital" en "S: Se almacenan los documentos en el repositorio digital"
                 */

                'rdi' => [
                        'config' => [
                                'proyecto' => 'guarani3w',
                                'repositorio' => 'url_repositorio', // Ejemplo: 'http://192.168.125.1:8081/nuxeo/atom/cmis',
                                'usuario' => '****',
                                'clave' => '****',
                                'conector' => 'CMIS_ATOM',
                        ],
                ],
               
                /**
                 * URL de la aplicación SIU-Huarpe, se puede obtener desde 'SIU-Araí Usuarios' solapa 'Aplicaciones'.
                 *  - Ejemplo: http://localhost/huarpe
                 */

                'huarpe_url' => 'URL_SIU_HUARPE',
               
                /**
                 * URL de la bandeja de documentos pendientes de autorización de SIU-Huarpe.
                 *  - Ejemplo: http://localhost/huarpe/documentos
                 */

                'huarpe_url_bandeja' => 'URL_SIU_HUARPE/documentos',
               
                /**
                 * URL de la de ayuda para identidad de genero
                 *  - Ejemplo: https://drive.google.com/file/d/1WFW6s9CAZro2mtOs1JIkBX0la6fzJP_o/view
                 */

                'url_identidad_genero' => 'https://drive.google.com/file/d/1WFW6s9CAZro2mtOs1JIkBX0la6fzJP_o/view',

                /**
                 * E-mail de ayuda para contactarse con la Universidad.
                 *  - Ejemplo: uunn@edu.ar
                 */

                'email_ayuda' => '',

                'accesos' =>
                [
                        'des01' =>
                        [
                                'personalizacion' => NULL,
                                'database' =>
                                [
                                        'vendor' => 'pgsql',
                                        'dbname' => 'guarani3',
                                        'schema' => 'negocio',
                                        'schema_toba' => 'desarrollo',
                                        'host' => 'localhost',
                                        'port' => 5432,
                                        'pdo_user' => 'postgres',
                                        'pdo_passwd' => 'postgres',
                                ],

                        // Colocar aquí los ids de responsables académicas por punto de acceso. Si el array es vacío no filtra por responsable académica ej:'ptoacc_ra'=> ['21'].
                        'ptoacc_ra' => [],
                                // Métodos de autenticación habilitados para este punto de acceso, si se deja vacío incluye todos.
                                // Ej: [fuente_usuarios_guarani::AUTH_FORM] solo habilita autenticación por formulario  
                                // Ej: [fuente_usuarios_guarani::AUTH_FORM, fuente_usuarios_guarani::AUTH_SAML] habilita autenticación por formulario y SAML  
                                'metodos_autenticacion_habilitados' => [],
                        ],

                ],
                'registrar_log_ingresos' => true,

                /**
                 * Host donde se corre Jasper
                 *  - Ejemplo: 127.0.0.1
                 */

                'jasper_host' => '127.0.0.1',

                /**
                 * Puerto donde se corre Jasper
                 *  - Ejemplo: 8081
                 */

                'jasper_port' => '8081',

               /**
                * Tiempo de expiración del token para recuperar contraseña (mdp_personas.token)
                * Debe ser un interval de PostgreSQL (ver: https://www.postgresqltutorial.com/postgresql-tutorial/postgresql-interval/)
                *  - Ejemplos: '30 minutes', '1 hour', '2 hours', '1 day', '3 days', '1 month'
                */

                'ttl_token' => '1 day',

               /**
                * Control de acceso simultáneo a operaciones
                */

                'control_simultaneidad_operaciones' => [

                    'activo' => false,

                    'ttl_segundos' => 1,
           
                ],

               /**
                * El número mínimo de caracteres que un usuario debe escribir antes de realizar una búsqueda.
                * El cero es útil para datos locales con solo unos pocos elementos,
                * pero se debe usar un valor más alto cuando una búsqueda de un solo carácter puede coincidir con unos pocos miles de elementos.
                * https://api.jqueryui.com/autocomplete/#option-minLength
                */

                'ui_autocomplete_min_length' => 3,

        ],
];

Veamos las entradas de este archivo una por una:

  • produccion *: indica si el sistema está o no en un entorno de producción. Puede ser true o false.
  • usar_personalizaciones *: si se encuentran activadas o no las personalizaciones. Puede ser true o false.
  • sesion_timeout *: tiempo de timeout de la sesión en minutos. Debe ser un número entero.
  • sesion_maxtime *: tiempo máximo de duración de sesión en minutos. Debe ser un número entero.
  • ini_debug: si está activo busca una clase siu\debug y ejecuta el metodo ini() despues de cargar el nucleo. Puede ser true o false. Por defecto es false.
  • salt *: en algunos lugares de la aplicación se encriptan cadenas con sha1. Se utiliza este salt para hacer la encriptación. Es un string.
  • url_recursos: url de los recursos compilados del sistema (ver pasaje a producción). Si no se setea por defecto los busca en la carpeta www/_comp. Es una url (string). Por defecto es string vacío.
  • dir_temp: path al directorio donde se guardarán los archivos temporales del sistema (por ejemplo la cache de los templates twig). En esta carpeta Apache debe tener permisos de escritura. Es un path (string). Por defecto es: instalacion/temp/[conf_id]
  • dir_attachment: path al directorio donde se guardarán los attachments de los mensajes (string). Por defecto usa la carpeta especificada por dir temp. En esta carpeta Apache debe tener permisos de escritura.
  • ssl: configuración de SSL, la cual define si la aplicación es accedida vía el protocolo HTTP o HTTPS.
    • alcance: si se indica 'all' la aplicación es accedida vía el protocolo HTTPS, si se indica 'none' se accede vía el protocolo HTTP, esta ultima es la opción por defecto. Los valores posibles son: 'none'|'all'
    • redirigir_ssl: indica si se debe redirigir en el caso que se halla accedido con el protocolo incorrecto, por defecto es true (redirige). Puede ser true o false
  • captcha: configuración de captchas (por defecto usa reCAPTCHA 2). Si no se especifica este bloque no se usa captcha (es lo mismo que setear activo en false)
    • activo: indica si se activan los captchas a través de toda la aplicación. Puede ser true o false.
    • intentos_login: la cantidad de intentos de login que se pueden hacer antes de que se solicite ingresar un captcha. Es un número entero.
    • site_key: la clave pública de recaptcha (Clave del sitio). Obtener de aquí.
    • secret_key: la clave privada de recaptcha (Clave secreta). Obtener de aquí.
    • opciones: Son las opciones de Guzzle para el recaptcha.
  • log: configuración de logging. Si no se especifica este bloque no se usa el log (es lo mismo que setear activo en false).
    • activo: indica si el log está activo o no. Puede ser true o false.
    • nivel: el nivel de log. Los valores posibles son: error | info | debug
    • nivel_consola: Nivel mínimo de log para los comandos de consola, por defecto Logger::DEBUG. Ver los niveles que dispone Monolog.
    • nivel_web: Nivel mínimo de log para la aplicación web, por defecto Logger::DEBUG. Ver los niveles que dispone Monolog.
    • barra_dev: indica si la barra de development está activa. Los valores posibles son true o false
  • ubicacion_personalizaciones: por defecto las personalizaciones usan como nombre de directorio y alias el nombre que se define en la entrada personalizacion del acceso correspondiente. Si se desea cambiarlas por alguna razón se puede hacer a través de esta entrada. Para cada personalización se define el directorio dentro de src/pers y el alias para acceder a los recursos de la personalización.
    • id_personalizacion:
      • dir: ej1
      • alias: /bit
  • accesos *: en esta entrada se configuran los puntos de acceso de la aplicación, por lo menos tiene que haber uno. Ver configuración de alias.conf
    • id_acceso: el nombre del acceso <bloque de acceso>
      • ua: unidad académica de este acceso. Es obligatorio.
      • personalizacion: id de la personalización que se va a utilizar. Si está vacío no se utiliza ninguna personalización
      • database: información de conexión de la base de datos
      • ptoacc_ra: Colocar aquí los ids de responsables académicas por punto de acceso. Si el array es vacío no filtra por responsable académica ej:'ptoacc_ra'=> array('21').
      • metodos_autenticacion_habilitados: Métodos de autenticación habilitados para este punto de acceso, si se deja vacío incluye todos. Por ejemplo, [fuente_usuarios_guarani::AUTH_FORM] solo habilita autenticación por formulario, otro ejemplo seria [fuente_usuarios_guarani::AUTH_FORM, fuente_usuarios_guarani::AUTH_SAML] habilita autenticación por formulario y SAML.
  • cant_emails_a_enviar_por_corrida_cron: cantidad de emails a enviar por cada corrida del cron o por cada vez que se corre el comando enviar_emails. Si no se setea o se establece en '0' envía todos los emails encolados. Recibe un número entero.
  • cant_max_destinatarios_por_email: cantidad máxima de destinatarios por email, los emails serán paginados por esta cantidad. Si no se setea o se establece en '0' envía un solo email con todos los destinatarios. Recibe un número entero.
  • url_kolla: URL donde se encuentra instalado Kolla.
  • imagen_alumno_dir: Directorio donde se guardan las fotos de las personas, es utilizado por el comando importar_fotos para importar dichas fotos desde la base de datos al sistema de archivos. Acepta un path a un directorio ya sea dentro del 3W o externo.
  • imagen_alumno_url: URL donde se encuentran las fotos de las personas.
  • solicita_constancias_en_gestion: Determina si las constancias y certificados se solicitan desde Gestión o 3W (por defecto). En caso de estar habilitado (true) es requerido configurar también el parámetro 'url_gestion'.
    • Valores posibles: true|false
    • Valor por defecto: false
  • encuesta_evaluar_rtas_libres_expreg: Evaluación y eliminación de rtas de kolla de tipo texto libre que estén incluidas en expresión regular.
    • Valores posibles: true|false
    • Valor por defecto: false
  • encuestas_cantidad_maxima_respuestas_kolla: Cantidad máxima de opciones de respuestas devueltas por kolla (0 para ilimitado).
    • Valor por defecto: 0
  • url_gestion: Se utiliza para vincular 3W a Gestión. Se utiliza para la solicitud de certificados entre otros.
    • Valores posibles: URL base de Gestión.
    • Valor por defecto: Cadena vacía
  • url_sq_pagos: URL del frontend de Sanaviron-Quilmes (Módulo de facturación y cobranzas donde se efectúan los pagos de los cursos).
  • habilitar_prueba_stress: Indica si habilitar el modo prueba de stress o no. Esta pensado para el uso con la herramienta Apache JMeter™.
    • Valores posibles: true|false
    • Valor por defecto: false
  • chequear_version_bd: Indica si habilitar el chequeo de version de php vs BD (deshabilitarl al momento de poner en producción).
    • Valores posibles: true|false
    • Valor por defecto: true
  • habilitar_agenda_alumno: Indica si habilitar la vista de agenda del Alumno (cursadas y examenes vigentes).
    • Valores posibles: true|false
    • Valor por defecto: true
  • huarpe_url: URL de la aplicación SIU-Huarpe, se puede obtener desde 'SIU-Araí Usuarios' solapa 'Aplicaciones'.
  • huarpe_url_bandeja: URL de la bandeja de documentos pendientes de autorización de SIU-Huarpe.
  • manejador_cache_memoria: Indica el manejador de cache a utilizar. Si utiliza un esquema de servidores distribuidos se recomienda utilizar memcached y configurar uno o más servidores de cache.
    • Valores posibles: apc|memcached
    • Valor por defecto: apc
  • jasper_host: IP/URL donde se encuentre alojado el servicio Jasper. Por defecto es '127.0.0.1'. Se agregó a partir de la versión 3.20.1.
  • jasper_port: Puerto donde se encuentre alojado el servicio Jasper. Por defecto es '8081'. Se agregó a partir de la versión 3.20.1.
  • ttl_token: Tiempo de expiración del token para recuperar contraseña.
    • Valores posibles: Debe ser un Interval de PostgreSQL.
    • Valor por defecto: '1 day' (Un día).
    • Ejemplos: '30 minutes', '1 hour', '2 hours', '1 day', '3 days', '1 month'.
  • control_simultaneidad_operaciones: Control para que el alumno no pueda efectuar dos o más inscripciones simultáneas. Si no se especifica este bloque no se efectúa el control (es lo mismo que setear activo en false)
    • activo: Indica si se efectúa el control. Puede ser true o false, por defecto es false.
    • ttl_segundos: Tiempo en segundos que debe esperar el alumno en caso de que falle el control. Es un número entero.
  • ui_autocomplete_min_length: Número mínimo de caracteres que un usuario debe escribir antes de realizar una búsqueda en un Autocomplete.
    • Valores posibles: Números enteros.
    • Valor por defecto: 3.

٭el campo es obligatorio

NOTAS: Este archivo puede ser configurado en cascada, es decir, los valores globales pueden ser sobrescritos por los valores que se definen a nivel de bloque de acceso. Por ejemplo si se quiere sobrescribir el valor reply_to de la configuración del correo electrónico se hace como sigue:

<?php

return array(
    'global' =>
        array(
            ..............
            'smtp' =>
                array(
                    'from' => 'from_global@gmail.com',
                    'host' => 'smtp.gmail.com',
                    'seguridad' => 'ssl',
                    'auth' => true,
                    'port' => 465,
                    'usuario' => 'usuario_global@gmail.com',
                    'clave' => 'xxxxxxxxxxxxx',
                    'reply_to' => 'reply_to_global@gmail.com'
                ),
            ..............
            'accesos' =>
                array(
               
                'des01' =>
                    array(
                        'ua' => 'MED',
                        'personalizacion' => 'medicina',
                        'database' =>
                        array(
                            ..............
                        ),
                        'smtp' =>
                            array(
                                'reply_to' => 'reply_to_medicina@gmail.com'
                            ),
                    ),
               
                'des02' =>
                    array(
                        'ua' => 'VET',
                        'personalizacion' => 'veterinaria',
                        'database' =>
                        array(
                            ..............
                        )
                    ),

                ),
        ),
);

En este ejemplo el bloque de acceso des01 (medicina) sobrescribe el valor global reply_to a reply_to_medicina@gmail.com, en cambio el bloque de acceso des02 (veterinaria) utiliza el valor global (reply_to_global@gmail.com).