DFX Cartas de retiros parroquiales

Descripción

DFX Cartas de retiros parroquiales permite a tu parroquia gestionar todo el ciclo de vida de mensajes personales confidenciales para los asistentes a retiros: desde la recopilación de cartas a través de un formulario web público hasta su impresión segura desde la administración, manteniendo los contenidos completamente cifrados y cada acción completamente auditada.

¿Cómo funciona?

  1. Crear un retiro y registrar los asistentes.
  2. Compartir la URL única y privada de cada asistente con las personas que quieran escribirles: familiares, amigos, directores espirituales.
  3. Los escritores completan el formulario en una página pública limpia: pueden escribir un mensaje en formato enriquecido, adjuntar imágenes o documentos, y aceptar un aviso legal. Un CAPTCHA aritmético simple protege contra bots.
  4. Los mensajes se almacenan cifrados en la base de datos. Nadie puede leerlos navegando por las páginas administración, solo se revelan en el momento de la impresión.
  5. El personal autorizado imprime los mensajes desde el panel de administración. Cada impresión se registra con el nombre de usuario, la marca de tiempo y la dirección IP.
  6. Los mensajes se entregan a los asistentes durante o después del retiro.

Gestión de retiros

  • Crear retiros con nombre, ubicación, fechas de inicio y fin, y un mensaje de bienvenida personalizado que se mostrará en el formulario de envío.
  • Configurar un texto de aviso legal y el texto de la casilla de aceptación que los escritores deben marcar antes de poder enviar sus mensajes.
  • Activar o desactivar los campos opcionales de Notas y Notas Internas por retiro (Las Notas son exportables; las Notas Internas no lo son).
  • Establecer clases CSS personalizadas en el body de la página del formulario de mensajes por retiro, para que cada retiro pueda usar un estilo visual diferente.
  • Elige un bloque de cabecera y un bloque de pie de página personalizados (cualquier bloque de WordPress o parte de plantilla) para personalizar la página del formulario de envío.
  • Elimina un retiro junto con todos sus participantes y mensajes de una sola vez.

Gestión de asistentes

  • Añadir asistentes individualmente o importarlos desde un archivo CSV (es compatible con el modo de fusión para añadir datos de contacto de emergencia sin sobrescribir registros existentes).
  • Cada asistente almacena: nombre, apellidos, fecha de nacimiento, y los siguientes campos opcionales — notas, notas internas, detalles de contacto de emergencia (nombre, apellidos, relación, correo electrónico), persona que invita e incompatibilidades.
  • Exportar asistentes a CSV incluyendo su URL de mensaje único, recuento de mensajes y todos los campos estándar.
  • Ordena y filtra la lista de asistentes por nombre, cantidad de mensajes, notas u cualquier otra columna disponible.
  • La lista de asistentes muestra de un vistazo cuántos mensajes ha recibido cada persona y cuántos aún no han sido impresos.
  • Borrar asistentes individuales, o quitar a todos los asistentes de un retiro a la vez.

Envío de mensajes confidenciales (formulario público)

  • Cada asistente tiene una URL única y criptográficamente segura (basada en un token aleatorio). Cualquier persona con el enlace puede enviar un mensaje sin iniciar sesión en WordPress.
  • El formulario de envío proporciona un editor de texto enriquecido (con formato, imágenes y la posibilidad de copiar y pegar desde Word o Google Docs).
  • Los escritores pueden adjuntar imágenes y documentos (PDF, DOCX y otros tipos comunes). Si un mensaje tiene varios archivos que no son imágenes, se agrupan en un ZIP para imprimirlos.
  • Se puede requerir un aviso legal opcional con una casilla de verificación de aceptación configurable antes de enviarlo.
  • Un sencillo CAPTCHA aritmético evita envíos automatizados. Los usuarios de WordPress con sesión iniciada omiten el CAPTCHA.
  • La URL del formulario incluye las iniciales del asistente como sufijo para facilitar su identificación al compartir enlaces, sin exponer el nombre completo.
  • Limitación de tasa (20 solicitudes por hora por IP) evita el abuso.

Acceso seguro a los mensajes e impresión

  • La interfaz de administrador nunca muestra el contenido del mensaje — no hay un panel de previsualización de contenido. Esto protege la confidencialidad si la pantalla es visible para otras personas.
  • Los usuarios autorizados abren un mensaje y hacen clic en Imprimir. El plugin descifra el contenido al vuelo, lo procesa en un formato listo para imprimir con el nombre del destinatario y el nombre del remitente, y lo envía a la impresora.
  • Cada acción de impresión se registra en un registro de impresión (usuario, marca de tiempo, dirección IP). El registro es visible desde la lista de mensajes del asistente.
  • Las imágenes múltiples de un mismo mensaje se distribuyen de manera que no se dividan entre páginas.

