====================================================================================================
12.0.73.1 - 2023/07/17 - EAG
====================================================================================================
### Fixed
- Urls taxonómicas en listado de categorías mostraban enlace incorrecto
- Error al generar taxport dinámicas, la invocación del proceso no era correcta cuando se accedía
  directamente a una taxport sin friendly
  Requiere reinicio de Apache para corregir

====================================================================================================
12.0.73.0 - 2023/07/13 - AVP/EAG
====================================================================================================
### Added
- Dominio desde el cual Prontus envia correos es configurable
- Agrega botón para copiar url de archivos adjuntos, multimedia e imágenes en el fid
- Agrega validación al guardar la configuración de Elasticsearch para impedir que se agreguen marcas no permitidas en ELASTICSEARCH_SEARCH_META.
- Agrega parsing de marca %%fechap%% a las plantillas de resultados de búsqueda de elasticsearch. Devuelve la fecha de publicación en formato yyyymmdd.

### Changed
- Urls taxonómicas en listado de categorías se generan en base a las plantillas disponibles, antes
    se usaban las páginas generadas
- Modo de buscador es por defecto 'or'
- Al abrir friendly de una portada taxonómica o tagonómica agrega el /p/1 para la primera página
- Parsea datos del artículo en las salidas del MaM

### Fixed
- Agrega un caso de respuesta en el posting a Facebook para evitar mostrar mensajes de exception
    al usuario si es posible.
- Elimina entidades no compatibles con el formato xml, para la salida .xml de las marcas de datos
- Elimina codigo sin uso y verificaciones innecesarias en cgis de busqueda de elastic search
- Error al mostrar permisos para crear nuevos usuarios
- No se regeneraban portadas tag de tags eliminados de un artículo al guardarlo

====================================================================================================
12.0.72.0 - 2023/05/25 - AVP/EAG
====================================================================================================
### Fixed
- Generación de taxport dinámicas no procesaba todas las marcas que si se procesaban en las taxport
    de forma normal
- Respuesta de publicación a twitter no se procesaba correctamente en caso de error

====================================================================================================
12.0.72.0 - 2023/05/25 - AVP/EAG
====================================================================================================
### Added
- Agrega script para respaldar archivos en un directorio arbitrario, uso:
    perl cgi-cpn/utils/prontus_backup_dir.pl <dir> <ext>
- Agrega url del formulario en la respuesta al administrador
- Filtra caractéres no válidos al ingresar url fija para categorías
- Nuevo campo título para relatos minuto a minuto: mam_title
- Opción para agregar rel nofollow en editor de texto

### Changed
- Actualiza jQuery de cpan y front a versión 3.7.0
- Implementa posting a twitter usando la API v2.
- Modifica procesamiento de banco de imágenes para mejorar rendimiento

### Fixed
- Elimina el requisito maxlength del campo FB_ACCESS_TOKEN.
- Error al cargar css desde include y no existir css en la plantilla del artículo
- Mostraba fecha publicacion en vez de fecha de expiración en listado de artículos por area
- Error en cierre de listado de minuto a minuto
- Error al detectar si se usa CDATA en campos privados del artículo
- Subtítulos para video se cargaban incorrectamente

====================================================================================================
12.0.71.0 - 2023/05/02 - AVP/EAG
====================================================================================================
### Added
- Puede configurar friendly url para portada taxonómica que contiene todas las taxonomías
- Verifica y avisa si fotos estan publicadas en campos fotofija al borrar
- Botón para seleccionar y borrar todas las fotos sin uso del artículo

### Changed
- %%_tag_url('<filtro>', '<plantilla>')%% quedaba vacio si no existia friendly asociada al tag,
    ahora reemplaza el path al archivo real
- Mejora validación de TS en prontus form

### Fixed
- Mejora textos de validación de la variable FRIENDLY_URLS_LARGO_TITULAR.
- Mejora la captura de errores en el backup a dropbox.
- Corrige manejo de tags para evitar problemas con caracteres especiales

====================================================================================================
12.0.70.0 - 2023/04/12 - EAG
====================================================================================================
### Added
- Revisa y agrega índices a las tablas SQL de Prontus para mejorar rendimiento

### Changed
- Homologa orden usado para resultados de listas y multitag
- Actualiza jQuery de cpan y front a versión 3.6.4

====================================================================================================
12.0.69.0 - 2023/04/05 - AVP/EAG
====================================================================================================
### Added
- Implementa control de acceso de usuarios a prontus, se puede dejar al usuario sin acceso a prontus
    sin desactivar la cuenta. Permite que al usar SSO se pueda limitar el acceso de los usuarios a
    los prontus compartidos
- Campo _seo_url para portadas se guarda con la ruta del archivo si no se ingresa nada más.
- Utilidad para regenerar links de friendly 5 permite especificar rango para artículos y redirects

### Changed
- Captura error log de prontus search
- Agrega campo lastmod a sitemap pags

### Fixed
- Quita consultas a google stats cuando no esta activado
- Recuadros de foto fija se podían arrastrar sin tener utilidad
- Asignación incorrecta de artículos y portadas en un usuario nuevo cuando se usa SSO de Prontus
- Fallaba la inclusion de macros en el fid si habia un espacio despues del nombre
- Marca _fecham no mostraba valor correcto
- Elimina la variable de configuración DROPBOX_OAUTH_TOKEN, que es efímera y pasa a obtenerse programáticamente
- Agrega checks en la cgi de backup a dropbox para terminar antes en caso de error.
    mejora los checks por la existencia y validez del access token
    mejora al control de errores.
- Error en debian 11 en listado administrador de multimedia
- Buscar articulos relacionados para publicar urls en el fid no filtraba artículos sin vista

====================================================================================================
12.0.68.0 - 2023/02/21 - AVP/EAG
====================================================================================================
### Changed
- Solo usuario admin, id: 1, puede editar los datos del usuario id:1

### Fixed
- Al capturar imagen desde un video la imagen se guardaba sin dimensiones
- Busqueda de tags en fid fallaba si tag tenia caracteres especiales en el nombre, por ej: (:?\)
- Tareas de actualizacion fallaban al no existir BD configurada
- Corrige check de edición de portadas al buscar versiones anteriores

====================================================================================================
12.0.67.0 - 2023/02/14 - EAG
====================================================================================================
### Added
- Implementa recuperación de versiones anteriores de una portada

### Changed
- Actualiza Font Awesome a 6.3.0

### Fixed
- Al borrar un artículo sin friendly se borraba el symlink index.html del document root
- Error al cargar descripciones de galeria de fotos al no tener multivistas
- Error en parametros enviados para descargar datos de prontus form

====================================================================================================
12.0.66.1 - 2023/01/25 - EAG
====================================================================================================
### Fixed
- Error al validar slug de friendly 4
- Taxports dinámicas no consideraban multivistas para funcionar

====================================================================================================
12.0.66.0 - 2023/01/19 - EAG
====================================================================================================
### Changed
- Convierte llamados GET a POST en el cpan cuando corresponde
- Carga solo 1 vez los tags en el fid
- Al intentar cambiar de portada se borran estos datos de la memoria

### Fixed
- Error al guardar artículos con tags, No conectaba bd para buscar urls de tags al no usar friendly 5
- Configuración no mostraba si estaban desactivadas las friendly url

====================================================================================================
12.0.65.1 - 2023/01/17 - EAG
====================================================================================================
### Fixed
- Corrige error en selectores para regenerar calendarios

====================================================================================================
12.0.65.0 - 2023/01/16 - EAG
====================================================================================================
### Added
- Valida que datos recibidos correspondan a portada solicitada
- Implementa valores asociados a las vistas para seo y datos de galería de fotos
    Campos de otras vistas usan el sufijo <vista>.
  Variable de configuración SEO_MV activa las opciones
- Implementa marca _mv para identificar la vista actual en que se encuentra
- Soporte multivista en multitag, configuración para servidores web:
Nginx:
    # Sin Prontus id en la url, cambiar <prontus_id> por el identificador de la instancia Prontus asociada
    # Rewrite multitag
    rewrite ^/([^\/]+)/seccion/([^\/]+)/p/(\d+)$     /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=<prontus_id>&mv=$1&s=$2&p=$3;
    rewrite ^/([^\/]+)/tema/([^\/]+)/p/(\d+)$        /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=<prontus_id>&mv=$1&t=$2&p=$3;
    rewrite ^/([^\/]+)/subtema/([^\/]+)/p/(\d+)$     /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=<prontus_id>&mv=$1&st=$2&p=$3;
    rewrite ^/([^\/]+)/seccion/([^\/]+)/tema/([^\/]+)/p/(\d+)$       /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=<prontus_id>&mv=$1&s=$2&t=$3&p=$4;
    rewrite ^/([^\/]+)/seccion/([^\/]+)/subtema/([^\/]+)/p/(\d+)$    /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=<prontus_id>&mv=$1&s=$2&st=$3&p=$4;
    rewrite ^/([^\/]+)/tema/([^\/]+)/subtema/([^\/]+)/p/(\d+)$       /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=<prontus_id>&mv=$1&t=$2&st=$3&p=$4;
    rewrite ^/([^\/]+)/seccion/([^\/]+)/tema/([^\/]+)/subtema/([^\/]+)/p/(\d+)$      /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=<prontus_id>&mv=$1&s=$2&t=$3&st=$4&p=$5;
    # /Rewrite multitag

    Con Prontus id en la url
    # Rewrite multitag
    rewrite ^/([^\/]+)/([^\/]+)/seccion/([^\/]+)/p/(\d+)$    /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=$1&mv=$2&s=$3&p=$4;
    rewrite ^/([^\/]+)/([^\/]+)/tema/([^\/]+)/p/(\d+)$       /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=$1&mv=$2&t=$3&p=$4;
    rewrite ^/([^\/]+)/([^\/]+)/subtema/([^\/]+)/p/(\d+)$    /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=$1&mv=$2&st=$3&p=$4;
    rewrite ^/([^\/]+)/([^\/]+)/seccion/([^\/]+)/tema/([^\/]+)/p/(\d+)$      /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=$1&mv=$2&s=$3&t=$4&p=$5;
    rewrite ^/([^\/]+)/([^\/]+)/seccion/([^\/]+)/subtema/([^\/]+)/p/(\d+)$   /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=$1&mv=$2&s=$3&st=$4&p=$5;
    rewrite ^/([^\/]+)/([^\/]+)/tema/([^\/]+)/subtema/([^\/]+)/p/(\d+)$      /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=$1&mv=$2&t=$3&st=$4&p=$5;
    rewrite ^/([^\/]+)/([^\/]+)/seccion/([^\/]+)/tema/([^\/]+)/subtema/([^\/]+)/p/(\d+)$     /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=$1&mv=$2&s=$3&t=$4&st=$5&p=$6;
    # /Rewrite multitag

Apache:
    # Sin Prontus id en la url, cambiar <prontus_id> por el identificador de la instancia Prontus asociada
    # Rewrite multitag
    RewriteRule ^/?([^\/]+)/seccion/([^\/]+)/p/(\d+)$    /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=<prontus_id>&mv=$1&s=$2&p=$3 [PT]
    RewriteRule ^/?([^\/]+)/tema/([^\/]+)/p/(\d+)$       /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=<prontus_id>&mv=$1&t=$2&p=$3 [PT]
    RewriteRule ^/?([^\/]+)/subtema/([^\/]+)/p/(\d+)$    /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=<prontus_id>&mv=$1&st=$2&p=$3 [PT]
    RewriteRule ^/?([^\/]+)/seccion/([^\/]+)/tema/([^\/]+)/p/(\d+)$      /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=<prontus_id>&mv=$1&s=$2&t=$3&p=$4 [PT]
    RewriteRule ^/?([^\/]+)/seccion/([^\/]+)/subtema/([^\/]+)/p/(\d+)$   /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=<prontus_id>&mv=$1&s=$2&st=$3&p=$4 [PT]
    RewriteRule ^/?([^\/]+)/tema/([^\/]+)/subtema/([^\/]+)/p/(\d+)$      /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=<prontus_id>&mv=$1&t=$2&st=$3&p=$4 [PT]
    RewriteRule ^/?([^\/]+)/seccion/([^\/]+)/tema/([^\/]+)/subtema/([^\/]+)/p/(\d+)$     /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=<prontus_id>&mv=$1&s=$2&t=$3&st=$4&p=$5 [PT]
    # /Rewrite multitag

    # Con Prontus id en la url
    # Rewrite multitag
    RewriteRule ^/?([^\/]+)/([^\/]+)/seccion/([^\/]+)/p/(\d+)$    /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=$1&mv=$2&s=$3&p=$4 [PT]
    RewriteRule ^/?([^\/]+)/([^\/]+)/tema/([^\/]+)/p/(\d+)$       /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=$1&mv=$2&t=$3&p=$4 [PT]
    RewriteRule ^/?([^\/]+)/([^\/]+)/subtema/([^\/]+)/p/(\d+)$    /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=$1&mv=$2&st=$3&p=$4 [PT]
    RewriteRule ^/?([^\/]+)/([^\/]+)/seccion/([^\/]+)/tema/([^\/]+)/p/(\d+)$      /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=$1&mv=$2&s=$3&t=$4&p=$5 [PT]
    RewriteRule ^/?([^\/]+)/([^\/]+)/seccion/([^\/]+)/subtema/([^\/]+)/p/(\d+)$   /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=$1&mv=$2&s=$3&st=$4&p=$5 [PT]
    RewriteRule ^/?([^\/]+)/([^\/]+)/tema/([^\/]+)/subtema/([^\/]+)/p/(\d+)$      /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=$1&mv=$2&t=$3&st=$4&p=$5 [PT]
    RewriteRule ^/?([^\/]+)/([^\/]+)/seccion/([^\/]+)/tema/([^\/]+)/subtema/([^\/]+)/p/(\d+)$     /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=$1&mv=$2&s=$3&t=$4&st=$5&p=$6 [PT]
    # /Rewrite multitag

    La plantilla va en el mismo directorio con el nombre de la vista en el archivo:
    />prontus_id>/plantillas/multitag/default_<vista>.html

    Los nombres de las marcas llevan el nombre de la vista como sufijo, por ej:
%%if(_nom_s)%%
<a href="/seccion/%%_friendly_s%%/p/1">%%_nom_s_movil%%</a>
%%/if%%
%%if(_nom_t)%%
<a href="/tema/%%_friendly_t%%/p/1">%%_nom_t_movil%%</a>
%%/if%%
%%if(_nom_st)%%
<a href="/subtema/%%_friendly_st%%/p/1">%%_nom_st_movil%%</a>
%%/if%%

    Para generar el listado de multitags las plantillas van en el mismo directorio con el sufijo dee la vista:
    /<prontus_id>/plantillas/multitag/secciones_<vista>.html

    La marca del nombre lleva el sufijo de la vista:

<select class="form-control">
%%loop%%
    <option value="%%value%%">%%name_<vista>%%</option>
%%/loop%%
</select>

### Changed
- Modifica estructura de datos de portadas para evitar posibles errores de guardado
- Actualiza jQuery de cpan y front a versión 3.6.3
- Actualiza TinyMCE a 4.9.11
- Ordena tags alfabéticamente a mostrar en el fid
- No se pueden definir urls hacia portadas usando el Administrador de urls

### Fixed
- Error en purge cache al tener SSO activado
- Errores al guardar categorías con carácter &
- Corrige verificación de configuración de taxport dinámicas

====================================================================================================
12.0.64.0 - 2022/11/24 - EAG
====================================================================================================
### Added
- Agrega campos seo para multivistas de titulo y descripción en Portadas

### Changed
- Categorías deshabilitadas se pueden volver a mostrar
- Prontus form usa asunto de vista principal si no esta definido el de la vista particular
- Incrementa largo máximo en campos para ingresar url de portadas
- Filtra caracteres inválidos en campos para ingresar url de portadas