Sistema de permisos de tres niveles

El plugin utiliza tres niveles de acceso, cada uno de ellos limitado a retiros específicos:

Administradores del plugin (usuarios de WordPress con la capacidad de gestionar el plugin de retiro, automáticamente otorgada a los administradores de WordPress):

  • Crear y eliminar retiros.
  • Gestionar a todos los asistentes y todos los mensajes en todos los retiros.
  • Conceder o revocar permisos para cualquier retiro.
  • Acceder a las páginas de «Ajustes generales» y de «Privacidad y cumplimiento».

Gestores de retiro (asignados por retiro):

  • Control total de su retiro asignado: editar detalles del retiro, gestionar asistentes, acceder a todos los mensajes.
  • Invitar y asignar gestores de mensajes a su retiro.
  • No pueden acceder a otros retiros o ajustes globales.

Gestores de mensajes (asignados por retiro):

  • Acceso solo de lectura a los nombres de los asistentes para el contexto.
  • Pueden abrir e imprimir mensajes confidenciales para su retiro.
  • No pueden editar los asistentes, detalles del retiro o permisos.
  • Se registra toda acción de impresión.

Invitaciones de usuario

  • Invita a cualquier dirección de correo electrónico a convertirse en gestor de retiro o gestor de mensajes para un retiro específico directamente desde la pestaña de «Gestión de acceso» del retiro.
  • El invitado recibe un correo electrónico con un enlace seguro que contiene un token de uso temporalmente limitado.
  • Si la dirección de correo electrónico ya pertenece a un usuario de WordPress, se le otorga el perfil inmediatamente al aceptar. Si no, se crea una nueva cuenta de WordPress para ellos.
  • Las invitaciones pendientes se pueden cancelar en cualquier momento. Las invitaciones caducadas se eliminan automáticamente.

Cifrado y seguridad de datos

  • Todo el contenido del mensaje y los archivos adjuntos se cifran con AES-256-CBC y se identifican con HMAC-SHA256 antes de ser escritos en la base de datos o en el disco.
  • La clave de cifrado se genera automáticamente en la primera activación y se almacena en la base de datos. Un aviso de administrador te indica que la muevas a wp-config.php definiendo la constante DFXPRL_ENCRYPTION_KEY para una mayor seguridad. Si la constante y la clave de la base de datos difieren en algún momento, el plugin detecta la discrepancia y ofrece una resolución con un clic.
  • Cada acción sensible de administrador (concesiones de permisos, revocaciones, eventos de invitación) se registra en un registro de auditoría de permisos.

RGPD y cumplimiento de la privacidad

  • Derecho al olvido (artículo 17 del RGPD): borrado de todos los datos personales de una dirección de correo electrónico específica o de un asistente en una sola acción.
  • Portabilidad de datos (artículo 20 del RGPD): exportar todos los datos personales asociados a una dirección de correo electrónico como un archivo estructurado.
  • Anonimización de direcciones IP: las direcciones IP del remitente se anonimizan automáticamente después de un período de retención configurable (por defecto 30 días). Un trabajo cron diario de WordPress se encarga de la limpieza.
  • Retención de datos configurable: establece durante cuánto tiempo se mantienen los mensajes y registros de auditoría antes de su eliminación automática.
  • Ley española de privacidad (LOPD-GDD): el plugin fue diseñado teniendo en cuenta los requisitos de protección de datos españoles, además del RGPD.
  • Todos los ajustes se encuentran bajo «Retiros > Privacidad y cumplimiento».

Ajustes globales

Bajo «Retiros > Ajustes globales» se puede configurar:

  • Bloques de cabecera y pie de página por defecto para el formulario de envío de mensajes (sobreescribibles por retiro).
  • Clases CSS por defecto del body para la página del formulario de envío.
  • Gestión de claves de cifrado (incluida la opción de eliminar una clave almacenada en la base de datos a favor de la constante wp-config.php).

Internacionalización

  • El plugin incluye una traducción completa al español (es_ES).
  • Se incluye un archivo de plantilla .pot para que puedas añadir tu propio idioma.
  • El formulario de envío público utiliza un español informal («tú») para darle un tono más cercano.