### Fixed
- Error en funcionamiento de asignación de f5 y seo de categorías
- Video que no se procesaba no generaba metadata
- Error al procesar rangos de fechas en calendarios

====================================================================================================
12.0.63.0 - 2022/10/25 - EAG
====================================================================================================
### Added
- Permite forzar ajuste de tamaño en fotos de galería, se debe agregar el texto "fit" al final de
    una configuración de tamaño por ejemplo:
    1:fotofija_galeria@@_low:65x65:fit

    Un ejemplo completo en un panel:
%%panel(Galería de Fotos, body6, _galeria_prontus.html, 1:fotofija_galeria@@_low:65x65:fit|2:fotofija_galeria@@_high:800x600)%%

### Changed
- utils/prontus_art_size_index.pl por defecto sólo actualiza los artículos que tienen tamaño 0, para
    actualizar todo se debe poner un 1 como ultimo parámetro, ej:
    utils/prontus_art_size_index.pl <prontus_id> 1

- Ayuda de Prontus usa correo de usuario para "responder a"

### Fixed
- Taxport dinámicas no soportaban múltiples loops en una plantilla
- Error al borrar urls asignadas a la raíz del sitio
- Artículos nuevos quedaban con tamaño 0 al guardar por primera vez
- Error en antigüedad de portadas

====================================================================================================
12.0.62.0 - 2022/10/17 - AVP/EAG
====================================================================================================
### Added
- Calendar permite definir etiquetas para meses para cada vista
    Colocar el siguiente tag con las etiquetas que se usaran para esa vista en la plantilla de la vista
<!-- MONTH_LIST=January,February,March,April,May,June,July,August,September,October,November,December -->

    Separar con comas y sin espacios

### Changed
- Al guardar genera relacionados por taxonomía para todas las tripletas del artículo
- Modifica uso de group by en listado de artículos

### Fixed
- Corrige problema en función Net::Amazon::S3::Client::Object::put_part, para versiones > 0.9
- Error de validación de parámetros de taxcalend
- Errores en manejo de datos SEO

====================================================================================================
12.0.61.1 - 2022/09/23 - EAG
====================================================================================================
### Fixed
- Error de semáforos ya no es fatal para prontus

====================================================================================================
12.0.61.0 - 2022/09/22 - EAG
====================================================================================================
### Added
- Agrega más información cuando se recodifica un video

### Changed
- Actualiza jquery a 3.6.1

### Fixed
- Verificación incorrecta de uso de perfiles antes de borrarlos
- Semáforo no se liberaba correctamente al cargar archivos en el fid
- Valida existencia de archivo multimedia antes de ejecutar ffmpeg

====================================================================================================
12.0.60.0 - 2022/09/06 - EAG
====================================================================================================
### Added
- Agrega índices a tabla de assets para mejorar rendimiento de BD

### Fixed
- Error en inicialización de document root en prontus_apache_startup.pls

====================================================================================================
12.0.59.0 - 2022/08/26 - AVP/EAG
====================================================================================================
### Added
- Agrega configuración de calendarios a configuración de artículos de Prontus. El cron de calendarios
    no necesita parámetros de fids a incluir o excluir
- Usa invocación a perl para llamar a qtfaststart
- Agrega indicador de espacio "otros" en dashboard, que incluye el espacio usado por html, js, prontus
    y todo lo que no es parte de imagenes, adjuntos y multimedia que es parte del sitio.

### Changed
- Mejora mensajes de información al borrar datos de Prontus Form

### Fixed
- Corrige check de vistas para mostrar el botón de análisis pagespeed.
- Agrega uso de CDATA a campos de xmls de sitemap para evitar errores con caracteres especiales
- Corrige enlaces erróneos al manual de desarrollo Prontus
- Unidades de medida en dashboard eran incorrectas
- Previene error al guardar si foto es original o no
- Purge solo busca url friendly de páginas html

====================================================================================================
12.0.58.0 - 2022/07/12 - AVP/EAG
====================================================================================================
### Changed
- Permite espacios al declarar cantidad de relacionados por taxonomía en plantilla
- Mejora eliminación de rutas relativas en lectura y escritura de archivos
- Actualiza Jqueryui a 1.13.1
- Actualiza Jquery de cpan a 3.6.0
- Actualiza moment.js a la última versión
- Posting, Form y Search validan ip usando HTTP_X_FORWARDED_FOR si esta activado algún cache
- Captchas validan ip usando REMOTE_ADDR

### Fixed
- Actualización de calendarios no funcionaba correctamente
- Relacionados por tags podían listar artículos repetidos
- Error al buscar urls friendly de tag port, a veces retornaba urls de tax port
- No se regeneraban taxport al borrar un artículo
- Error al listar los contenidos del S3 para un artículo, afectaba al actualizar los tamaños de un
 artículo
- No se mostraba correctamente cuando una portada había sido modificada "ayer"
- Modifica normalización de urls para evitar redirecciones externas

====================================================================================================
12.0.57.1 - 2022/04/28 - AVP/EAG
====================================================================================================
### Changed
- Repone procesamiento de portadas en Sitemaps.
- Implementa autenticación con OAUTH2 para Dropbox

### Fixed
- Listado de artículos fallaba en Prontus con friendly 1,2 y 3

====================================================================================================
12.0.57.0 - 2022/04/27 - EAG
====================================================================================================
### Added
- Configurar perfil 0 en lista de perfiles de un plugin, permite que sea usado por todos los perfiles
- Rescata friendly url de tagports en marca %%_fixed_tag_url%% en loops de artículos
- Agrega propiedades .ext y .size a fotos fijas

### Changed
- Quita geolocalización por defecto de Santiago en sitemaps

### Fixed
- Asignar un destino a la url / no funcionaba
- Error en generación de calendarios, omitía días miércoles y sábado
- Ruta incorrecta para imágenes en sitemap pags
- Error de compatibilidad en explorador de archivos en prontus con solo números en el nombre
- Error en posting a twitter

====================================================================================================
12.0.56.1 - 2022/04/12 - EAG
====================================================================================================
### Fixed
- Buscador no reemplaza prontus_id en mayúsculas
- Error de compatiblidad con nginx, faltaban librerías a usar
- Problemas de compatibilidad en buscador de artículos

====================================================================================================
12.0.56.0 - 2022/04/07 - EAG
====================================================================================================
### Added
- Agrega registro a operaciones de mantención que se ejecutan desde administrador Prontus
- Valida sesión al realizar logout

### Changed
- Identificador de sesion se cambia a UUID 4

### Fixed
- Control fecha y regeneración de portadas podían procesar archivos de portadas con
extension .xml<caracteres>, ahora se fija a extension .xml

====================================================================================================
12.0.55.0 - 2022/04/04 - EAG
====================================================================================================
### Added
- Agrega listado de 10 artículos mas pesados en S3 a dashboard

### Changed
- Biblioteca multimedia lista elementos del más nuevo al más antiguo
- Limpieza de cache de archivos, en Administrar/Mantenimiento/Limpieza de Cachés, permite purgar archivos
desde proxy cache y cloudflare

====================================================================================================
12.0.54.0 - 2022/03/25 - EAG/JOR
====================================================================================================
### Added
- Implementa Prontus Cards para publicar en editor visual de Prontus
- Archivos .sass se pueden editar en el Explorador de archivos de Prontus

### Changed
- Cambia funcionamiento interno al guardar usuarios de Prontus y sus permisos
- Modifica obtención de css de archivos incluidos en plantillas de artículos para mejorar compatibilidad
 y disminuir restricciones
- TITLEVAR y TEXTVARS quedan con minúsculas al crear una nueva configuración del buscador de Prontus

### Fixed
- Corrige llamados a métodos no estáticos en posting de twitter
- No funcionaba 2FA para login

====================================================================================================
12.0.53.0 - 2022/03/09 - EAG
====================================================================================================
### Changed
- Modifica SQL de listado de artículos para mejorar rendimiento
- Bitrate máximo de video permitido por defecto se sube a 2400
- Si audio de videos no es aac se recodifica

### Fixed
- No se podian guardar campos con valor 0 en artículos
- Error ortográfico en etiquetas de días de la semana

====================================================================================================
12.0.52.0 - 2022/03/02 - EAG/JOR
====================================================================================================
### Added
- Agrega opciones para asignar permisos de artículos y portadas al usar SSO de Prontus
- Agrega opción para usar plantilla html en mensaje de respuesta al administrador en las prontus forms.
- Editor visual de texto puede usar plantillas para agregar código, pueden ser archivos html en el
 servidor (accesibles via web) o definidos directamente.
En el fid despues de la macro _head.html, agregar:

%%macro(_head.html)%%
<script>
    Fid.tinyConfig.templates = [
        {title: 'Titulo 1', description: 'Descripcion 1', content: 'Texto Plantilla'},
        {title: 'Titulo 2', description: 'Descripcion 2', content: '<strong>plantilla</strong>.'},
        {title: 'Titulo 3', description: 'Descripcion 3', url: '/<prontus_id>/cpan/fid/snippets/test.html'}
    ];
</script>

o

%%macro(_head.html)%%
<script>
    Fid.tinyConfig.templates = "/<prontus_id>/cpan/fid/snippets/templates.json";
</script>
usando un json con la lista/contenido de plantillas

[
    {"title": "Titulo 1", "description": "Descripcion 1", "content": "Texto Plantilla"},
    {"title": "Titulo 2", "description": "Descripcion 2", "content": "<strong>plantilla</strong>."},
    {"title": "Titulo 3", "description": "Descripcion 3", "url": "/<prontus_id>/cpan/fid/snippets/test.html"}
]


### Changed
- Usuarios sin artículos y portadas asignadas son llevados al dashboard
- Elimina comentarios y expresiones ssi antes de buscar css en html
- Agranda modal de datos de Prontus form
- Prontus form muestra 7 columnas de datos recibidos en el fid

### Fixed
- Adjuntos de formularios no se mostraban al editar artículos

====================================================================================================
12.0.51.1 - 2022/02/28 - EAG
====================================================================================================
### Fixed
- Reemplazo erróneo de %%_prontus_id%% en plantillas de buscador Prontus

====================================================================================================
12.0.51.0 - 2022/02/14 - EAG
====================================================================================================
### Changed
- Largo máximo para usar el titular en las urls friendly queda en 150 caractéres
- Quita variable sin uso MAX_LAST_TAGS_4FID
- Desactiva verificación de certificados al consumir urls en caso de purge e indexación

### Fixed
- Corrige error al validar largo máximo para usar el titular en las urls friendly
- Purge de cloudflare siempre usaba sub-dominio www, lo que provocaba errores con sitios wwww.dominio.nn
- Buscador no reemplazaba prontus id en marcas de paginación.
- Reversa de la actualización de Prontus no revertía cambios en directorio prontus/cpan y prontus/front
- No se listaban las plantillas de categorias especificas para configurar friendly url en taxport

====================================================================================================
12.0.50.0 - 2022/01/26 - EAG
====================================================================================================
### Changed
- Utiliza la ip que viene en el header X_FORWARDED_FOR como ip remota, si esta presente.

### Fixed
- Prontus imprimir detectaba mal la vista a usar
- Validación del nombre de las fotos para generar fotosfijas era incorrecta
- Datos seo no funcionaban en portadas paralelas

====================================================================================================
12.0.49.0 - 2022/01/12 - EAG
====================================================================================================
### Added
- Borra espacios al inicio y final del titular de los artículos

### Changed
- Mejora restricciones para evitar que usuarios modifiquen artículos a los que no tienen permisos
- Buscador elimina "-" de palabras antes de buscar, ya que los artículos se indexan sin ese carácter

### Fixed
- Fotos cargadas con zip y asignadas a galería en un artículo nuevo se recortaban a tamaño exacto
- Error que no permitía borrar f5 si ya no exista link simbólico
- No se podian re-ordenar temas y subtemas de categorías
- Icono no cambiaba al expandir una sección o tema
- Administrador de usuarios no mostraba todos los perfiles creados
- Error en borrado de última página de tag ports
- Usuarios no podían cambiar la contraseña
- Problemas al enviar correos por actualización de libreria Email::MIME

====================================================================================================
12.0.48.0 - 2021/12/14 - EAG
====================================================================================================
### Added
- Agrega json de metadata de multimedia a purge
- Agrega marcas de seo a procesamiento de ifs de taxports

### Changed
- Mejora formateo de errores en modales
- Mueve lib_fechas.pm y lib_mam.pm a cgi-cpn

### Fixed
- Indexación de elasticseach se ejecutaba siempre al guardar artículo
- Error al guardar datos de SEO en taxport, audio y video eran obligatorios
- Fotos arrastradas desde DAM al cuerpo del artículo no utilizaban la url friendly
- Al copiar la url de una foto en el DAM no utilizaba la url friendly

====================================================================================================
12.0.47.0 - 2021/11/30 - EAG
====================================================================================================
### Added
- Implementa filtrado por taxonomía al buscar articulos relacionados
- Implementa filtrado por taxonomía al buscar artículos para urls

### Changed
- Realiza purge de urls en cloudflare y en proxy cache simultáneamente si estan configuradas ambas opciones
- Valida que los fids tengan al menos una plantilla asignada

### Fixed
- Al buscar artículos JOIN con Multitags se hace solo si es necesario
- Corrige ordenamiento de fotos para galería prontus al guardar, provocaba errores de publicación en
    algunos casos
- Tagports sin artículos o con 1 artículo quedaban cuando se quitaban los tags todos de los artículos
- Regeneración de todas las tagports no funcionaba correctamente y dejaba paginas sin artículos
- Importaba librería que no se usa

====================================================================================================
12.0.46.0 - 2021/11/24 - AVP/EAG/JOR
====================================================================================================
### Added
- Agrega lista de 10 artículos de mayor tamaño a dashboard
- Implementa sistema de relatos, minuto a minuto.
Para utilizar se usa la macro _mam_relato.html en el fid, por ejemplo:

%%panel(Minuto a Minuto, body1, _mam_relato.html)%%

Las plantillas para mam se guardan en:
/<prontus_id>/plantillas/mam
por ejemplo: include_articulo.html

Las marcas disponibles para implementar el loop de relatos son las siguientes:
%%loop%%
<article id="loop%%_loopcounter%%" data-id="%%mam_id%%">
    <span name="id_%%mam_id%%"></span>
    <span class="hora">%%fechahorap%%</span>
    %%if(mam_img)%%
        <img src="%%mam_img%%">
    %%/if%%
​
    %%mam_ts%%<br />
    %%mam_id%%<br />
    %%mam_date%%<br />
    %%mam_time%%<br />
    %%mam_minuto%%<br />
    %%mam_txt%%<br />
    %%mam_type%%<br />
    %%mam_img%%<br />
    %%mam_width%%<br />
    %%mam_height%%<br />
    %%mam_epoch%%<br />
    %%pubDate%%<br />
    %%fechahorap%%<br />
​
</article>
%%/loop%%

El resultado de procesar esta plantilla quedara en /%%_prontus_id%%/site/artic/%%_fechac%%/mam/%%_ts%%/site/<plantilla>.html
por ejemplo:
<!--#include virtual="/%%_prontus_id%%/site/artic/%%_fechac%%/mam/%%_ts%%/site/include_articulo.html" -->

Para consumir los datos en una pagina incrustar el siguiente script:
/prontus/front/js-local/MamReader.class.js
Se necesita un template para mostrar los nuevos resultados, por ejemplo:

<script id="tpl_mam_loop" type="text/template">
<article id="loop___loopcounter__" data-id="__mam_id__">
    <span name="id___mam_id__"></span>
    <p> <span class="hora">__fechahorap__</span> | __txtlink__</p>
    __if(mam_img)__
    <div style="display: block; width: 100%; margin: 0 auto;">
        <img src="__mam_img__" alt="__fecha__ - __hora__">
    </div>
    __/if__