Instalación

  1. Sube la carpeta dfx-parish-retreat-letters a /wp-content/plugins/.
  2. Activa el plugin a través del menú de «Plugins» de WordPress.
  3. El plugin crea automáticamente todas las tablas de base de datos necesarias al activarse.
  4. Navega a «Retiros» en la barra lateral de administración de WordPress para dar los primeros pasos.

Pasos recomendados tras la instalación

  1. Ve a «Retiros > Ajustes globales» y revisa la cabecera, pie de página y ajustes de clase de cuerpo por defecto para el formulario de envío.
  2. Ve a «Retiros > Privacidad y cumplimiento» y configura los períodos de retención de datos para que se ajusten a tus requisitos legales locales.
  3. Para los sitios de producción, añade la siguiente línea al archivo wp-config.php para almacenar la clave de cifrado fuera de la base de datos:
    define( ‘DFXPRL_ENCRYPTION_KEY’, ‘tu-largo-secreto-aleatorio-aquí’ );
    Reemplaza el marcador de posición con una cadena larga y criptográficamente aleatoria, por ejemplo, una generada por wp_generate_password( 64, true, true ) en la consola de WordPress, o por un generador aleatorio seguro equivalente. El plugin mostrará un aviso recordándote que hagas esto si la clave sigue estando en la base de datos.
  4. Verifica que tu sitio utiliza HTTPS. Las URL de los formularios de envío contienen tokens sensibles y deben transmitirse a través de una conexión segura.

FAQ

¿Quién puede ver el contenido de los mensajes enviados?

Nadie puede leer el contenido del mensaje navegando por la interfaz de administración. El contenido solo se revela en el momento de la impresión, y solo a los usuarios que tengan el perfil de Administrador de Retiros o Administrador de Mensajes para ese retiro. Cada impresión queda registrada en el registro.

¿Cómo envían los escritores mensajes sin una cuenta de WordPress?

Cada asistente tiene una URL única y criptográficamente segura. Compartes esa URL (por ejemplo, por correo electrónico o WhatsApp) con las personas que quieran escribir al asistente. Abren el enlace en cualquier navegador, completan el formulario y envían – no es necesario acceder.

¿Qué sucede con la URL del formulario de envío después del retiro?

La URL permanece válida hasta que borres el asistente o el retiro. Si deseas dejar de aceptar nuevos mensajes, puedes borrar el token del asistente al borrar y volver a añadir al asistente, o al borrar el retiro por completo.

¿El plugin utiliza tipos de contenido personalizados de WordPress o páginas?

No. Todos los datos se almacenan en tablas de base de datos personalizadas (con prefijo {prefix}dfxprl_*, por ejemplo wp_dfxprl_retreats). El formulario de envío público es servido directamente por el plugin utilizando una regla de reescritura, por lo que no es necesario crear ninguna página de WordPress.

¿Puedo personalizar el aspecto del formulario de envío?

Sí. Puedes establecer un bloque personalizado de WordPress como la cabecera y el pie de página de la página del formulario, globalmente bajo Retiros > Ajustes globales, o por retiro en la pantalla de edición del retiro. También puedes añadir clases de CSS personalizado a la etiqueta body por retiro.

¿Qué tipos de archivo pueden adjuntar los escritores?

Formatos de imagen comunes (JPG, PNG, GIF, WebP), PDF, DOCX y otros tipos de documentos compatibles con tu servidor. El tamaño máximo de archivo está determinado por la configuración de tu PHP y servidor y se muestra en el formulario. Si un mensaje contiene varios archivos y al menos uno no es una imagen, se genera un archivo ZIP para imprimir.

¿Este plugin cumple con el RGPD?

Sí. Implementa los artículos 17 (derecho al olvido) y 20 (portabilidad de datos) del RGPD, anonimiza las direcciones IP de remitentes después de un período configurable, y da soporte a políticas de retención de datos configurables con borrado automático. Todos los ajustes se encuentran en «Retiros > Privacidad y cumplimiento».

¿Dónde se guarda la clave de cifrado?

Por defecto, se genera automáticamente y se almacena en la base de datos de WordPress (wp_options). El plugin mostrará un aviso de administración recomendando que lo muevas a wp-config.php definiendo la constante DFXPRL_ENCRYPTION_KEY. El enfoque de wp-config.php es más seguro porque la clave queda separada de los datos cifrados.

¿Puedo añadir traducciones para mi idioma?

Sí. Se incluye una plantilla de traducción .pot en el directorio idiomas/. Crea archivos .po y .mo para tu idioma y colócalos en esa carpeta siguiendo las convenciones estándar de traducción de WordPress.

Reseñas

No hay valoraciones para este plugin.

Colaboradores y desarrolladores

«DFX Cartas de retiros parroquiales» es un software de código abierto. Las siguientes personas han colaborado con este plugin.

Colaboradores

«DFX Cartas de retiros parroquiales» está traducido en 2 idiomas. Gracias a los traductores por sus contribuciones.

Traduce «DFX Cartas de retiros parroquiales» a tu idioma.

¿Interesado en el desarrollo?

Revisa el código , echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.

Registro de cambios

26.10.12

  • New: attendants can be withdrawn («dar de baja»). Withdrawn attendants leave the regular list and appear in a new Withdrawn attendants tab with their withdrawal date and user, messages, letters and contact log. They cannot be edited, and their public message form no longer accepts messages. The contact log can still be used.
  • New: withdrawn attendants can be reactivated or deleted permanently. Only withdrawn attendants can be deleted. Withdrawing, reactivating and deleting are restricted to retreat managers.
  • Change: «Delete all attendants» is replaced by Withdraw all attendants.
  • Change: the CSV export only includes active attendants, and the import skips rows matching withdrawn attendants. The attendant count in the retreats list only counts active attendants.
  • Fix: deleting an attendant now checks that the user manages the attendant’s retreat.

26.10.01

  • Change: the attendants list is narrower. The column drag handle only appears when hovering a header and no longer takes up space, and the Physical letters, Total letters and Contact log columns are now narrow.
  • Change: the Contact log column shows a notebook icon with the number of entries; the entries are shown in a window when clicking it.

26.09.26.2

  • Novedad: Columna «Cartas físicas» en la lista de asistentes. Los responsables del retiro y los gestores de mensajes pueden ordenarla, reorganizarla y editarla directamente; al editarla, también se actualiza el total de cartas de la fila y el resumen del retiro. La columna «Total de cartas» ahora solo muestra el total.
  • Cambio: cuando un retiro tiene un orden de columnas guardado, las nuevas columnas (como un campo personalizado recién creado) aparecen, por defecto, junto a la columna que las precede, en lugar de al final.

26.09.26.1

  • Novedad: edición integrada en la lista de asistentes. Haz clic en una celda para editarla; con «Intro» guardas y con «Esc» cancelas (Ctrl+Intro guarda textos largos). Los gestores de retiros pueden editar el nombre, los apellidos, la fecha de nacimiento, quién te ha invitado, las incompatibilidades y las notas; los gestores de retiros y mensajes pueden editar las cartas físicas de la columna «Total de cartas»; los campos personalizados siguen sus permisos de edición.
  • Novedad: Registro de contactos en la lista de asistentes, donde se muestra el número de entradas y la más reciente. Al hacer clic, se abre una ventana para leer, añadir y editar entradas sin salir de la lista.
  • Novedad: los gestores de los retiros pueden cambiar el orden de las columnas de la lista de asistentes arrastrando sus encabezados. El orden se guarda por cada retiro y se aplica a todo el mundo; se puede volver al orden por defecto en cualquier momento.
  • Se han actualizado las traducciones al español.

26.09.26

  • Novedad: cartas físicas recibidas por participante, que pueden editar los responsables del retiro y los administradores de mensajes.
  • Novedad: Columna «Total de cartas» en la lista de asistentes (mensajes recibidos a través de la app más cartas físicas), ordenable.
  • Novedad: registro de contactos por asistente, donde los responsables del retiro y de los mensajes anotan sus contactos y conversaciones. Los autores pueden editar sus entradas durante 15 minutos y borrarlas en cualquier momento; los responsables del retiro pueden editar o borrar cualquier entrada y ver el historial completo de cambios, incluidas las entradas borradas. Las entradas editadas se marcan como tales.
  • Novedad: campos personalizados de asistente por retiro, que se definen en la página de edición del retiro: nombre, slug, tipo (texto, texto largo, número, fecha, sí/no, lista de opciones), si se muestran y se pueden ordenar en la lista, quién puede verlos y editarlos, y si se importan desde o se exportan a CSV. Se pueden usar como [slug] marcadores de posición en la plantilla de solicitud de mensajes.
  • Cambio: los gestores de mensajes ya pueden abrir la página de atención al cliente en modo restringido, donde solo pueden actualizar las cartas físicas, los campos personalizados que tienen permiso para editar y el registro de contactos.
  • Cambio: los botones de importación y exportación de CSV están ocultos para los gestores de mensajes.
  • Seguridad: el aviso que muestra la clave de cifrado almacenada en la base de datos ahora solo lo ven los administradores del sitio.
  • Seguridad: al guardar un retiro, añadir o editar un asistente e importar asistentes, ahora se comprueban los permisos del usuario en el servidor.
  • Se han actualizado las traducciones al español.