​
    __mam_ts__<br />
    __mam_id__<br />
    __mam_date__<br />
    __mam_time__<br />
    __mam_minuto__<br />
    __mam_txt__<br />
    __mam_type__<br />
    __mam_img__<br />
    __mam_width__<br />
    __mam_height__<br />
    __mam_epoch__<br />
    __pubDate__<br />
    __fechahorap__<br />
​
</article>
</script>

Para iniciar se debe invocar asi:

let readerConfig = {
    "prontus": "next", // id del prontus
    "container_id": 'mam_container', // id del contendor donde estan los relatos
    "interval": 30000, // intervalo de recarga en milisegundos
    "ts": 20121029150710, // ts del articulo
    "last": document.getElementById('loop1').dataset.id, // ultimo id de relato
    "template_id": 'tpl_mam_loop' // id de template para el javascript
};
let reader = createMamReader();
reader.init(readerConfig);

El ultimo id de relato, se puede obtener desde el loop de los relatos, como se muestra en la plantilla anterior.

### Changed
- Permite listado de directorio "site" en explorador de archivos

### Fixed
- Error en editor de archivos al ejecutar en modo cgi
- Error en listado de elementos en Multimedia al usar paginación
- Error en fid al encontrar una url en conflicto
- Error al borrar articulos desde listado de artículos creados
- Problemas al editar artículos que no tienen plantilla asignada
- Corrige asignación de friendly 5 en taxports.
- Errores al guardar y mostrar opciones de indexación y priorización de artículos para buscadores
    y sitemap

====================================================================================================
12.0.45.2 - 2021/10/27 - EAG
====================================================================================================
### Fixed
- Error al guardar artículos que no tienen friendly url

====================================================================================================
12.0.45.1 - 2021/10/26 - EAG
====================================================================================================
### Changed
- Cambia orden de listado de assets DAM

### Fixed
- Error al detectar fotos usadas en campos de foto fija
- Error al detectar fotos usadas en editores visuales (vtxt) de artículos
- Error al guardar datos de fotos cargadas por ajax, no guardaba si eran originales ni la fecha de
    modificación
- Error al listar fids con vistas cuando no hay login en la regeneración de artículos

====================================================================================================
12.0.45.0 - 2021/10/25 - AVP/EAG/JOR
====================================================================================================
### Added
- Agrega procesamiento de _mostrar en ifs de mapa del sitio
- Sistema de creación y administración de perfiles de permisos granulares para usuarios.
    Usuarios de tipo perfil administrador mantienen control total de Prontus

### Changed
- Cambia orden al obtener css de artículos para no dejar vacíos

### Fixed
- Error al mostrar tags desactivados en administrador de tags
- No se podía cerrar modal del editor si ocurría un error
- Error en detección de multivistas en f5
- Error al guardar urls f5 de portadas

====================================================================================================
12.0.44.0 - 2021/09/28 - EAG/JOR
====================================================================================================
### Changed
- Agrega tercer parámetro a marca fotofija para activar por defecto el cuadrar foto. Por ejemplo:
    %%fotofija_art_380x230(380,230,Foto (380x230px), 1)%%
- Elimina js URLF5Artic.class.js. Se fusiona con Fid.class.js
- Al parsear los tags en el artículo son obtenidos desde la base de datos y no desde el xml.
- Se agrega nueva marca a _loop_tags: %%_tag_nom_vista%%. Se parsea el nombre de tag para la vista.

### Fixed
- Corrige errores en libs al usar como fastcgi

====================================================================================================
12.0.43.1 - 2021/09/14 - EAG
====================================================================================================
### Fixed
- Se mostraban marcas sin datos en dashboard

====================================================================================================
12.0.43.0 - 2021/09/13 - AVP/EAG/JOR
====================================================================================================
### Added
- _totartics se puede usar en ifs de portadas tagonómicas
- Nuevas marcas se pueden usar en ifs de portadas taxonómicas:
    _url_fixed_seccion
    _url_fixed_tema
    _url_fixed_subtema
    _url_fixed_seccion1
    _url_fixed_tema1
    _url_fixed_subtema1
- Nuevas marcas se pueden usar en portadas taxonómicas:
    _url_fixed_seccion[1-3]
    _url_fixed_tema[1-3]
    _url_fixed_subtema[1-3]
- Al fallar la carga a dropbox se enviará correo a area_prontus@altavoz.net con los datos del error
- Se generan relacionados por tags. Creando plantillas en plantillas/cache/tags/pags[-mv]/[plantilla.ext]
    se generan salidas en site/artic/[fechac]/pags[-mv]/[ts]_tags_[plantilla.ext]
- Implementa sistema de perfiles y permisos.
- Nuevo Dashboard que muestra información general de uso de espacio y publicaciones en el Campos
- Gráfico de espacio utilizado por el artículo en el fid
- Explorador del contenido del almacenamiento S3
- Explorador de archivos del sitio que permite realizar operaciones de edición mas fácilmente
- Proceso para indexar tamaño de artículos de forma periódica
- Listado en orden ascendente o descendente de artículos
- Listado de artículos por tamaño
- Agrega parseo de url friendly a mapa:
    %%_seccion[N].url('tipo', 'plantilla')%%
    %%_tema[N].url('tipo', 'plantilla')%%
    %%_subtema[N].url('tipo', 'plantilla')%%

### Changed
- Variables VARNISH_GLOBAL_PURGE, VARNISH_SERVER_NAME se renombran a CACHE_GLOBAL_PURGE,
    CACHE_SERVER_NAME
- Servidor de cache puede tener protocolo (http o https), si no tiene usara https por defecto
- Actualiza el plugin cropper del editor de imágenes
- Urls friendly de portadas se purgan desde cache
- Agrega parámetro rand a fotosfijas y fotos del banco de imágenes.
- Cambia orden de artículos en taxcalend de DESC a ASC
- Mensajes de error al usuario no indican nada
- Verifica si el tipo de artículo es indexable en buscador, y deshabilita el check de otro modo.
- Proceso de actualización elimina archivos que fueron descartados por releases anteriores

### Fixed
- Corrige de js al cargar modal de editor de imágenes
- Error al leer el valor de /cgi-cpn/posting_limit.cfg para limitar el tamaño de upload del posting,
    por defecto el limite es 20 MiB
- Posting generaba páginas de error en la raíz del sitio
- Configuración para activar uso de Dropbox no se guardaba
- Carga a dropbox consideraba correctos algunos casos de error
- Error en detección de multivistas en f5
- Corrige sitemap pags. La función getListaAniosMeses repetía las fechas por un error en la query.

====================================================================================================
12.0.42.0 - 2021/08/06 - EAG
====================================================================================================
### Added
- Agrega links para configurar tipos de urlf5 en el administrador
- Validación de tipos de archivos en posting Prontus. Se debe Agregar a la configuracion "_file_types"
    con las extensiones separadas por ","
     _file_types = 'txt,doc,jpeg'

### Changed
- Cambios en el menu prontus para mejorar funcionamiento en escritorio y móviles

### Fixed
- Corrige error al separar extensiones a validar en prontus form
- Botón SEO en administrador de portadas aparecía siempre
- Captcha de prontus con imágenes no funcionaba bien en Apache 2

====================================================================================================
12.0.41.1 - 2021/07/14 - EAG
====================================================================================================
### Fixed
- Validación de extensión y contenido cargados en Prontus Form se realizaba siempre
- Error al determinar fecha final para descargar datos recibidos en Prontus Form

====================================================================================================
12.0.41.0 - 2021/07/08 - AVP/EAG/JOR
====================================================================================================
### Added
- Agrega parseo de marcas %%_fechamlong%% %%_fechamshrt%% %%_fecham%% %%_horam%% en datos de artículos
- Marcas seo se pueden usar en IF y NIF de portadas, dentro y fuera de loops de áreas
- Opciones de SEO se pueden Activar/Desactivar
- Agrega marcas SEO _seo_multimedia_audio|video en los modales SEO de portadas y taxports.
- Muestra espacio utilizado en el listado de artículos

### Changed
- Administración de cuentas de usuario queda accesible directamente desde el menu lateral
- Opciones de configuración global se reorganizaron
- Mejora funcionamiento responsive de listado de artículos

### Fixed
- Generación de calendarios no aplicaba correctamente las opciones para incluir fids

====================================================================================================
12.0.40.0 - 2021/06/17 - AVP/EAG
====================================================================================================
### Added
- Permite agregar descripcion, url e imagen para seo de portada
- Marcas seo pueden utilizar salidas especiales, como .xml, .code, etc.

### Fixed
- Taxport eliminan última página si no hay artículos asociados
- Administrador de urls aparecía siempre
- Error en funcionamiento de friendly de raiz ('/')

====================================================================================================
12.0.39.0 - 2021/06/10 - AVP/EAG/JOR
====================================================================================================
### Added
- Ejecuta proceso de actualización de sitemap pags al guardar artículo, edición rápida y borrado
- Agrega soporte de subtitulos a multimedia videos.
- Agrega a las portadas y taxports los campos robots y link a fotofija.
- Agrega las variables de config SEO_TWITTER_HANDLE, SEO_FB_ID, SEO_GLOBAL_ID y sus respectivas marcas
    reservadas globales _seo_twitter_handle, _seo_fb_id, _seo_global_id. Esta última se agrega para
    contener el nombre del sitio o empresa. El FB ID contendría la URL de la página fb.

### Changed
- Modifica chequeo de versiones de ffmpeg para detectar versiones de paquetes de debian y otros
- Carga de urls permite reemplazar redirecciones existentes

### Fixed
- Friendlys urls desactivadas provocaban error en fid
- Borra archivos de sitemap pags si ya no hay artículos asociados
- Corrige llamadas a indexar_artículos en prontus_indexar_elasticsearch para pasar siempre el
    parámetro $ua, necesario.
- Elimina caractéres invisibles al importar urls
- No se podían eliminar redirecciones f5 si ya no existía el destino

====================================================================================================
12.0.38.0 - 2021/05/31 - EAG
====================================================================================================
### Added
- Datos de prontus form se pueden descargar por rangos de fechas
- Creacion de urls para portadas en directorios
- Prontus Form valida extensiones de archivos enviados

### Fixed
- No se podía borrar url f5 de portadas
- Corrige error que impedia cambiar artículos desde áreas a las que anteriormente se había movido
  un artículo
- Corrige parseo de subtitulos, mejora detección de variaciones

====================================================================================================
12.0.37.1 - 2021/05/05 - EAG
====================================================================================================
### Fixed
- Configuración de portadas no se recargaba al duplicar una portada

====================================================================================================
12.0.37.0 - 2021/05/04 - AVP/EAG/JOR
====================================================================================================
### Added
- Análisis de SEO para titular, slug, descripción, cuerpo de texto.
- Previews de Google Search.
- Configuración SEO.
- Integración de estadísticas de Google Analytics, Pagespeed y Search Console
- Agrega opción para recuperar usuarios borrados
- Implementación de módulo Monitoreo SEO
- Implementación de módulo Robots.txt
- Implementación de simulación de post a Facebook.
- Implementación para generar macros de schema
- Elimina espacios en campos de correo admin y from en fids de prontus form
- Convierte caracteres % a entidad html en datos recibidos en prontus form, para evitar parseo de datos
- Al cambiar la url f5 de un artículo se avisa y da la opción de crear un redirect usando la url antigua

### Changed
- Mueve botones para ejecutar regeneraciones abajo de las opciones

### Fixed
- Elimina // de urls ingresadas en administrador
- Quita caractéres no válidos de urls cargadas con csv
- Categorías desactivadas se veian activas
- Corrige funcionamiento de taxports filtradas
- Generación de sitemaps no revisaba ejecuciones concurrentes

====================================================================================================
12.0.36.2 - 2021/04/30 - EAG
====================================================================================================
### Fixed
- Error en parseo de marcas de sitemap news

====================================================================================================
12.0.36.1 - 2021/04/07 - EAG
====================================================================================================
### Fixed
- Error en detección de "subtitulos/capítulos"

====================================================================================================
12.0.36.0 - 2021/03/09 - EAG/JOR
====================================================================================================
### Changed
- Mueve directorios /prontus/data y /prontus/ejemplos a /prontus/cpan/data y /prontus/cpan/ejemplos
- Mejora detección de "subtitulos/capítulos"

### Fixed
- Conexion a bd para mostrar uso de s3 era incorrecta
- Admin.class.js se incluia 2 veces en algunas páginas de administración
- Modifica querys de sitemaps para compatiblidad con mysql antiguo (5.7).
- Error Calendarios tax cuando plantillas no tienen loop
- Relacionados manuales no reemplazaban variables globales
- Login fallaba si no se podían comprobar actualizaciones de Prontus

====================================================================================================
12.0.35.0 - 2021/02/03 - EAG
====================================================================================================
### Added
- Urls f5 se redireccionan a url con minúsculas si corresponde

### Changed
- Urls f5 se guardan y manejan en minúsculas

### Fixed
- Redirecciones no se podían guardar sin el prefijo configurado
- Redirecciones 30x perdian query string

====================================================================================================
12.0.34.0 - 2021/02/01 - EAG
====================================================================================================
### Added
- Script para cambiar ids auto_inc de artículos

### Changed
- Cambia a minúsculas marcas de plantillas de wizard
- Quita mensajes de error en prontus imprimir
- Permite caracter "-" en nombres de campos obligatorios de prontus form
- Mejora seguridad en phps de redes sociales

### Fixed
- Corrige guardado de RECAPTCHA_SITEKEY
- Guardado de recursos, fallaba cuando el fid estaba excluido del limpiado de cache

====================================================================================================
12.0.33.0 - 2021/01/21 - EAG/JOR
====================================================================================================
### Added
- Agrega marcas de portada %%_plt_nom%% y %%_plt_ext%%, que parsean el nombre de la plantilla y la extensión,
respectivamente.
- Agrega configuración de RECAPTCHA_SITEKEY y marca %%_recaptcha_sitekey%% para usar en las plantillas
- Importación de usuarios carga asignaciones portadas y artículos
- Cortar, copiar y pegar al menu contextual del vtxt

### Changed
- Límite de espacio mínimo para operar se cambia de 2% a 500 MiB
- _loop_artic permite espacios en su declaración: %%_loop_artic( 1 , 5 )%%
- Se informa espacio usado y libre cuando queda espacio insuficiente
- Ajusta comportamiento de selector de portada y ediciones para mejorar usabilidad en resoluciones bajas
- Ajusta responsive de administrador de portadas

### Fixed
- Iconos de paginación de administrador de urls quedaban al revés
- Sitemap pags fallaba si habían caracteres utf8 extendidos, por ejemplo “,”, –
- Paginación de administrador de urls no llevaba a la última página
- Error en edición rápida no permitía guardar los cambios correctamente
- Al entrar a un Prontus por primera vez los botones colapsar y expandir areas aparecían simultáneamente

====================================================================================================
12.0.32.1 - 2021/01/05 - AVP/EAG
====================================================================================================
### Fixed
- Corrige URLs de videos e imágenes en sitemap
- Corrige formato de campos en sitemap y agrega campos necesarios
- Agrega definición de tag image y video a xml de sitemap
- Actualiza css de validator en front para corregir presentación de alertas
- Campo ART_AUTOR no coincidía en largo con otras definiciones para guardar nombre de usuario de Prontus

====================================================================================================
12.0.32.0 - 2020/12/30 - EAG
====================================================================================================
### Added
- %%_prontus_id%% se puede usar en html de tablas de contenidos/subtítulos, por ejemplo:
%%_subtit_html_vtxt_cuerpo%%
<div class="contsubtit">
    <div class="titsubtit">
        <div id="%%_subtit_aname%%">%%_subtit%%</div>
    </div>
    <a href="#contenido-ppal" class="linksubtit" title="subir al inicio de la página">
        <img src="/%%_prontus_id%%/imag/v1/icon/chevron_u_d.png" alt="subir">
    </a>