26.09.25

  • Mantenimiento: se han corregido unas pruebas de infraestructura que sobrescribían el prefijo de la tabla de WordPress.

26.09.24

  • Cambio: ahora los gestores de mensajes pueden usar los botones Mensaje de invitación, Generar URL del mensaje y Copiar URL del mensaje en la lista de asistentes, no solo los gestores del retiro.
  • Seguridad: al generar la URL de un mensaje, ahora se comprueba que el usuario actual tenga permisos para acceder a los mensajes en el retiro del asistente.

26.09.21

  • Corrección: la importación de un archivo CSV de asistentes ya no falla en las filas en las que la fecha de nacimiento está escrita con un solo dígito para el día o el mes (por ejemplo, 19/6/1946). Ahora esas fechas se analizan correctamente, mientras que las fechas que realmente son incorrectas siguen siendo rechazadas.

26.05.20

  • Cambio: Añadir encabezado PDF ahora viene activado por defecto en las nuevas instalaciones. La generación del encabezado PDF se realiza íntegramente en el navegador del destinatario, por lo que no supone ningún consumo de memoria del servidor. Los sitios existentes mantienen la preferencia guardada.

26.05.19.1

  • Cambio: cuando está activada la opción Añadir encabezado PDF, el encabezado «De/Para» ahora se genera en el navegador del destinatario usando pdf-lib, en lugar de TCPDF/FPDI del lado del servidor. Esto elimina por completo el consumo de memoria del servidor.
  • Corrección: al imprimir una carta en formato PDF de varias páginas, ahora se envían todas las páginas a la impresora (antes solo se imprimía la primera página, independientemente de si el encabezado estaba activado o no).
  • Corrección: ahora la pestaña «Imprimir» se cierra correctamente tras cerrar el cuadro de diálogo de impresión.

26.05.19

  • Novedad: la página de encabezado «De/Para» del PDF que se añadía al imprimir cartas en un único archivo PDF ahora es una opción que puedes activar en Configuración global Añadir encabezado de PDF, y viene desactivada por defecto. El comportamiento anterior se basaba en FPDI/TCPDF, que consume mucha memoria y podía fallar al imprimir en servidores compartidos. Cuando está desactivada, las cartas en PDF se sirven a través de una página de impresión automática muy ligera.

26.05.18.1

  • Corrección: se evita que aparezcan widgets de terceros (sobre todo los iconos de Google reCAPTCHA) en la vista previa de impresión de cartas en sitios web que tengan activados plugins de seguridad o antispam. La página de impresión ya no activa la acción global wp_enqueue_scripts y solo imprime su propia hoja de estilos y su propio script.

26.05.18

  • Novedad: la celda «Estado de impresión» de un mensaje ahora se actualiza en el mismo sitio justo después de imprimir, así que el recuento de impresiones y la fecha de la primera impresión se actualizan sin necesidad de recargar la página.
  • Novedad: Ahora se indica explícitamente que Internet Explorer ya no es compatible. La vista de impresión ya no descifra ni envía el contenido de las cartas a los clientes que usan IE (en su lugar, se muestra una página sencilla que dice «navegador no compatible»), y aparece un aviso de advertencia en todas las pantallas de administración del complemento cuando se detecta un navegador IE.

26.05.12

  • Novedad: al imprimir un único archivo PDF adjunto, ahora se añade un encabezado «De/Para» para que el destinatario sepa quién lo ha enviado. Se utilizan tres métodos alternativos en función de lo que haya disponible en el servidor (reducción de TCPDF+FPDI, fusión externa con pdfunite/Ghostscript o página HTML solo con el encabezado).
  • Novedad: registro de auditoría ampliado para registrar las operaciones relacionadas con los retiros, los acompañantes y las cartas (añadidas, editadas, eliminadas, impresas). Las entradas solo contienen identificadores e iniciales anonimizadas; no hay datos personales.
  • Novedad: recursos de iconos y logotipos del plugin.