</div>
%%/_subtit_html_vtxt_cuerpo%%
%%_subtit_loop_vtxt_cuerpo%%
<div class="subtitulos">
    <a href="%%_subtit_key%%" title="Más información sobre: %%_titular.xml%%"><b>&raquo;</b> %%_subtit%%</a>
    <img src="/%%_prontus_id%%/imag/v1/icon/chevron_u_d.png" alt="subir">
</div>
%%/_subtit_loop_vtxt_cuerpo%%

### Fixed
- Fotos no se asignaban a un campo de fotofija, al cargar fotos en un artículo nuevo y asignarlas
- Error al leer dimensiones de algunos archivos svg

====================================================================================================
12.0.31.0 - 2020/12/23 - AVP/EAG/JOR
====================================================================================================
### Added
- Agrega menú para dispositivos móviles
- Agrega nueva funcionalidad de envío de alertas a los usuarios logeados con 3 niveles:
Bajo: 1 alerta sin repetición, Medio: 2 alertas en intervalos de 5 min., Alto: 5 alertas en intervalos de 5 min.
- Agrega integración con motor de búsqueda ElasticSearch con configuración y regeneración de índices
    en CPAN, y búsqueda normal, avanzada y por sugerencias.
    - Configurar en Administrar - Configuración - ElasticSearch (prontus_admin_conf_elasticsearch.cgi)
    especificando FIDs a indexar, variables Prontus a considerar, factores, etc.
    - La configuración queda registrada en [prontus]/cpan/[prontus]-elasticsearch.cfg
    - Indexar en Administrar - Mantenimiento - Regenerar Indice ElasticSearch
    - Configurar un buscador. Debe hacer submit a la cgi /cgi-bin/prontus_search_custom.cgi pasando
    como parámetros:
        - search_prontus (el prontus)
        - search_texto
        - search_template (la plantilla a usar para resultados)
        y opcionalmente
        - search_idx (el índice de elasticseach a usar, de no especificar se usará como indice el
            nombre del Prontus)
        - search_pag (página de resultados a mostrar)
        - search_form (yes o no, mostrar el form de búsqueda en los resultados)
        - search_orden ('cro' para ordenar por fecha, o 'rel' para ordenar por relevancia (por defecto 'rel')).
        - search_secciones, search_temas, search_subtemas, search_tags (arrays o texto separado por
            comas de ids numéricos)
        - search_secciones_excluir, search_temas_excluir, search_subtemas_excluir, search_tags_excluir
            (ídem, para indicar taxonomías a excluír de la búsqueda)
        - search_modo (AND u OR, para especificar si los resultados deben contener todas las palabras
            de search_texto o cada una aparte)
        - search_vista (la vista a mostrar)

    En general se intentó dejar la configuración de la página de búsqueda lo más semejante posible
    a la de prontus_search.

### Changed
- Url de portadas y redirecciones arbitratias no necesitan usar prefijo configurado

### Fixed
- Al usar taxport dinámicas, no se eliminaban las páginas generados correspondientes
- Proceso para generar taxport dinámicas sólo se ejecuta cuando no existe la página y está activa la
    generación dinámica
- Taxport dinámica no usaban la plantilla correcta para taxonomías específicas
- Validación de prontus form validaba campos ocultos al guardar

====================================================================================================
12.0.30.0 - 2020/12/11 - EAG
====================================================================================================
### Changed
- Modifica procesamiento de crontab para mostrar información más útil
- Reporte de progreso de tareas posteriores a la actualización es mas granular

### Fixed
- No se podía asignar una foto a todos los campos de foto
- Ocurría un error si no había taxonomía en el fid
- Bloqueos exclusivos provocaban bloqueos de ejecución
- Error en variable de prontus form
- Quita campos sin uso de prontus form en fid

====================================================================================================
12.0.29.1 - 2020/12/09 - EAG
====================================================================================================
### Fixed
- Agrega "CAST" a CHAR a ART_HORAE y ART_HORAP al realizar "SELECT" para compatibilidad con sistemas debian < 10,
    en los que el zerofill es ignorado en la respuesta y genera errores al determinar expiración de artículos

====================================================================================================
12.0.29.0 - 2020/12/07 - AVP/EAG
====================================================================================================
### Added
- Agrega confirmación adicional al borrar datos recibidos de formularios. Ajusta mensajes de
    información/advertencia
- Importación de redirecciones para urlf5 desde un csv

### Changed
- Al cargar la configuración de Prontus, si encuentra archivos que faltan los crea con el texto "dummy"
- Actualiza utilizacion de Api cloudflare, cambian opciones y variables de configuración
- Quita restricción para crear "redirecciones" a archivos de portadas

### Fixed
- No se podía ocultar menú para crear nueva taxonomía
- Envío de correo de prontus form con adjuntos fallaba si adjunto no existía, ahora verifica si
    existe antes de enviar
- Alertas y confirmaciones no estaban centradas en vertical
- Fid mostraba botón ver cuando artículo no tenia alta

====================================================================================================
12.0.28.0 - 2020/11/16 - EAG
====================================================================================================
### Changed
- Cambia definiciones de tipos en columnas de bd usados para representar números. Valores numéricos
    asociados al TS de un artículo se guardaban como char haciendo mas lento el procesamiento de
    búsquedas en tablas con muchos elementos
- Agrega ' simple para rescatar css de artículo. Recordar que el estandar implica el uso de ".
- Wizard usa variable PRONTUS_BASE de la configuración de modelo para identificar el nombre de prontus
    que debe reemplazar en los archivos del modelo.

### Fixed
- No se estaban procesando las plantillas del mapa del sitio

====================================================================================================
12.0.27.1 - 2020/11/12 - EAG
====================================================================================================
### Fixed
- Corrige detección de capacidades de ffmpeg en configuración de transcodificación
- Valor de _indexar no se aplicaba correctamente en algunos casos

====================================================================================================
12.0.27.0 - 2020/11/11 - AVP/JOR/EAG
====================================================================================================
### Added
- Agrega variable de configuracion VTXT_IMAGE_SIZE_LIMIT para limitar el tamaño de las fotos en el VTXT.
    Por defecto es 0, sin límite.
- Librería de archivos valida escritura, si existe error se detiene la ejecución de la cgi para
    evitar problemas en el resto del proceso, un error de escritura puede ser por falta de espacio
    o permisos lo que afectará al resto de cualquier proceso.
- Implementa funcionalidad de single sign-on con protocolo OpenID Connect, por ahora basado en
    la implementación de Okta.
    Al habilitarse y configurarse la funcionalidad dentro de Administración - Usuarios, Prontus
    intentará efectuar el login contra Okta. Queda disponible la página prontus_index.cgi para login
    normal.
- Imágenes del cuerpo en base 64, se extraen y guardan en archivos
- Implementa el envío y recepción de notificaciones push web, sólo usando snp de altavoz
- Contador de caracteres del titular siempre visible
- Implementa registro de tipo de imagen o media en el DAM, y lo usa para agregar imágenes y videos
    al sitemap.
- Implementa opción para generar sitemaps separados para videos o imágenes, o para generar un solo
    sitemap con toda la información.
- Implementa flag y marca prontus _indexar para agregar o no un artículo en la generación de sitemaps y buscador.
- Implementa administrador de friendly urls 5
- Agrega variable PUBLIC_PORT para ocultar botón des/publicar portada
- Implementa la opción de recuperar versiones anteriores del contenido de marcas vtxt
- Imágenes cargadas se clasifican en originales y no originales, las subidas por el usuario son originales, el resto no
- Puede configurar un tamaño máximo de alerta para fotos subidas, se marcan con rojo en el banco de imágenes
    y no se pueden usar en campos VTXT
- Implementa redirecciones 302 para urls friendly 5. Limitaciones, no se pueden crear redirecciones a archivos
    físicos existentes, solo se pueden crear redirecciones a otras friendly urls existentes, por ejemplos de
    artículos que se necesita sean accesibles por 2 urls. Todo intento de crear una redirección 30x
    a un archivo físico genera un "rewrite" 200
- Agrega scripts para tareas de mantenimiento en carpeta cgi-cpn/utils/
    /cgi-cpn/utils/prontus_art_modtime_index.pl
    /cgi-cpn/utils/prontus_art_resave.pl
    /cgi-cpn/utils/prontus_art_test.pl
    /cgi-cpn/utils/prontus_batch_ext-media_asoc.pl
    /cgi-cpn/utils/prontus_corrige_friendly4.pl
    /cgi-cpn/utils/prontus_s3_list.pl
    /cgi-cpn/utils/prontus_urlf5_index_redirects.pl
    /cgi-cpn/utils/prontus_urlf5_migrate_arts.pl
    /cgi-cpn/utils/prontus_urlf5_regen.pl

### Changed
- Actualiza editor Ace a 1.4.12 y quita elementos sin uso
- Actualiza moment.js
- Quita scripts js no usados
- Actualiza jquery en front a 3.5.1, deja solo archivos minimizados
- Cambios y correcciones generales al código de Prontus
- Elementos de Multimedia Manager se ordenan por artículo más nuevo al más viejo, las fotos se ordenan
    por la cantidad de pixeles, de más a menos. Ajusta estilo de botones y elementos para mejorar usabilidad
- Reduce tamaño de biblioteca multimedia en fid
- Filtrado de imágenes se realiza por cantidad de pixeles, no por resolución
- Reestructura forma de guardar xml de artículo
    * Si xml antiguo existe y md5 entre nuevo y antiguo es distinto realiza respaldo,
        si son iguales no realiza respaldo ni guarda el xml
    * Si xml antiguo está vacío guarda inmediatamente
- Método "_add_foto_prontus_xml" de Artic, recibe los siguientes parámetros:
    ($wfoto, $hfoto, $nom_arch, $size, $original, $modified_time);
    Si los últimos 2 valores no vienen se guardan con valor 0;
- Cambia funcionamiento de prontus form:
    * no se envía auto-respuesta al remitente
    * solo acepta valor numérico para el campo _admin. Si viene y es un número, se busca ese
         ítem en la lista de correos definidos en el FID.
    * descarta campos recibidos que no existen en el HTML estático del formulario enviado.

### Fixed
- Agrega índices a las tablas URL y URLF5 para hacer joins más performantes con la tabla ART
- Al cancelar borrado de foto en galería, el botón de borrar no se restablecía
- Modifica procesos para evitar carreras críticas al subir muchas fotos en paralelo
- Corrige error al cambiar el directorio en editor de archivos
- Antigüedad de sesiones se determinaba incorrectamente
- Si archivo adjunto no era último campo, no se enviaba por correo al admin en prontus form
- Error de guardado de múltiples portadas base con multi-ediciones activa
- Agrega chequeo de disponibilidad de endpoint S3 para no bloquear edición de artículos
- Error en directorio de cache de multitag, los archivos estaban quedando en site/
- Error en buscar relacionados y buscar urls en el fid, ocurría un error en la paginación cuando era
    menos de 1 página de resultados
- Presionar enter en buscador de url enviaba el formulario y recargaba el artículo
- Sitemap pags y news utilizaban todos tipos de artículos si no se seleccionaba ninguno
- Artículos sin vista tenían link incorrecto en listado de áreas de portada y artículos creados, no deben tener link
- No retornaba error al guardar datos de usuario en bd
- Un artículo con taxonomía desactivada no se podía guardar conservando esta taxonomía, la perdía.
- Error en función autocheckNewArtic

====================================================================================================
12.0.26.2 - 2020/09/01 - EAG
====================================================================================================
### Fixed
- No se contabilizaba correctamente tamaño de adjuntos al cargarlos a s3 en artículos antiguos

====================================================================================================
12.0.26.1 - 2020/08/28 - EAG
====================================================================================================
### Fixed
- Corrige parámetros recibidos al usar "application/x-www-form-urlencoded"
- Usuarios redactor/editor podían quitar el visto bueno de artículos que no tienen asignados en portadas
- Video embed tenia autoplay activo
- Transcodificación local cargaba incorrectamente profile de video

====================================================================================================
12.0.26.0 - 2020/08/27 - AVP/EAG
====================================================================================================
### Added
- Implementa el uso de un servicio S3 para guardar multimedias y adjuntos
- Agrega combobox para seleccionar orden en listado de artículos publicados
- Implementa sitemaps agrupados: https://support.google.com/webmasters/answer/75712
- Función para cargar los campos desde el xml de un articulo, lib_artic::carga_art_xml
- Función para completar campos necesarios para guardar un artículo sin perder datos,
    lib_artic::completar_campos_artic_guardar
- Implementa buscador de urls de artículos para utilizar en inputs de texto, agregar clase
    "agregar-url" a un input de texto para utilizar el buscador
- Epoch de modificación de un artículo se guarda en BD
- Avisa al transcodificador externo que ya termino de descargar los archivos generados, para que sean borrados
- Al transcodificar convierte a formato yuv420p para evitar problemas de compatibilidad
- Captcha de prontus form se puede hacer no obligatorio, si se deshabilita que sea obligatorio para el prontus
    en los fids de los formularios aparecerá un checkbox para que se seleccione manualmente.
- Agrega guardado de tamaño de adjuntos, multimedias y fotos en xml de artículo para reducir el chequeo
    en el disco
- Quita caracteres no ascii de nombres de archivos asociados
- Mejora bloqueo de login al realizar update de prontus:
    Si existe archivo /prontus/data/_login.block, no se puede ingresar a prontus.

- Agrega 1 decimal a % de disco usado
- Agrega verificación de librerías perl LWP::Protocol::https y Net::Amazon::S3 a chequeo de plataforma
- Agrega libreria con mime types, mime_types.pm
- Agrega extensiones válidas para transcodificar audio: .ogg, .m4a, .mpeg, .3gp

### Changed
- Quita restos de codigo para soporte de SWF
- Cambios generales al código, corrección de errores menores, mejoras en mensajes de error, quita
    código sin efectos ni uso
- Selección de orden de artículos en administrador de portadas se cambia a combobox
- Cambia forma de determinar punto de montaje para calcular espacio disponible
- Mejoras generales en el código, funcionamiento y rendimiento
- Agranda modales de información en administración
- Requieren menos parametros para su ejecución para poder revisar todo un Prontus
    /cgi-cpn/xcoding/prontus_procesar_videos.pl
    /cgi-cpn/xcoding/prontus_video_metadata_upd.pl
- Agrega código para detectar errores falsos al generar thumbnails, producto de compilación de ffmpeg
    usando flag -Werror
- Modifica funcionamiento de objeto update para evitar hacer chequeos innecesarios
- Archivos inexistentes o de tamaño 0 mostraban 1 KiB en prontus, ahora mostraran 0 KiB
- Configuración de formatos de transcodificación se usa en minúsculas
- Ajustes de tamaño en los componentes de campos multimedia de los fids
- Agranda campo para ingresar nombre descriptivo de portadas
- Ordena por nombre valores de combobox de listado de portadas, en administrador de portadas

### Fixed
- Corrige inconsistencia en el largo permitido para las claves de base de datos en el wizard Prontus.
- Corrige error en path de bloqueo de artículo en prontus_art_upload_zip.pl
- Formateos de KB a KiB
- Error en marcas de multimedia, quedaban con el path incompleto si no existia la multimedia
- Errores en generación de calendarios:
    multivistas determinaban incorrectamente la extensión de la plantilla
    nombres de días de la semana no funcionaban en minúsculas
- Error en listado de artículos, contaba mas artículos de los que realmente existen
- Quita desconexiones de bd que causan errores
- Verifica directorio para generar screenshot
- Metadata de audios no se actualizaba despues de transcodificarlos