26.04.28

  • Solución: se ha aumentado los límites de frecuencia de 10/20 por hora a 30 por hora, tanto para el acceso al formulario como para el envío de mensajes. El límite de acceso al formulario era inferior al de envío, lo que provocaba que los usuarios quedaran bloqueados fuera del formulario antes de alcanzar el límite de envío.

26.04.10

  • Mejora: ahora todas las tablas de administración se adaptan a cualquier tamaño de pantalla. En pantallas estrechas y dispositivos móviles, las tablas se muestran como listas de tarjetas con campos etiquetados, y la barra lateral de permisos se desplaza debajo del contenido principal.
  • Mejora: las listas de asistentes y mensajes ahora cuentan con un menú desplegable «Ordenar por» adaptado a dispositivos móviles para facilitar la clasificación en pantallas pequeñas.
  • Mejora: ahora se puede ordenar las columnas de la lista de mensajes (de, tipo, enviado, estado de impresión) en el ordenador haciendo clic en los encabezados de la tabla.
  • Mejora: ahora los mensajes se pueden ordenar por estado de impresión (primero los no impresos y luego en orden ascendente según el número de impresiones).

26.03.24

  • Mejora: se añadieron comentarios detallados del traductor para las asignaciones de cabeceras de columnas de CSV codificadas en JSON utilizadas en la importación de asistente, con instrucciones de formato y ejemplos en español.
  • Corrección: el botón «Eliminar clave de la base de datos y usar la clave de wp-config.php» ya funciona. Antes, el script nunca se ejecutaba porque se registraba durante el gancho admin_notices, que se activa después de wp_print_scripts. Ahora se usa admin_enqueue_scripts con un identificador de script integrado adecuado y wp_localize_script.
  • Corrección: el controlador AJAX remove-database-key ahora también acepta la constante heredada DFX_PARISH_RETREAT_LETTERS_ENCRYPTION_KEY, siguiendo la lógica de compatibilidad con versiones anteriores del resto de la capa de cifrado.
  • Corrección: los botones de pestaña en la sección de Gestión de Acceso ahora están visualmente conectados a su panel de contenido.

26.03.23.1

  • Corrección: una falta de incremento en la versión de la base de datos causó que las bases de datos no se actualizaran con los nuevos campos necesarios. Ya está solucionado.

26.03.23

  • Corrección: El campo cuerpo_clases ahora almacena solo una lista de nombres de clases CSS en lugar de CSS arbitrario, con una sanitización que obliga a utilizar solo caracteres válidos para los nombres de clases.

26.03.22

  • Corrección: se solucionó el problema de que el JS no se cargaba en la página de edición del retiro, lo cual impedía que la característica de gestión de acceso (búsqueda de usuarios, otorgar/revocar permisos, invitaciones) funcionara.
  • Corrección: se corrigió la discrepancia de nonce que causaba que todas las llamadas AJAX de gestión de accesos fallaran la comprobación de seguridad.
  • Corrección: normalizados todos los identificadores internos de dfx-prl/dfx_prl a dfxprl para cumplir con la política del repositorio de plugins de WordPress.
  • Corrección: se eliminó código muerto (método render_permission_management_section que nunca se llamaba).
  • Corrección: se corrigieron las discrepancias de clases CSS entre las plantillas PHP y los event listeners de JavaScript en la sección de Gestión de Accesos.
  • Corrección: los estilos de administrador ahora se cargan correctamente en todas las páginas del plugin, incluidas las páginas de añadir retiros y privacidad.
  • Corrección: los botones de pestaña en la sección de Gestión de Acceso ahora están visualmente conectados a su panel de contenido.
  • Corrección: el botón «Eliminar clave de la base de datos y usar la clave de wp-config.php» ahora funciona. El script nunca se mostraba porque estaba registrado a través de wp_add_inline_script durante el gancho admin_notices, que se ejecuta después de wp_print_scripts. Se corrigió enganchándose a admin_enqueue_scripts con un identificador de script integrado adecuado y wp_localize_script para el nonce.
  • Corrección: el controlador AJAX remove-database-key ahora también acepta la constante heredada DFX_PARISH_RETREAT_LETTERS_ENCRYPTION_KEY, siguiendo la misma lógica de compatibilidad con versiones anteriores que el resto de la capa de cifrado.