====================================================================================================
12.0.25.0 - 2020/07/17 - EAG/JOR
====================================================================================================
### Added
- Agrega opción para generar la vista de un artículos antes de que se cumpla la fecha de publicación,
    solo se genera la vista, el artículo no aparece en listados ni portadas hasta que se cumpla la
    fecha de publicación

### Changed
- Editor de imágenes: Al hacer click sobre área de edición al estar abierto sidebar con galería de fotos,
    este se cierra y se puede continuar con la edición. Además cambia mensaje que aparece al tratar de
    cambiar de foto y existir cambios en el área de edición.
- Mejora mensajes de ayuda de botones de acciones en fid de artículos

====================================================================================================
12.0.24.1 - 2020/07/10 - EAG/JOR
====================================================================================================
### Fixed
- Corrige previsualización de artículos en Chrome
- Se obtenía mal la url friendly de taxports y tagport ocasionando inconsistencias

====================================================================================================
12.0.24.0 - 2020/07/08 - EAG
====================================================================================================
### Changed
- Cambia rótulo para opción de "solo despublicar de portadas manuales"
- Quita mensaje que avisa al seleccionar fecha de expiración pasada
- Des/Activar "solo despublicar de portadas", activa regeneración de listados de tax, tags y listas
- Con control fecha activo, artículos publicados con fecha futura no tienen vista hasta cumplirse
    hora de publicación
- Ajuste de faststart para mp4s se realiza con ffmpeg

### Fixed
- Con control fecha activo, artículos publicados con fecha futura no aparecían en listados al cumplirse
    hora de publicación
- Revalidar una url F5 que no ha cambiado, producía una nueva url
- No elimina free atoms de videos mp4 para mejorar compatibilidad

====================================================================================================
12.0.23.1 - 2020/07/03 - EAG
====================================================================================================
### Fixed
- Error al seleccionar de artículos excluidos desde portadas, al generar listas

====================================================================================================
12.0.23.0 - 2020/06/30 - EAG
====================================================================================================
### Added
- Estilo para elementos de listas con color de fondo alternado, clase "list_stripped_gray"
- Mejora estabilidad en apache 2.4

====================================================================================================
12.0.22.0 - 2020/06/24 - EAG/JOR
====================================================================================================
### Added
- prontus_set_bd.cgi permite crear las tablas de prontus y cargar datos básicos necesarios

### Changed
- Cron fecha ejecuta procesos de regeneracion de forma secuencial
- Actualiza prontus player 5
- Thumbnails de videos se generan solo al final del proceso de transcodificación o ajuste de mp4

### Fixed
- No se podian declarar marcas asocfile_audioXXX o asocfile_videoXXX
- Corrige errores en funcionamiento con transcodificador externo

====================================================================================================
12.0.21.1 - 2020/06/15 - EAG/JOR
====================================================================================================
### Fixed
- Corrige parseo de marca _tag_url en regeneración de portadas tags.
- Directorio para cargar fotos de galería no se creaba
- Deja de crear tabla COMENT no usada
- Rutas para transcodificación estaban mal para apache2
- Document root se determinaba mal en wrapper de archivos protegidos
- Campos vacios no se agregan a hash de campos de Artic
- Control de publicación futura no generaba las vistas correspondientes

====================================================================================================
12.0.21.0 - 2020/06/08 - ALD/EAG/JOR
====================================================================================================
### Added
- Marcas _seccion<n>.url(), _tema<n>.url() y _subtema<n>.url() se pueden utilizar en portadas taxonómicas
- Agrega modales para visualizar urls de taxs, tags, portadas y listas al usar friendly 5.
- _tag_url() se puede usar en portadas tagonómicas, parsea la url friendly 5 en caso de existir,
    en caso contrario, parsea la url física normal.
    Recibe dos parámetros, el filtro y la plantilla:

Filtro: all, fid_noticia, fid_general, fid_link
Plantilla: tagport u otro nombre
%%_tag_url('<filtro>', '<plantilla>')%%

Ejemplo:
%%_tag_url('all', 'tagport')%%

- cgi para probar concurrencia en Prontus

### Changed
- FRIENDLY_V5_URL_PREFIX permite caracteres - y _
- Incluye el query string en el para procesamiento de friendly 5
- Quita caracteres prohibidos de rutas de postprocesos "#;&<>|~"
- No se permiten rutas relativas en glib_fildir_03 y otras lecturas de archivos

### Fixed
- Vistas de artículos seguían visibles al cambiar la fecha de publicación al futuro
- Carga masiva de fotos no funcionaba en artículos sin guardar
- Marca _tag_url en Artic, no incluía la vista antes de la friendly si la variable FRIENDLY_INCLUDE_VIEW_NAME
    estaba configurada en SI.
- Error al guardar links friendly 5 de portadas

====================================================================================================
12.0.20.1 - 2020/06/02 - EAG
====================================================================================================
### Fixed
- Regeneración de artículos fallaba
- No intenta generar link de friendly 5 si artículo no tiene una asignada

====================================================================================================
12.0.20.0 - 2020/06/01 - EAG
====================================================================================================
### Changed
- Actualiza librería validator para realizar validaciones utilizando javascript, disponible en cpan y front
- Mejoras de seguridad

### Fixed
- Ancho de selector de portadas para redactor
- Error en página reporte de wizard
- Error al generar url f5 de taxport

====================================================================================================
12.0.19.0 - 2020/05/22 - EAG
====================================================================================================
### Changed
- Lista de portadas usa todo el ancho si no hay administrador de ediciones
- Modifica funcionamiento de mutex de artículos y portadas para mejorar compatibilidad

### Fixed
- Opciones para friendly 4 y 5 aparecian en fid al selecionar friendly 1-3
- Escapea caracteres para evitar errores en prontus_form

====================================================================================================
12.0.18.0 - 2020/05/11 - EAG
====================================================================================================
### Added
- Implementa lazy load para listado de imágenes en editor de fotos
- Implementa lazy load para banco de imágenes en los fid de artículo
- Nuevo método javascript para poder cargar imágenes generadas por procesos externos en el fid de un artículo,
    debe llamar al metodo javascript:
        MediaManager.actions.uploadImg(id_fotofija, url_imagen, nombre_imagen);
        id_fotofija: nombre del campo fotofija, sin el prefijo "fotofija_", por ejemplo para
            "fotofija_port1", se debe pasar "port1"
        url_imagen: url relativa de ubicacion de la imagen dentro del directorio de prontus , por
            ejemplo /<prontus_id>/fotos/miimagen.jpg", el nombre y la extension deben haberse generado
            en minúsculas y la imagen debe tener todas las optimizaciones ya aplicadas.
        nombre_imagen: nombre con el que la imagen quedará en prontus, sin extensión (se toma de
            "url_imagen"), por ejemplo: "screenshot"
    El fid debe guardarse igual para guardar la asignación al campo de fotofija, del mismo modo que
    cuando se asigna una foto desde el banco de imágenes.


### Changed
- Simplifica mensajes de error de prontus_imprimir.cgi
- Elimina caracteres no válidos de búsqueda en prontus_port_art_list.cgi

### Fixed
- Fid no mostraba la url correcta al usar Friendly 4 y un slug custom

====================================================================================================
12.0.17.0 - 2020/05/06 - EAG/JOR
====================================================================================================
### Added
- Implementa rotación de fotos usando datos EXIF para jpg, se necesita el modulo Image::ExifTool,
    en debian instalar el paquete libimage-exiftool-perl

### Changed
- Actualización de DAM se ejecuta via web al terminar proceso de carga de fotos
- Cambia colores de barra de selección para recortar video
- Procesamiento de carga masiva usando zip se hace en segundo plano
- Actualiza jQuery a versión 3.5.1
- Actualiza Prontus Player 5

### Fixed
- Fotos cargadas no se reducían de tamaño al definir un tamaño máximo de imagen permitido
- Permisos de usuario se perdían al cambiar contraseña expirada/recuperada

====================================================================================================
12.0.16.0 - 2020/04/28 - AVP/EAG/JOR
====================================================================================================
### Added
- Implementa transcodificación de archivos de audio a mp3, utiliza el valor de MAX_AUDIO_BITRATE para el bitrate

### Fixed
- Mostraba fotos sin usar cuando estaban en uso en el cuerpo del artículo
- Cache artículos publicados en portadas se generaba incorrectamente, permitía borrar artículos
    publicados en portadas despublicadas

====================================================================================================
12.0.15.1 - 2020/04/20 - EAG
====================================================================================================
### Fixed
- Paginacion de tagport era incorrecta al usar F5

====================================================================================================
12.0.15.0 - 2020/04/17 - AVP/EAG/JOR
====================================================================================================
### Changed
- Actualiza la configuración y campos de posting a Facebook por cambios a la Graph API.
- Agrega lock para evitar carreras en log de operación
- Cron Fechas genera portadas solo si ocurrió un cambio en los artíulos publicados en ésta, con esto
    evita sobre escritura innecesaria
- Restringe ejecucion de cgi de multitag solo por url friendly, no permite ejecución directa
- La administración del estado de publicación de portadas se restringe a usuarios Administradores y Editores

### Fixed
- Si se modificaba manualmente xml de una portada, al guardarla el xml de la portada no se actualizaba,
    ya que la comparación para decidir el guardado se realizaba contra xml de respaldo
- Error de XSS al mostrar mensaje de error en lista de multitag
- Portadas list no filtraban por múltiples valores
- Mensajes de error al cortar video no funcionaban
- Mapa del sitio con loops anidados funcionaba incorrectamente

====================================================================================================
12.0.14.1 - 2020/04/09 - JOR
====================================================================================================
### Fixed
- Ubicación de botón para publicar portadas era incorrecta al estar desactivado administrador de portadas

====================================================================================================
12.0.14.0 - 2020/04/09 - EAG/JOR
====================================================================================================
### Added
- Agrega botón para borrar todas las fotos de una galería
- Al subir fotos a un artículo nuevo el fid se guarda forzosamente sin realizar validaciones,
    para no romper el funcionamiento de carga de fotos
- Portadas se pueden despublicar, se elimina el archivo generado
- Soporte para imágenes WebP, se necesita el modulo Image::ExifTool, en debian instalar el paquete
    libimage-exiftool-perl

### Changed
- Modifica listados para que el filtro de visibilidad funciona directamente en los listados

### Fixed
- Editor de archivos no identificaba las marcas prontus desde el fid

====================================================================================================
12.0.13.2 - 2020/04/07 - EAG
====================================================================================================
### Fixed
- Corrige error al asignar autoinc en artículos nuevos

====================================================================================================
12.0.13.1 - 2020/04/06 - EAG
====================================================================================================
### Fixed
- Corrige error de collation para tabla urlf5

====================================================================================================
12.0.13.0 - 2020/04/03 - EAG/JOR
====================================================================================================
### Added
- Incluye Prontus Player 5
- Al asignar una foto a todos los campos de foto fija el menu emergente se cierra

### Changed
- Cambia character set de tabla URLF5 para permitir urls mas largas
- Ocupa tamaño grande en thumbnails de fotos de galería
- Quita variables de publicidad que no se usaran, se ajusta macro de artículo

### Fixed
- Carga de fotos utilizando zip en artículos nuevos no funcionaba
- Carga de fotos en galería no funcionaba bien en artículos nuevos
- Corrige validación de publicidad para player de video

====================================================================================================
12.0.12.0 - 2020/03/27 - ALD/AVP/EAG/JOR
====================================================================================================
### Added
- Agrega parseo de .width y .height a fotos, por ejemplo: %%fotofija_port5.width%%, %%fotofija_port5.height%%
- Agrega parseo de .size y .ext a elementos asocfile
- Agrega propiedades .duration, .duration_hms, .abitrate, .rate, .acodec, .ext y .size a elementos multimedia_audio
- Si no se ha definido nombre para una multivista de tax o tags se intenta utilizar el de la vista principal
- _url_fixed_seccion[N],_url_fixed_tema[N],_url_fixed_subtema[N], funciona en portadas
- Agrega %%fechac%% y %%ts%% como marca a los resultados del buscador
- Prontus form puede utilizar una plantilla html para el correo de auto respuesta
- Implementa opción --includefids fid1,fid2 o -i fid1,fid2 en prontus_cron_taxcalend para poder especificar fids
  a incluir especificamente en el calendario.
- Nuevo editor de fotos en el fid para recortar y dimensionar
- Soporte para nuevo transcodificador externo
- Servidor asigna fecha/hora de publicación en artículos nuevos para evitar problemas de desincronización de hora
- Implementa URLs custom para tags, de modo análogo a las de taxonomías.
    Dentro del loop %%_loop_tags%% en plantillas de artículos y portadas se puede usar la marca %%_tags_port%%
    para mostrar, si existe, la URL custom.
- Implementa activación de selectores de fecha y hora en inputs usando clases "campo_fecha" y "campo_hora" en un fid
- Implementa bloqueos de escritura de portadas para evitar carreras críticas
- Agrega marcas para armar la url a portada taxónomica en un artículo.
    %%_seccion[N].url('tipo', 'plantilla')%%
    %%_tema[N].url('tipo', 'plantilla')%%
    %%_subtema[N].url('tipo', 'plantilla')%%
tipo: puede ser all, fid_general, etc
plantilla: es el nombre de la plantilla sin extensión, se asume siempre .html

    Por ejemplo:
    %%_seccion1.url('all', 'taxport')%%
    %%_tema1.url('all', 'taxport')%%
    %%_subtema1.url('all', 'taxport')%%
- Implementa url friendly 5, totalmente arbitrarias, para apache2 usando modperl2 con la siguiente configuración:

# Modulo que entrega los friendlies 5.
PerlModule prontus_route_friendly
<If "! -f %{REQUEST_FILENAME}">
    # El handler actua si el archivo no existe.
    SetHandler perl-script
    PerlResponseHandler prontus_route_friendly
</If>

- Implementa taxport dinámicas, para apache2 usando modperl2 con la siguiente configuración:

# Generacion de taxports dinamicas.
PerlModule prontus_dintax
<LocationMatch /site/tax/port/.*>
    <If "! -f %{REQUEST_FILENAME}">
        PerlHeaderParserHandler prontus_dintax
    </If>
</LocationMatch>

### Changed
- Modifica el funcionamiento del procesamiento de marcas de multimedia para que sea mas eficiente
- Mejora proceso de carga de archivos e informe de errores
- Modifica lib_prontus::existe_registro para recuperar compatibilidad con scripts antiguos
- Falta de configuración de fids o portadas no es un error fatal
- El editor de FIDs ahora permite agregar nuevas plantillas y escribir una plantilla base.
- El editor de FIDs ahora permite marcar un FID como no editable -en caso que se hayan hecho modificaciones manualmente, por ejemplo.
- Agrega uso de clase CUERPO al cargar estilos de vtxt a todos los editores visuales de un fid
- Xml de artículo se arma programáticamente, descarta variable Artic::XML_BASE
- Modifica guardado de articulo para conservar autoinc, en caso de que el articulo tenga autoinc
    pero no exista en db lo guarda igual, si hay conflicto genera un nuevo autoinc
- Modifica funcionamiento de calendarios tax
    Desacopla funcionamiento del campo de fechap ya que esto afecta la visibilidad de los artículos y no se puede usar para eventos
    Integra la capacidad de que existan eventos que duren mas de 1 día
    Agrega nueva macro de fid para definir valores de fecha inicio y fecha fin, %%macro(_calendar.html)%%
    Se pueden usar plantillas json con el mismo nombre de las html simultáneamente
- Al cargar los datos del artículo se inicializan los campos privados con valores vacíos si no existen en el xml
- La fecha de modificación de una portada se determina desde el xml y no desde el html generado
- No re-escribe xml de portada si no hay cambios
- El ajuste de faststart utiliza un temporal en la misma ruta del original
- %%_alta%% en el fid parsea 1 y 0, al igual que en las plantillas de artículo
- Renombra variables FRIENDLY_V4_EXCLUDE_FID a FRIENDLY_EXCLUDE_FID y FRIENDLY_V4_INCLUDE_VIEW_NAME a FRIENDLY_INCLUDE_VIEW_NAME