26.03.21

  • Característica: se añadió la clase adicional ‘dfxprl-message-form’ a la etiqueta cuerpo de la pantalla del formulario de mensaje.

  • Característica: los retiros ahora tienen un campo para establecer clases adicionales en la etiqueta del cuerpo de la pantalla del formulario de mensaje, permitiendo personalizaciones por retiro.

  • Cambio: Se eliminaron las personalizaciones de CSS del plugin, ya que no tienes permisos para incluirlas en el repositorio de plugins de WordPress.

  • Corrección: se solucionaron algunos errores de JS debido al cambio de nombre de varias clases y variables.

25.12.10

  • Corrección: Ahora siempre utilizando funciones de encolado para añadir JS o CSS a las diferentes páginas.
  • Corrección: Problema corregido que afectaba la validación de CAPTCHA cuando se está conectado.
  • Corrección: Reemplazado el prefijo del plugin de dfx-prl a dfxprl para ser aceptado en el repositorio de WordPress.org.
  • Corrección: Se añadieron algunas validaciones de parámetros adicionales.

25.12.09

  • Característica: Compatibilidad confirmada con WordPress 6.9
  • Corrección: Corrigiendo algunas advertencias por el Plugin Check

25.12.05

  • Característica: se añadió la característica de borrar la clave de cifrado de la base de datos si hay una discrepancia de claves entre la base de datos y el archivo de configuración.

  • Característica: añadida la característica para quitar a todos los asistentes y sus mensajes de un retiro.

25.11.28

  • Corrección: si el servidor determinaba erróneamente que el tamaño máximo de archivo era 0, se prohibían todas las subidas de archivos.

25.11.27

  • Corrección: aceptar «0» como respuesta válida para cálculos de preguntas de seguridad.

25.11.26

  • Corrección: añadir sufijo de URL en el mensaje de invitación.

25.11.24

  • Característica: añadir el nombre del asistente en el marcador de posición del mensaje para evitar errores al identificar al asistente.

25.11.23

  • Corrección: para mantener la confidencialidad, el sufijo en las URL ahora tendrá las iniciales, no el nombre completo y los apellidos.

25.11.21

  • Característica: Añadir el nombre y apellidos del asistente como sufijo de la URL al copiarlo de la lista de asistentes.

25.11.20

  • Característica: Se añadió un contador global de mensajes por retiro.

25.10.30

  • Corrección: el indicador de ordenación en la columna de recuento de mensajes ahora está corregido.
  • Característica: Permitir ordenar por los campos notes e internal_notes (si existen).

25.10.29

  • Característica: Añadir un nuevo campo de notas internas, no exportable ni importable.
  • Característica: Añadir opciones de clasificación y filtros a la lista de asistentes.
  • Característica: Añadir plantillas de mensaje para enviar a contactos de emergencia para pedir cartas.

25.10.23

  • Característica: Añadir tres nuevos campos opcionales para los asistentes: relación con el contacto de emergencia, persona que invita e incompatibilidades.

25.10.21

  • Característica: Mostrar el número de mensajes no impresos en la lista de operadores.
  • Característica: Al imprimir un mensaje, imprime el nombre del destinatario antes del nombre del remitente
  • Característica: Añadir columna de URL de mensaje al exportar a CSV.
  • Corrección: Cuando un mensaje tiene más de una imagen, ajustar el tamaño de la primera imagen para que quepa en la primera página.
  • Corrección: Si una imagen o archivo no se puede subir, devolver un error en lugar de aceptar el mensaje parcial con archivos faltantes.
  • Característica: Mostrar los límites actuales del servidor.
  • Cambio: Corrección del prefijo CSS y JS de «dfx» a «dfx-prl» o «dfx_prl». Las personalizaciones CSS deben ser adaptadas.

25.10.15

  • Característica: Nuevo campo de notas para los asistentes al retiro, opcional. El campo se puede activar o desactivar por retiro.
  • Característica: Ahora el campo Apellido del Contacto de Emergencia es opcional.

25.10.8

  • Característica: Añadir un titular de lugar en el formulario de mensaje Captcha

25.9.30

  • Característica: mensajes de error mejorados en llamadas AJAX.
  • Corrección: se solucionó el problema con los mensajes al pegar desde Microsoft Office, y cierta información de estilo incorrectamente se introducía en el cuerpo del mensaje.

25.9.28

  • Corrección: se ha aumentado el límite de tasa permitido a 20 solicitudes por hora, ya que 3 era demasiado bajo para casos de uso reales.