### Fixed
- Edición de nombres para multivistas no funcionaba bien en administrador de tax y de tag
- Se validaba incorrectamente si habían ocurrido cambios si la portada es nueva
- Cambiar contraseña y expiración de contraseña no funcionaban por bloqueo de ajax sincrónico en javascript
- Se estaban evaluando y descartando las marcas Prontus en titulares en los listados de artículos.
    Se reemplazan los % de los titulares por las entidades HTML correspondientes.
- En la edición rápida no se pasaba el objeto artic a la lib_custom
- Opción de copiar contenido al duplicar portada quedaba oculta
- Colisiones de nombres de archivos al cargar varios simultáneamente
- Corrige error en prontus imprimir
- Escapeo de parametros de prontus function provocaba resultados incorrectos
- Comando de ffmpeg para generar hls era incorrecto para nuevas versiones
- No se marcaban las fotos en uso cuando no habia una galería en el artículo
- Relacionados manuales se estaban cargando mal al editar un artículo

====================================================================================================
12.0.11.5 - 2020/01/10 - AVP
====================================================================================================
### Fixed
- Errores en llamados sql en calendarios y guardado de configuración

====================================================================================================
12.0.11.4 - 2020/01/06 - EAG
====================================================================================================
### Fixed
- Corrige error en path para cargar json de tax

====================================================================================================
12.0.11.3 - 2020/01/06 - EAG
====================================================================================================
### Fixed
- Corrige reemplazos que no debian ser case sensitive

====================================================================================================
12.0.11.2 - 2020/01/02 - EAG
====================================================================================================
### Fixed
- Multitag no detectaba loop de artículos en mayúsculas
- Tamaño de buffer de lectura de POST no se reiniciaba en cada ejecución

====================================================================================================
12.0.11.1 - 2019/12/30 - AVP/EAG
====================================================================================================
### Fixed
- Wizard no podia crear el usuario admin al instalar un nuevo Prontus
- No se reseteaba el hash con los datos de una portada, lo que producía que se mezclaran los artículos al usar mod_perl
- Se detectaba mal intento de ejecución via web en algunas cgis
- 2FA indicaba mensaje incorrecto al intentar logear por primera vez

====================================================================================================
12.0.11.0 - 2019/12/20 - AVP/EAG/JOR
====================================================================================================
### Added
- Implementa 2fa para login, opción configurable por usuario. Código de 2FA expira a los 30 minutos
- Puede asignar perfil de Administrador a otros usuarios
- Agrega ping a cpan prontus en general
- Muestra mensaje al generar csv de prontus form
- Se lleva a cabo una extensa revisión de seguridad del código de Prontus
- Implementa sistema para realizar cambios y ajustes post-actualización de Prontus
- Ping de sesión activa de usuario se realiza en todo el cpan de Prontus
- Tokens de autenticación enviados por correo se codifican internamente para mejorar seguridad
- Botones para manejar artículos corruptos en listado de artículos creados
- Agrega aviso de espera al generar archivo de descarga de prontus form
- Ajusta textos para mayor claridad al verificar soporte de ffmpeg
- Agrega opción para copiar contenido de una portada al duplicarla
- Agrega opción para indexar un grupo de urls definidas para el buscador de prontus. Lee los archivos
    del directorio <prontus_id>/cpan/url_list_index, que deben ser archivos de texto con una lista de urls
    para indexarlas, los campos que busca son los que se usan en redes sociales:
        og:title y twitter:title (si no encuentra el tag title)
        og:description y twitter:description
    Utiliza como limite el valor de URL_MAXPAGS
- Implementa exportación e importación de multitags, con el mismo funcionamiento que para las taxonomías.
- Implementa respaldo de artículos al guardar, se guardan en la carpeta <prontus-id>/site/_prontus_bkp.
    Los respaldos con antigüedad mayor de 7 días se borran.
- Agrega filtro por tags jerárquicos a los filtros avanzados en Portadas y Listado de Artículos Creados
- Permite modificar friendly URL de multitags.
- Implementa publicidad configurable, común para todos, para Prontus Player integrado desde cpan Prontus
    Se pueden configurar tags independientes para cada video y desactivar la publicidad en un video específico.
- Implementa artículos con y sin vistas. Configurando cada FID como "Visible" en Administrar -> Configuración -> Artículos,
    se puede determinar si para un FID se generan o no vistas:
    Si un FID de artículo se configura sin el check "Visible" no se generarán vistas, y se borrarán las existentes al guardar cada artículo.
    Se ocultan también los botones de Ver y Previsualizar para estos FIDs al crear o editar artículos.
    Se implementa en los buscadores del CPAN filtros para ocultar/mostrar estos FIDs en los resultados de búsqueda.
    Los FIDs sin vista no muestran enlace o URL en los listados de portadas o artículos creados.
    Los FIDs sin vista no figuran en portadas de taxonomía, tags, listados o tags jerárquicos.

### Changed
- Actualiza Font Awesome a 5.11.2
- La carga de datos de archivos de multimedia y el parseo se hace de forma más eficiente. Al cargar
    los campos del artículo quedan disponible los datos de multimedia. Antes solo quedaban disponibles
    durante el parseo de la plantilla de artículo.
- Usuarios se guardan en base de datos. Método para resetear clave de admin se mantiene.
- Activa plugin prontus_insert en editor VTXT
- La contraseña de un usuario expira después de un tiempo definido por el administrador y aunque el usuario la cambie, no se extiende su duración.
- Variables de configuración de prontus se guardan en un hash estructurado por id de prontus, variables generales
    de prontus_varglb que cambian se dejan de usar. Mantiene variables de prontus_varglb que guardan valores
    que no cambian por instancia de prontus. Se conservan variables antiguas para no romper compatibilidad
- La importación de taxonomías no permite orden = 0, si se da este caso se asigna 1. Taxonomías con orden 0, no se pueden usar.
- Consultas SQL se modifican para aumentar seguridad
- Cambia variables definidas como "my" a "our" en algunas cgis para evitar problemas de persistencia al usar mod perl registry.
- Agrega módulo MIME::Parser check platform.
- Corte de video no necesita recarga de fid
- Se renombran algunos procesos de .cgi a .pl que no se ejecutan via web
- Reimplementa glib_fildir_03::crea_dir y glib_fildir_03::check_dir
- Modifica el funcionamiento y respuestas de cgis para considerar mas casos de uso
- Disminuye frecuencia de chequeo de progreso de actualización de Prontus
- Si no esta bien configurado TAGPORT_ORDEN, TAXPORT_ORDEN y LIST_ORDEN, Prontus se puede usar
- Modificaciones generales a todo el código para mejorar el funcionamiento
- No configurar _fid y _plt es fatal en art_posting.
- Deja de usar dir_cgi.pm, directorios Prontus siempre son cgi-cpn y cgi-bin, no se puede tener
   versiones diferente de Prontus en mismo host.
- Reordena botones de campo de fotofija, agranda botones y deja check para cuadrar foto en la zona superior del control
- Modifica parseo de resultados de buscador para no eliminar contenido con caracteres % por error
- Lista todos los crons instalados para el usuario del sitio web
- Modifica texto y colores de diálogos de confirmación
- Facilita integración de publicación a redes sociales desde los fids
- Quita restricciones de directorios al garbage collector, mejora deteccion de ejecuciones simultaneas y
    detecta parametros insuficientes en invocacion
- Agrega parseo de todos los multitags para un artículo:

%%_loop_all_multitag_seccion%%
%%_multitag_seccion_id%% %%_multitag_seccion_nom%% %%_multitag_seccion_friendly%%
%%/_loop_all_multitag_seccion%%

%%_loop_all_multitag_tema%%
%%_multitag_tema_id%% %%_multitag_tema_nom%% %%_multitag_tema_friendly%%
%%/_loop_all_multitag_tema%%

%%_loop_all_multitag_subtema%%
%%_multitag_subtema_id%% %%_multitag_subtema_nom%% %%_multitag_subtema_friendly%%
%%/_loop_all_multitag_subtema%%

### Fixed
- Generacion de multitags no tomaba en cuenta valor de INCLUIR_PRONTUS_ID_URL para generar links
- Artículos borrados no se eliminaban de tablas de publicacion y despublicación
- Artículos sin fecha de despublicación se guardaban para despublicarse en la fecha 99999999
- Marca correctamente plugin seleccionado en menu lateral
- Campo "alta" se enviaba 2 veces al crear artículos nuevos en usuarios Admin y Editor
- Listado de perfiles de usuario tenía orden incorrecto
- Mensajes de error de imprimir y captcha se mostraban de forma incorrecta
- Corrige generación de friendly url en paginación de taxport y tagports.
- Al ordenar las taxonomías aparecía "#" en la url del administrador.
- Despliegue/Actualización al crear nuevas secciones/temas/subtemas no funcionaba correctamente.
- Loop de tags y loop de multitag no parseaban correctamente multiples ocurrencias en una plantilla.
- Botones de fid para cortar no funcionaban si video no estaba cargado previamente
- Intercambio de portadas, modificaba incorrectamente parte de la configuración asociada
- glib_fildir_03::crea_dir fallaba si el directorio a crear ya existía. Ahora falla si existe un archivo
    con el mismo nombre o no lo puede crear.
- Error en prontus_tags_admin.cgi y prontus_multitag_admin.cgi evitaba que se pudieran usar estos administradores.
- Funcionamiento errático de selección de portadas base y paralelas
- En caso de multiedición, quitar una portada no actualizaba la configuración de portadas base
- Limpieza de nombre de nueva portada para duplicar no borraba todos los caractéres prohíbidos
- Error de javascript en listado de artículos creados, cuando artículo no tiene taxonomía asignada
- Algunas tablas no usaban CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci al crearse
- Al abrir Exportar Tax, Tags o Multitag, si se hacía click fuera del modal este se cerraba.
- Elimina parseo y transformación de ##marca## en %%marca%%, obsoleto.
- Taxonomías no se podían desactivar correctamente
- Loops de multitag para artículo no parseaban todos los datos
- Elimina llamadas a [Objeto BD]->disconnect que causaban problemas en ambientes nuevos porque se ejecutan pero luego se hacen nuevas queries.

====================================================================================================
12.0.10.3 - 2019/09/11 - EAG
====================================================================================================
### Fixed
- Admin de portadas permitía usar caracteres especiales en el nombre al duplicar portadas
- Validación de nombre de portadas permitía caracteres especiales en algunos casos, ahora se permiten a-z, A-Z, 0-9, _ y .
- Limpiar la selección de imágenes para subir a Prontus provocaba un error
- Paginación en multitag no se estaba generando
- Corrige carga de variable DROPBOX_CUSTOM_DIR
- Corrige determinación de directorios para validacion de captcha

====================================================================================================
12.0.10.2 - 2019/09/04 - EAG
====================================================================================================
### Fixed
- Al crear nuevo articulo si fid seleccionado no existe prontus arroja error y no permite cambiarlo
- Busqueda de tags no funcionaba si no habia multivista

====================================================================================================
12.0.10.1 - 2019/09/04 - EAG
====================================================================================================
### Changed
- Ajusta directorios y archivos que se pueden editar con el editor de Prontus

====================================================================================================
12.0.10.0 - 2019/09/03 - AVP/EAG/JOR
====================================================================================================
### Added
- Paginación de últimas ediciones y ediciones anteriores en modal de ediciones.

### Changed
- Modifica rutas permitidas para listar en arbol de editor de archivos, no permite cgi-* y cpan
- Ajusta largo de columna en datos del formulario (prontus form)
- Modifica determinación de última modificación de artículo
- Cambia forma para determinar ruta de ejecucion de lib_ipcheck, lib_captcha y lib_captcha2.
- Cookies de cgi-bin/prontus_captcha.cgi se setean con SameSite=Strict; HttpOnly;

### Fixed
- Headers enviados por prontus_form y prontus_search eran incorrectos en algunos casos
- Wrapper para proteger contenidos no validaba todas las sesiones de Prontus disponibles
- Cambia tildes por entidades html en mensajes de error en file wrapper.
- Extension de archivos multimedia cargados queda en "lower case"
- No se podia editar nombre de multitags
- Mapa del sitio se generaba con codificación incorrecta
- Editor de fotos no funciona por cambio de jquery
- Selector de origen de actualización de Prontus no tenia efecto

====================================================================================================
12.0.9.0 - 2019/08/21 - EAG/FSC/JOR
====================================================================================================
### Added
- Implementa menú para agregar artículos en áreas con restricciones de fid
- Filas de listas (artículos, tags, tax) se destacan al pasar el mouse por encima
- Mejora manejo de errores en chequeo de update y borrado, reintenta la acción 3 veces
- Selector para elegir el origen de las actualizaciones
- Fid muestra fecha/hora de última modificación
- Paginación corta listados de multitags
- Agrega clase responsive-img a fotos arrastradas al vtxt
- Cgi wrapper para visualizar archivos solo si es hay sesión en prontus.
    Para proteger una carpeta utilizar la siguiente configuracion en nginx
    rewrite ^(/path/.*)     /cgi-cpn/prontus_file_wrapper.cgi?_file=$1;
- Agrega boton para volver arriba en menú del FID.

### Changed
- Cambia origen de actualizaciones a https://www.prontus.cl
- Slug no cambia automáticamente cuando artículo no es nuevo
- Reduce a 20 la cantidad de tags por página
- Modifica expresión regular de subtitulos de vtxt para mejorar detección
- Actualiza nombre del autor del artículo al guardar
- Prontus form usa siempre como remitente la dirección de correo ingresado para la autorespuesta a menos que se
    configure el correo "form_remitente" al enviar correos al administrador, la dirección de correo del usuario
    va como "reply-to"
- Cambia ubicación de tokens de cambio de contraseña a cpan/data
- Cambia cpan/data/prontus.js a cpan/procs/data4fids/prontus.js

### Fixed
- Intentaba transcodificar archivos de audio como si fueran videos
- Error en validación de parámetros permitía ejecutar comandos
- Id repetido en formulario de cambio de clave, se usaba el mismo en la ficha de usuario y provocaba comportamientos raros
- Mostrar nueva clave provocaba que el navegador intentara auto completar los campos
- Detección de restricciones de loops de portadas ignoraba algunos casos
- No se podía ocultar/desactivar tags desde el administrador
- Lectura de estilos para tablas en vtxt (tinymce table plugin) entregaba formato incorrecto
- Transcodificación fallaba si video original tenía resolución impar
- Art posting no imprimia mensaje de error
- Formateo de clases para estilos de tablas e imagenes en tinymce era incorrecta
- Validaciones de áreas de portada fallaban cuando fids no se abrían en ventana nueva
- Mensaje de error de validaciones de áreas de portada indicaba problemas adicionales inexistentes,
    si habia una área con problemas era posible que aparecieran otras áreas correctas
- Mensaje de error de conexión a casilla de publicación por email
- Despliegue de enlaces taxonómicos era incorrecto en administrador de categorías
- cpan-protocol y front-protocol quedaban con valor incorrecto al seleccionar https

====================================================================================================
12.0.8.1 - 2019/07/10 - EAG
====================================================================================================
### Fixed
- Corrige rutas de carga de json de multitag, tax y tags

====================================================================================================
12.0.8.0 - 2019/07/08 - EAG
====================================================================================================
### Added
- Agrega texto que indica que se valida diferencia de mayúsculas y minúsculas en el captcha de olvidar contraseña
- Modal de aviso que está procesando el login
- Validación de caracteres al usuario de login
- Timeout de 20 segundos para lib mail

### Changed
- Actualiza jquery a 3.4.1
- Restringe a 64 caracteres nombres de plantillas de portada
- Restringe nombre de prontus en wizard a 32 caracteres
- Quita "-" de mensajes de creación de tablas de BD
- Quita autoincremental de tabla tagsart
- Reordena los llamados de chequear sesion y sso
- Quita chequeo de directorios de la carga de configuración
- Mejora manejo de errores al chequear sesión en login
- Renombra variable $prontus_varglb::DIR_DATA a $prontus_varglb::DIR_CPAN_DATA
- Corrige inicialización de $prontus_varglb::DIR_CPAN agregando $prontus_varglb::DIR_PATH_CPAN para usar
 como base, esto evita que la variable DIR_CPAN tenga 2 posibles valores distintos si se ejecuto init
 o no, después de cargar la configuración de Prontus
- En check user si se detecta contraseña incorrecta o expirada se redirecciona al login si indica que debe
 redireccionar en el chequeo. Antes solo redireccionaba si no habia sesión y mostraba mensaje en otros casos

### Fixed
- Corrige mensajes de error al guardar configuración de portadas
- Edicion rápida no asignaba el autor al artículo
- No se podía enviar correo para recuperar contraseña
- Corrige mensajes de error en administrador de categorías
- Listado de artículos solo ordenaba por fecha de creación, no aceptaba ordenar por fecha de publicación

====================================================================================================
12.0.7.3 - 2019/06/24 - EAG
====================================================================================================
### Fixed
- Contraseñas expiradas no reseteaban la expiración al cambiarlas
- Corrige redirección cuando un usuario no tiene portadas
- Corrige estilos de actualizar contraseña expirada

====================================================================================================
12.0.7.2 - 2019/06/21 - EAG
====================================================================================================
### Fixed
- Corrige error al actualizar claves md5 de usuario con bcrypt, no se guardaba correctamente

====================================================================================================
12.0.7.1 - 2019/06/18 - EAG
====================================================================================================
### Fixed
- Corrige headers para casos de error en login
- Corrige uso de %prontus_varglb::USERS por cambio de estructura, habían algunas validaciones incorrectas

====================================================================================================
12.0.7.0 - 2019/06/12 - EAG/JOR
====================================================================================================
### Added
- Agrega botones de mapa de caracteres y tabla, a menú de VTXT
- Agrega paginación custom a resultados de búsqueda
    En plantilla del buscador:

    <!-- CONFIG HTML_PREVLINK= <a href="%%link%%" class="paglink" style="margin: 5px;">%%pag%%</a>  -->
    <!-- CONFIG HTML_NEXTLINK= <a href="%%link%%" class="paglink" style="margin: 5px;">%%pag%%</a>  -->
    <!-- CONFIG HTML_PAGELINK= <a href="%%link%%" class="paglink" style="margin: 5px;">%%pag%%</a>  -->
    <!-- CONFIG HTML_CURRENTPAGE= <i class="current_page">%%pag%%</i>  -->

    Variables de configuración:
    HTML_PREVLINK: Plantilla del link a la página previa.
    HTML_NEXTLINK: Plantilla del link a la página siguiente.
    HTML_PAGELINK: Plantilla del link a la página (número).
    HTML_CURRENTPAGE: Plantilla de la página actual.
- Agrega selector para elegir Prontus Master SSO
- Logea acción de copiar artículo.

### Changed
- Quita restricción de directorio prontus al editor de archivos.
- Variables de configuracion se ordenan antes de guardar
- Modifica la estructura de la variable prontus_varglb::PORTUSERS para simplificar codigo y funciones
- Quita código innecesario de administrador de portadas
- Centraliza el uso de lib_prontus::port_asoc
- Cambia estructura de %prontus_varglb::USERS para facilitar uso e implementaciones futuras
- Ajusta menús de vtxt y corrige problema de css en los menús emergentes
- Agrega opciones para evitar autocompletar en formularios de cambio de clave
- Ajustes para mejorar compatibilidad con Apache 2

### Fixed
- Soluciona problema con límite de artículos en área y publicación directa.
- No se eliminaban páginas de taxport al no quedar artículos de una taxonomía.
- Sitemap news no determinaba correctamente la versión de friendly urls activas
- Búsqueda de artículos no funcionaba correctamente al cambiar entre buscar por TS y Titular
- Corrige encoding de asunto para correo multipart

====================================================================================================
12.0.6.4 - 2019/04/30 - EAG
====================================================================================================
### Fixed
- Al agregar un artículo a un área de portada, los árticulos sin V°B° volvían a quedar con V°B°

====================================================================================================
12.0.6.3 - 2019/04/29 - EAG
====================================================================================================
### Changed
- Agrega carácter # como válido para password de base de datos

### Fixed
- Error en el wizard y modelos no permitía instalar prontus si el modelo no traía la carpeta cpan/data/users

====================================================================================================
12.0.6.2 - 2019/04/10 - EAG
====================================================================================================
### Fixed
- No se podía buscar artículos que no tuvieran sección asignada en listado de artículos y portadas

====================================================================================================
12.0.6.1 - 2019/04/02 - EAG
====================================================================================================
### Changed
- Edicion rapida retorna antes de ejecutar procesos, para mejorar velocidad de respuesta del cpan

### Fixed
- No funcionaba bien asignacion de tax en edición rápida

====================================================================================================
12.0.6.0 - 2019/03/27 - AVP/EAG
====================================================================================================
### Added
- Implementa parseo de loops de multitag en articulo y portadas, itera sobre multitags de artículo,
 no todas las del prontus. Soporta ifs anidados y loops anidados como subtema -> tema -> sección. Ejemplo de uso:

%%_loop_multitag_seccion%%
loop multitag seccion

%%if(_multitag_seccion_id eq 30)%% if content 1 %%/if%%
%%if(_multitag_seccion_id eq 30)%% if content 2 %%/if%%
%%if(_multitag_seccion_id eq 8)%% if content 3 %%/if%%

%%_multitag_seccion_id%% %%_multitag_seccion_nom%% %%_multitag_seccion_friendly%%
%%/_loop_multitag_seccion%%

%%_loop_multitag_tema%%
loop multitag tema
%%if(_multitag_tema_id eq 3)%% if content 4 %%/if%%
%%_multitag_tema_id%% %%_multitag_tema_nom%% %%_multitag_tema_friendly%%
%%/_loop_multitag_tema%%

%%_loop_multitag_subtema%%
loop multitag subtema
%%if(_multitag_subtema_id eq 3)%% if content 5 %%/if%%

%%_multitag_subtema_id%% %%_multitag_subtema_nom%% %%_multitag_subtema_friendly%%
%%/_loop_multitag_subtema%%

- Implementa parseo de loops de tags en articulo y portadas. Ejemplo de uso:

%%_loop_tags%%
    %%_tag_id%% - %%_tag_nom%%
%%/_loop_tags%%

- Implementa filtro de búsqueda para selector de multitag
- Valida formatos de fechas antes de guardar una búsqueda
- Muestra titular y fid en confirmación para borrar artículo
- Implementa administración GUI de subdominios a considerar al hacer purge de caches. Agrega subdominio www por defecto para limpieza de caches
- Guarda nombre del autor de un artículo desde la variable $prontus_auth::USERS_NOM
- Agrega paginación a administrador de multitag
- Avisa al arrastrar fotos que no son del banco de imagenes a la galería de fotos. Evita perder el fid actual
    y le avisa al usuario que no puede arrastrar archivos directamente
- Elimina "vertical whitespaces" del subject al enviar mail con lib_mail
- Implementa envio de mail y log en prontus posting
- Prontus form detecta si esta detras de proxy para evitar bloquear ip de proxy
- Implementa solución para aplicar timeout al cargar urls remotas
- Regenera relacionados valida prontus con lib_prontus::valida_prontus
- Agrega operacion !~ a procesamiento de condicionales
- Registra cambios de clave en log de operación
- Galeria prontus permite agregar nuevos tamaños de foto, pero no quitar
- Agranda botones de acción de la galería prontus en el fid
- Agrega generacion de json con multitags al guardar nuevos tags
- Guarda el último fid seleccionado al crear artículo, y lo usa al hacer click en 'Crear nuevo artículo' para presentar formulario del fid correcto
- Limpia campos de guardar búsqueda antes de abrir el modal de búsqueda avanzada
- Implementa registro persistente en localstorage de las opciones ordenar por y número de artículos por página en el admin de portadas
- Implementa uso de Artic y lib_artic para obtener datos para imprimir

### Changed
- Actualiza bootstrap a versión 3.4.1
- Actualiza tiempos de actividad de sesion de usuario, sin sobreescribir el archivo de sesión
- Errores en prontus posting usan plantilla de error
- Función check_dir detecta si existe un archivo y no directorio con el nombre a crear
- Aumenta la espera para chequear el estado del proceso de actualización
- Tab no seleccionado de carga de imagenes queda gris, seleccionado blanco
- Cambia textos para mostrar nomenclatura de KB a KiB, MB a MiB, GB a GiB, etc.
- Mueve función garbage_collection a glib_fildir_03.pm
- Quita variable no usada LIMITE_PROCESAMIENTO_IFS
- Version mínima requerida de json para perl sube a 2.14
- Cambia a minusculas los meses en el formato de fecha larga
- Borra script para comprimir modelos, pasa a ser parte del repositorio de modelos
- No utiliza columnas MULTITAG_ART_<XX>_FRIENDLY para buscar. Quita columnas MULTITAG_ART_<XX>_FRIENDLY al crear tablas
- Banco carga url friendly de imagenes, para usar el mismo tipo de url en todas partes
- Accion de cancelar quitar foto de galeria fallaba. No intenta eliminar la foto del articulo por
  lo que se cambia el mensaje al usuario
- Reemplaza uso de clase fa de fontawesome que fue deprecada
- Refactoriza prontus_imprimir.cgi reemplazando subrutinas propias por subrutinas en librerías de Prontus centralizando el código
- Mejora sistemas de publicación a redes sociales
    * Actualiza posting a YouTube. Implementa posibilidad de cargar video múltiples veces
    * Actualiza sdk de facebook y la lib de oauth usada para posts a twitter
    * Actualiza sdk de google para posting a youtube
    * Corrige programación de acciones dependientes de variables para redes sociales
    * Corrige paths de cgis y scripts de youtube para seguir el formato de las otras soluciones de posting
    * Corrige path a Posting*.class.js Elimina macro _configura_redes_sociales, mueve el código a Fid.class.js
    * Elimina referencias obsoletas a twitter_posting de art_sbmit.cgi
    * Mueve los archivos de Posting*.js de Facebook y Twitter a sus directorios correctos
    * Implementa posting a Twitter usando Ajax
    * Elimina referencias a facebook_posting de art_sbmit.cgi
    * Implementa posting a Facebook usando Ajax

### Fixed
- Corrige error en parámetros devueltos al cpan al buscar artículos
- Corrige carga de multitags en fid
- Corrige funcionamiento y guardado de buscador avanzado de CPAN
- Corrige funcionamiento de tecla Enter al borrar/copiar/crear/cerrar/guardar en editor de archivos
- Corrige funcionamiento de "time out" de lib_prontus::geturl
- Areas vacías con restricciones fallaban al guardar portada
- Corrige publicación directa de artículos en portada
- Corrige guardado e inutilización de Prontus al configurar portadas inválidas, en este caso ignora la configuración errónea
- Corrección del funcionamiento de configuración de portadas con multiedición activada. Se cambia por claridad y
    cambios futuros ya que funcionaba bien a pesar de estar incorrecto
- Corrige inicializacion de variable USERS_USR usada para log de operación
- Corrige parseo de user id para cambios de clave
- Corrige deteccion de fotos sin usar en los fid
- Corrige error en administrador de portadas cuando no existen taxonomías
- Corrige problemas de codificacion en portadas de multitag
- Path al buscar archivos de un artículo podia quedar incompleto
- Corrige formateo, quita variable que no se usa
- Faltaba deteccion de tipos de fotos editables en banco de imágenes
- Quita carga de tax4fids.js ya que no se usa
- Corrige regexp para detectar duracion de videos
- Indexador del buscador prontus omite caracter "|" para evitar errores al mostrar resultados

====================================================================================================
12.0.5.0 - 2019/01/30 - AVP/EAG/JOR
====================================================================================================
### Added
- La contraseña se hashea de nuevo y actualiza usando bcrypt si esta en md5 u otra encriptación
- Cookies se setean con SameSite=Strict; HttpOnly;
- Agrega soporte de imágenes SVG, no se pueden manipular. Al no poder redimensionar se utiliza la
  misma imagen para todos los controles de fotofija a los cuales se le asigna la foto, por lo tanto
  no se genera una nueva imagen luego de que se guarda el artículo
- Agrega mapa del sitio de tags, plantilla debe ir en /<prontus_id>/plantillas/extra/tags/pag(-mv)/plantilla.html
Opciones de configuracion:
orden
<!-- CONFIG ORDERBY = name -->
<!-- CONFIG ORDERBY = id -->
filtrar tags que estan en uso
<!-- CONFIG SOLO_CON_ARTICS = 1 -->

Agregar post proceso al finalizar la generación del mapa de tags
<!--POST_PROCESO=pproc/ejemplo.pl-->

Marcas disponibles:
%%loop_tags%%

%%_id%%
%%_nom%%
%%_mostrar%%
%%_fixed_url%%

%%/loop_tags%%

Marcas globales:
%%_server_name%%
%%_prontus_id%%
%%_plt_nom%%
%%_plt_ext%%
%%_vista%%


### Changed
- Quita cgi y archivos que no se usan
- Mejora actualizacion de información del estado del proceso de publicacion a youtube
- Simplifica llamado a actualizar DAM al transcodificar
- Mejora el uso de cookies y manejo de la sesion de Prontus
- Quita doble md5 al generar token para recuperar contraseña

### Fixed
- Errores de directorios no creados en publicacion a youtube
- Error al validar permisos de usuario en publicacion a youtube
- Tamaño incorrecto de archivos mostrados en el fid, se mostraba el tamaño acumulado
- Nombre de usuario logeado no aparecía en la GUI
- Ping de uso de portadas no funcionaba sin multiedición
- Detiene ping de recursos en uso al cerrar sesión
- Generación de marcas para fixed_urls fallaba
- Codificación de asunto de correos enviados por Prontus Form
- Error al verificar estado de actualización de Prontus
- Error al realizar posting, la página de resultado no se podía escribir
- prontus_imprimir.cgi leia los archivos usando codificación iso
- prontus_form.cgi se caía al subir archivos con tildes
- No se estaban regenerando los relacionados antiguos cuando se cambiaba se seccion/tema/subtema en un artículo
- Soluciona problema con editor de imagenes en fid
- Edición rápida en listado de artículos funcionaba de manera errática al cambiar el alta de un artículo

====================================================================================================
12.0.4.1 - 2018/12/06 - EAG
====================================================================================================
### Fixed
- Corrige error al presionar el botón "ver portada" cuando no hay multiedición
- No se busca el listado de ediciones si esta desactivada multiedición

====================================================================================================
12.0.4.0 - 2018/12/05 - AVP/EAG/JOR
====================================================================================================
### Added
- Agrega release notes y changelog a update y release
- Mueve código de inicialización de posting a redes sociales en FID a una macro reservada
- Agrega diferenciacion para descargar componentes en modo binario si son, e.g. archivos de imagen
- Wizard prontus busca los modelos en un directorio específico para prontus 12

### Changed
- Al crear o editar, registra en el log solamente el timestamp del artículo en lugar del path
- Cambia formato del menú del editor visual de los artículos, los estilos de prontus no aparecen en un submenú
- Cambia ícono de Prontus Actualizado a fa-check-double
- Cambia el color de las líneas con software no encontrado durante la verificación de software a un rojo más vivo