25.9.26

  • Corrección: los mensajes con múltiples imágenes ahora se imprimen correctamente, sin dividir las imágenes en dos páginas.
  • Corrección: si un mensaje tiene varios archivos adjuntos, y alguno de ellos no es una imagen, ahora se generará un archivo ZIP.

25.9.24

  • Corrección: ahora generando correctamente error 404 al acceder a la página de mensajes con un token incorrecto.
  • Corrección: se solucionó el error que impedía la eliminación de retiros.
  • Corrección: se ha solucionado fallo con cabeceras y pies de página personalizados.

25.9.18

  • Corrección: Ampliando el tamaño del campo mime_type para que se puedan subir archivos DOCX.

25.9.16

  • Corrección: Se han solucionado varios problemas de seguridad para poder incluir el plugin en el repositorio de WordPress.org

25.9.12

  • Característica: añadido soporte para cabecera, pie de página y CSS personalizados en la página de formularios de cartas, a nivel global y por retiro.
  • Característica: se añadió la funcionalidad para otorgar permisos globales de gestión de retiros a usuarios específicos.
  • Característica: Nuevo campo de correo electrónico de contacto de emergencia para los asistentes.
  • Corrección: Los gestores de retiros ahora pueden editar los retiros que gestionan.
  • Corrección: Corrigiendo problema de carga de traducción en versiones antiguas de WP

25.9.11

  • Corrección: Corrigiendo varias advertencias de WordPress.org
  • Corrección: El captcha no mostrará cálculos con números negativos.

25.9.7

  • Característica: desactivar el botón de enviar si no se ha aceptado el aviso legal.

25.9.5

  • Característica: añadidos nuevos campos de descargo legal en el formulario de cartas.
  • Característica: ahora se incluye el nombre del remitente al imprimir una carta.

25.7.27

  • Corrección: Corrigiendo el formato en los mensajes de correo saliente
  • Corrección: Añadir traducciones faltantes.
  • Corrección: Se han eliminado las claves foráneas de las configuraciones antiguas de la base de datos.

25.7.23

  • Corrección: Violaciones de los estándares de codificación de WordPress – mejoras en seguridad y buenas prácticas.
  • Corrección: Procesamiento de pegado de imágenes en la portada de envío de mensajes públicos.
  • Corrección: Omitir límites de tasa para usuarios de WordPress con sesión iniciada.
  • Corrección: limitación de tasa para envíos de mensajes incorrectos.
  • Corrección: Cambiar las traducciones al español de lenguaje formal a lenguaje informal en la portada de mensajes públicos.
  • Corrección: problema de aviso de administrador que se oculta automáticamente al eliminar el desvanecimiento automático.
  • Característica: Implementar la funcionalidad de fusión de importación CSV para los datos de contacto de emergencia del asistente.
  • Corrección: Problema de paginación en la exportación CSV – manejar correctamente per_page=-1.
  • Corrección: solucionar problema de redirección manejando envíos de formularios en el gancho admin_init.
  • Corrección: ajustar la creación del asistente para gestionar errores y evitar conflictos en la cabecera.

25.7.22

  • Corrección: error resuelto en los procesos de creación y actualización de la base de datos.

25.7.21 (Versión inicial)

Características principales:

  • Sistema de autorización de tres niveles completo
  • Sistema de mensajería confidencial seguro usando cifrado AES-256
  • Gestión avanzada de operadores con operaciones por lotes
  • Sistema de invitación de usuario con identificación segura mediante token

Mejoras en seguridad y privacidad

  • Cumplimiento total del RGPD con políticas automatizadas de retención de datos.
  • Cifrado mejorado para información personal y almacenamiento seguro de archivos
  • Acceso a mensajes solo en formato impreso con registros de auditoría completos
  • Registro de auditoría a nivel forense
  • Anonimización de las direcciones IP
  • Implementación de seguridad a nivel de base con prácticas modernas de PHP

Arquitectura y desarrollo

  • Arquitectura de plugin de núcleo utilizando OOP y patrones singleton
  • Optimización del esquema de base de datos y sistema integrado de migración
  • Total cumplimiento de los estándares de código de WordPress

Características y mejoras

  • Gestión de la asociación de asistentes y retiros.
  • Importación/exportación CSV con validación de datos
  • Gestión básica de retiros y asistentes
  • Interfaz de administración adaptativa con una experiencia de usuario y un diseño modernos

Internacionalización

– Complete i18n support, including Spanish translations

DFX Cartas de retiros parroquiales – Gestión de retiros de calidad empresarial para la parroquia moderna.