### Fixed
- Soluciona problema con preview de artículo en FIDs que tienen .submit en vez de .prontusSubmit
- Soluciona problema con edición libre de imágenes en editor de fotos
- Corrige error de listado de port al desactivar multiedicion
- Corrige algoritmo para reconocer css en los artículos
- Corrige error en port_art_list, horas venian mal formateadas
- Corrige lógica de guardar portada: no estaba reseteando la variable que indica si hay cambios en la portada
- Corrige lógica del botón cancelar cambios para que funcione
- Corrige textos para usar segunda persona singular
- Corrige URL para autorizar app de youtube

====================================================================================================
12.0.3.0 - 2018/11/15 - AVP/EAG
====================================================================================================
### Added
- Separa en optgroups los módulos de las portadas en el selector de portadas
    El criterio es 'if (_self.port.all_ports[x].plt.match(/^_(?:m|p)_/i))'
- Valida formato de json de metadata de un video, si no es valido cgi invoca ffmpeg
- Agrega campo para ingresar nombre descriptivo al duplicar portadas
- Marca con color rojo los ítems que fallaron en la verificación de plataforma
- Registra alta asignada al guardar artículos nuevos
### Changed
- Valida formato de otros json usados, para no generar un error si no es válido
- Corrige textos de los enlaces a manuales
- Cambia emoji por símbolo fontawesome en administrador de portadas
- Sube resolucion y bitrate maximos permitidos antes de transcodificar
- Optimiza funcionamiento de cgi y proceso de guardado
### Fixed
- Detección de quota usada no funcionaba si el "document root" estaba en directorio raíz, por ej /web
- Purge de cloudflare usa protocolo de front end configurado en Prontus
- Ajusta ancho de menu de usuario, si el nombre del usuario era muy corto se veia mal

====================================================================================================
12.0.2.0 - 2018/11/07 - EAG
====================================================================================================
### Changed
- Al abrir el fid intenta cargar el archivo json con la metadata del video antes de intentar usar ffmpeg
para obtener la información directamente desde el video

### Fixed
- Corrige parseo de las marcas multimedia en plantillas, las rutas quedaban mal
- Se producia un error al usar directamente las marcas "multimedia_audioN" sin usar la macro reservada _audio.html

====================================================================================================
12.0.1.0 - 2018/10/31 - ALD/AVP/CSS/EAG/FSC/HCV/INC/JOR/MTC/PCQ/PRB/RVP/SCT
====================================================================================================
Primera versión estable de la rama 12.0.x
Desarrollado utilizando la siguiente plataforma:
    Perl 5.20.2
    Bootstrap 3.3.7
    Font Awesome 5.4.1
    Jquery 3.3.1
    Mysql 5.7+, MariaDB 10.0.5+
    FFmpeg 2 y 3
    Debian 8+

- Utiliza codificación UTF8 completa utilizando DB utf8mb4, corrige inconsistencias de Prontus 11 para almacenar información
- Nueva interfaz con diseño responsivo
- Implementa soporte para google reCAPTCHA v2
- Implementa publicación a redes sociales: Facebook, Twitter y Youtube
- Implementa listado de artículos creados con edición rápida, para cambiar estado de alta y taxonomía
- Implementa mayor flexibilidad en el uso de macros del cpan para facilitar la construcción del administrador y fids
- Refactorización de código base, se mejora el funcionamiento general, eliminando además funciones sin uso
- Se aumenta el uso de "AJAX" en los fids para mejorar la experiencia de uso
- Elimina variables de configuración innecesarias y se reordena la ubicación de algunas variables
- Implementa nuevas marcas y macros reservadas para simplificar la construcción de los fid
- Implementa interfaz gráfica para la construcción de fids
- Integra la funcionalidad de sitemap
- Implementa nuevo sistema para cargar archivos a los fid
- El identificador único de los artículos es ahora el TimeStamp (AAAAMMDDHHmmss), el valor de "autoinc"
es solo referencial y no se usa para generar relaciones entre los artículos
- Integra TinyMCE 4.8.x (actualmente 4.8.2)
- Implementa nuevo sistema DAM, que facilita la reutilización de los contenidos multimedia cargados
 en los artículos
- Prontus ahora tiene un Front-end, en el que se incluirán librerías y scripts que serán actualizados
 con las nuevas versiones de Prontus
- Se incluye ProntusPlayer y ProntusPlayerAudio utilizados para embeber los archivos multimedia
 cargados en los artículos Prontus
- El fid soporta múltiples videos con transcodificación y múltiples archivos de audio
- Los videos integran generación automática de thumbnails y de poster, el poster también se puede publicar manualmente
(requiere ffmpeg instalado y configurado)
- Los videos disponen de nuevas marcas para usar en los artículos (requiere ffmpeg instalado y configurado):
%%multimedia_video1.duration%%
%%multimedia_video1.hls%%
%%multimedia_video1.qualities.1.file%%
%%multimedia_video1.acodec%%
%%multimedia_video1.duration_hms%%
%%multimedia_video1.fps%%
%%multimedia_video1.screenshot%%
%%multimedia_video1.vbitrate%%
%%multimedia_video1.width%%
%%multimedia_video1.thumbnails%%
%%multimedia_video1.poster%%
%%multimedia_video1.height%%
%%multimedia_video1.vcodec%%
%%multimedia_video1.abitrate%%
%%multimedia_video1.custom_imag%%
%%multimedia_video1.ext%%
%%multimedia_video1.size%%

- Se disponibilizan distintos procesamientos de texto para todas las marcas de texto de un artículo y se pueden
 utilizar en conjunto con el recorte de largo, las siguientes salidas son válidas:

%%_txt_bajada(5).code%%
%%_txt_bajada(5).json%%
%%_txt_bajada(5).xml%%
%%_txt_bajada(5).strip%%
%%_txt_bajada(5).urlencode%%

Para obtener el texto sin formato de las marcas que tienen prefijo txt y vtxt existe la salida .raw, por ejemplo:
%%_txt_bajada.raw%%

Y se puede modificar con las salidas indicadas, por ejemplo las siguientes marcas son válidas:
%%_txt_bajada(5).raw.code%%
%%_txt_bajada(5).raw.json%%
%%_txt_bajada(5).raw.xml%%
%%_txt_bajada(5).raw.strip%%
%%_txt_bajada(5).raw.urlencode%%

- Las portadas permiten especificar límite y tipos de artículos por área, por ejemplo:
%%Loop1(Destacados,3)%%
%%Loop1(Destacados,fid_general,3)%%
%%Loop1("Destacados, Importantes",3)%%
%%Loop1(Destacados Importantes,fid_general|fid_link,3)%%
%%Loop1("Destacados, Importantes",fid_general|fid_link,3)%%

Variables globales disponibles en las plantillas
%%_server_name%%
%%_frontend_protocol%%
%%_cpan_server_name%%
%%_cpan_protocol%%
%%_prontus_id%%
%%_prontus_version_corta%%
%%_prontus_version%%

- Las urls de las imágenes cargadas siempre son “friendly”, se necesita la siguiente configuración para Nginx:

# Friendly Imágenes
rewrite ^/([^\/]+)/site/artic/(\d+)/imag/([a-z\d_]+)/([a-zA-Z\d_\-\.]+)\.([a-zA-Z]+) /$1/site/artic/$2/imag/$3_$4.$5;

- Directivas de configuración de Friendly urls para Nginx
### Friendly 1.0
rewrite ^/[^\/]+/([^\/]+)/([0-9]+)-([0-9]+)-([0-9]+)/([0-9]+)\.html /$1/site/artic/$2$3$4/pags/$2$3$4$5.html;

---------------------------------------------------------------------------------------
### Friendly 2.0
rewrite ^/([^\/]+)/.+?/([0-9]+)-([0-9]+)-([0-9]+)/([0-9]+)\.html /$1/site/artic/$2$3$4/pags/$2$3$4$5.html;

---------------------------------------------------------------------------------------
### Friendly 3.0
rewrite ^/.+?/([0-9]+)-([0-9]+)-([0-9]+)/([0-9]+)\.html /<prontus_id>/site/artic/$1$2$3/pags/$1$2$3$4.html;

---------------------------------------------------------------------------------------
### Friendly 4.0
rewrite     "^\/([^\/]+)\/?.*?\/([^\/\.]{2})([^\/\.]{2})([^\/\.]+?)\/?$"          /$1/site/friendly/links/$2/$3/$2$3$4.html;

---------------------------------------------------------------------------------------
### Friendly v4.1, con la vista en la url
# prontus -  titular
rewrite     "^\/([\w\-]+)\/([\w\-]{2})([\w\-]{2})([\w\-]+?)\/?$"          /$1/site/friendly/links/$2/$3/$2$3$4.html;
# prontus - (vista|seccion) -  titular
location ~ "^\/([\w\-]+)\/([\w\-]+)\/?.*?\/([\w\-]{2})([\w\-]{2})([\w\-]+?)\/?$" {
    try_files /$1/site/friendly/links-$2/$3/$4/$3$4$5.html /$1/site/friendly/links/$3/$4/$3$4$5.html =404;
    include     global/php2.conf;
}
# taxports y tagports con vista despues de prontus_id
rewrite     "^\/([\w\-]+)\/([\w\-]+)\/(site\/ta[xg]\/port)\/([\w]+)\/(.*)$"   /$1/$3/$4-$2/$5;

# portadas normales
rewrite     "^\/([\w\-]+)\/([\w\-]+)\/(site\/edic\/[\w\-]+/port)\/(.*)$"   /$1/$3-$2/$4;

---------------------------------------------------------------------------------------
### Friendly 4.2 sin prontus_id en la url
rewrite     "^\/?.*?\/([\w\-]{2})([\w\-]{2})([\w\-]+?)\/?$"          /<prontus_id>/site/friendly/links/$1/$2/$1$2$3.html;

La siguiente configuración no es compatible con multivistas configuradas por cookie.
Sirve para las versiones friendly 4.2 y 4.1, sin necesidad de reconfigurar el servidor web

### Friendly 4.2 sin prontus_id en la url
set $prontus "<prontus_id>";

# location matchea:
# /prontus_id/seccion/tema/subtema/titular
# /prontus_id/seccion/tema/titular
# /prontus_id/seccion/titular
# /$1/site/friendly/links/$3/$4/$3$4$5.html
# /seccion/tema/subtema/titular
# /seccion/tema/titular
# /$prontus/site/friendly/links/$3/$4/$3$4$5.html
#
# con vista en la url
# /prontus_id/vista/seccion/tema/subtema/titular
# /prontus_id/vista/seccion/tema/titular
# /prontus_id/vista/seccion/titular
# /prontus_id/vista/titular
# /$1/site/friendly/links-$2/$3/$4/$3$4$5.html
# /vista/seccion/tema/subtema/titular
# /vista/seccion/tema/titular
# /vista/seccion/titular
# /$prontus/site/friendly/links-$1/$3/$4/$3$4$5.html
location ~ "^\/([\w\-]+)\/([\w\-]+)\/?.*?\/([\w\-]{2})([\w\-]{2})([\w\-]+?)\/?$" {
    try_files /$prontus/site/friendly/links-$1/$3/$4/$3$4$5.html /$prontus/site/friendly/links/$3/$4/$3$4$5.html /$1/site/friendly/links-$2/$3/$4/$3$4$5.html /$1/site/friendly/links/$3/$4/$3$4$5.html =404;
    # configuracion de php si es necesaria, no lleva try
    include     global/php2.conf;
}

# location matchea:
# /prontus_id/titular
# /$1/site/friendly/links/$2/$3/$2$3$4.html
# /seccion/titular
# /$prontus/site/friendly/links/$2/$3/$2$3$4.html
#
# con vista en la url
# /vista/titular
# /$prontus/site/friendly/links-$1/$2/$3/$2$3$4.html
location ~ "^\/([\w\-]+)\/([\w\-]{2})([\w\-]{2})([\w\-]+?)\/?$" {
    try_files /$prontus/site/friendly/links-$1/$2/$3/$2$3$4.html /$prontus/site/friendly/links/$2/$3/$2$3$4.html /$1/site/friendly/links/$2/$3/$2$3$4.html =404;
    # configuracion de php si es necesaria, no lleva try
    include     global/php2.conf;
}

# matchea solo titular
rewrite "^\/([\w\-]{2})([\w\-]{2})([\w\-]+?)\/?$" /$prontus/site/friendly/links/$1/$2/$1$2$3.html;

- Directivas de configuración de Nginx para urls de multitag
Sin Prontus id en la url, cambiar <prontus_id> por el identificador de la instancia Prontus asociada
# Rewrite multitag
rewrite ^/seccion/([^\/]+)/p/(\d+)$     /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=<prontus_id>&s=$1&p=$2;
rewrite ^/tema/([^\/]+)/p/(\d+)$        /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=<prontus_id>&t=$1&p=$2;
rewrite ^/subtema/([^\/]+)/p/(\d+)$     /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=<prontus_id>&st=$1&p=$2;
rewrite ^/seccion/([^\/]+)/tema/([^\/]+)/p/(\d+)$       /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=<prontus_id>&s=$1&t=$2&p=$3;
rewrite ^/seccion/([^\/]+)/subtema/([^\/]+)/p/(\d+)$    /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=<prontus_id>&s=$1&st=$2&p=$3;
rewrite ^/tema/([^\/]+)/subtema/([^\/]+)/p/(\d+)$       /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=<prontus_id>&t=$1&st=$2&p=$3;
rewrite ^/seccion/([^\/]+)/tema/([^\/]+)/subtema/([^\/]+)/p/(\d+)$      /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=<prontus_id>&s=$1&t=$2&st=$3&p=$4;
# /Rewrite multitag

Con Prontus id en la url
# Rewrite multitag
rewrite ^/([^\/]+)/seccion/([^\/]+)/p/(\d+)$    /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=$1&s=$2&p=$3;
rewrite ^/([^\/]+)/tema/([^\/]+)/p/(\d+)$       /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=$1&t=$2&p=$3;
rewrite ^/([^\/]+)/subtema/([^\/]+)/p/(\d+)$    /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=$1&st=$2&p=$3;
rewrite ^/([^\/]+)/seccion/([^\/]+)/tema/([^\/]+)/p/(\d+)$      /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=$1&s=$2&t=$3&p=$4;
rewrite ^/([^\/]+)/seccion/([^\/]+)/subtema/([^\/]+)/p/(\d+)$   /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=$1&s=$2&st=$3&p=$4;
rewrite ^/([^\/]+)/tema/([^\/]+)/subtema/([^\/]+)/p/(\d+)$      /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=$1&t=$2&st=$3&p=$4;
rewrite ^/([^\/]+)/seccion/([^\/]+)/tema/([^\/]+)/subtema/([^\/]+)/p/(\d+)$     /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=$1&s=$2&t=$3&st=$4&p=$5;
# /Rewrite multitag


- Implementa plugins paquetizados.
Cada plugin debe existir en su propio directorio dentro de [prontus_dir]/cpan/prontus_plugins/
Ese directorio debe contener al menos
    * un archivo html para el plugin
    * un archivo plugin.json con el siguiente formato:
        {
            "plugin": "ejemplo.html",
            "nombre": "Plugin de Ejemplo",
            "version": "0.1",
            "habilitado": true,
            "embebido": true,
            "css": ["plugin_ejemplo.css",
            "plugin_ejemplo_2.css"],
            "js": ["Plugin_ejemplo.class.js"]
        }
donde
    * 'embebido' permite especificar si el plugin debe cargarse embebido dentro de la plantilla prontus_admin_plugins.html o por sí solo;
    * 'habilitado' permite activar o desactivar el plugin,
    * 'css' y 'js' son listas de archivos que se asume existen dentro de los directorios css y js-local del plugin,
    * 'nombre' es el nombre del plugin para usar en el sidebar y título,
    * 'plugin' es el nombre del archivo html.
