=== Melampo Suite ===
Contributors: grupomelampo
Tags: elementor, gutenberg, documentos, pdf, login, formularios, reservas
Requires at least: 6.4
Requires PHP: 7.4
Stable tag: 2.0.36
License: GPLv2 or later

Suite modular de Grupo Melampo para reutilizar utilidades de WordPress, Elementor y Gutenberg desde una sola instalación.

== Módulos ==

= 1. Login personalizado =
Personaliza la pantalla nativa wp-login.php sin sustituir archivos del núcleo de WordPress.

Desde Melampo Suite > Login se puede configurar:
* Logo e imagen de fondo.
* Nombre del sitio automático.
* Título y subtítulo.
* Colores principales, textos, fondo y tarjeta.
* Opacidad, redondeado y tamaño del logo.
* Elementos escolares flotantes y su animación.
* Selector de idioma.
* Firma inferior.
* CSS adicional.
* Vista previa directa del login.

= 2. Documentos para Elementor y Gutenberg =
Añade herramientas equivalentes a Elementor y Gutenberg dentro de la categoría "Melampo Suite":

* Documento Melampo
  - PDF con visor propio basado en PDF.js.
  - Imágenes con visualización integrada.
  - TXT, CSV, JSON, XML, HTML/HTM, Markdown y LOG mediante el visor nativo del navegador cuando es posible.
  - Modo Automático, Intentar visualizar o No visualizar.
  - Título y descripción opcional.
  - Título enlazable con acción abrir/descargar.
  - Botón de descarga opcional y editable.
  - Iconos y colores por tipo de archivo.
  - Controles de diseño y responsive.
  - Altura automática ajustada al documento para evitar espacio vacío bajo el PDF.
  - Altura manual independiente para escritorio, tablet y móvil.
  - Modo de páginas Automático, Una página o Libro (doble página); en móvil siempre prioriza una sola página.

* Carpetas de documentos
  - Colecciones visuales de documentos organizadas en carpetas.
  - Nombre, descripción, etiqueta y contador de documentos.
  - Apertura/cierre animado.
  - Opción acordeón o carpetas independientes.
  - Documentos con título, descripción, enlace y descarga.
  - Columnas y estilos responsive.

Los documentos Office que el navegador no puede representar de forma fiable se presentan como archivos enlazables/descargables; no se envían a Google Docs ni Microsoft Viewer.

= 3. Formularios, reservas y documentos PDF =
Evolución compatible con los datos del antiguo Melampo Suite Reservas 16.13.

Incluye:
* Constructor visual de formularios.
* Formularios independientes o ligados a uno/varios servicios/calendarios.
* Agenda, estados y disponibilidad por periodos.
* Área de cliente y solicitudes de cambio de cita.
* Plantillas de correo y SMTP.
* Exportación iCal protegida por token.
* Plantillas PDF visuales con imagen de fondo y campos posicionables.
* Generador PDF nativo, sin descargar ni ejecutar PHP externo.
* Widgets Elementor y bloques Gutenberg "Formulario Melampo" y "Área de cliente Melampo".

== Constructor de formularios ==

Cada formulario puede personalizarse de forma independiente.

Contenido y comportamiento:
* Título y descripción pública.
* Textos de fecha, horarios, envío y carga.
* Mensaje de éxito.
* Redirección opcional tras enviar.
* Limpiar o conservar el formulario tras el envío.
* Exigir inicio de sesión.
* Mostrar/ocultar etiquetas, asteriscos y tarjeta contenedora.

Campos disponibles:
* Texto, email, teléfono, número, URL, fecha, hora y fecha/hora automática.
* Área de texto con número de filas configurable.
* Desplegable y opciones radio.
* Checkbox.
* Aceptación/consentimiento con enlace opcional a política o información.
* Subida de archivo con tipos y tamaño máximo por campo.
* Encabezado y texto informativo.

Cada campo dispone de:
* Etiqueta, placeholder, ayuda y valor inicial.
* Obligatorio/opcional.
* Icono.
* Ancho 25%, 33%, 50%, 66%, 75% o 100%.
* Clase CSS.
* Límites mínimo/máximo/paso cuando corresponde.
* Longitud mínima y máxima de caracteres en campos de texto.
* Editar, duplicar, borrar y ordenar mediante arrastre.

Diseño por formulario:
* Ancho máximo.
* Colores de fondo, texto, texto secundario, campos y bordes.
* Color de botón, texto, hover, foco, éxito y error.
* Radio de tarjeta, campos y botón.
* Grosor de borde.
* Separación entre campos y padding de tarjeta.
* Sombra: ninguna, suave, media o fuerte.
* Tamaño de título, descripción, etiquetas, campos y botón.
* Altura de inputs y padding del botón.
* Alineación del botón.
* Clase CSS personalizada.
* Vista previa en tiempo real en el constructor.

Correos por formulario:
* Activar/desactivar correo al administrador.
* Destinatario y asunto propios.
* Reply-To automático al correo del cliente.
* Activar/desactivar correo al cliente.
* Asunto y contenido propios.
* Variables {cliente}, {evento}, {fecha}, {hora}, {estado} y campos del formulario.

Protección:
* Nonces en acciones administrativas y públicas.
* Comprobación de permisos en AJAX de administración.
* Honeypot antispam opcional.
* Límite de envíos por IP.
* Validación de campos en servidor contra la definición real del formulario.
* Validación de extensión/MIME y tamaño de archivos.
* Revalidación de disponibilidad antes de guardar o aprobar cambios.
* iCal protegido por token regenerable.

== Compatibilidad y actualización desde versiones antiguas ==

La Suite conserva las tablas y opciones con prefijo bsn_* para mantener formularios, reservas, servicios, estados, plantillas y ajustes existentes.

Antes de sustituir una instalación en producción se recomienda hacer copia de seguridad y probar la actualización en staging.

Si todavía están activos plugins independientes anteriores (Melampo Login Centro, Melampo Document Viewer o Melampo Suite Reservas), la Suite evita cargar el módulo equivalente y muestra un aviso para que se desactiven, reduciendo el riesgo de duplicidades.

== Instalación ==

1. Haz una copia de seguridad si sustituyes una versión anterior.
2. Instala el ZIP desde Plugins > Añadir plugin > Subir plugin.
3. Activa Melampo Suite.
4. En Melampo Suite > General activa o desactiva los módulos que necesites.
5. Configura el login desde Melampo Suite > Login.
6. Usa los widgets de la categoría Melampo Suite dentro de Elementor o los bloques Melampo Suite en Gutenberg.
7. Gestiona formularios, servicios, agenda, correos y PDF desde los submenús del módulo de Formularios.

== Privacidad de los datos ==

El visor de documentos no utiliza Google Docs ni Microsoft Office Viewer. Los PDF usan PDF.js para el renderizado en navegador. El generador de plantillas PDF del módulo de formularios es nativo y no descarga código PHP externo.

== Changelog ==

= 2.0.36 =
* Corrige de raiz la perdida de separadores en Desplegable y Radio durante el guardado AJAX.
* Las opciones se transportan como una lista JSON, sin depender de saltos de linea dentro de una cadena.
* El servidor acepta tanto JSON ya limpio como el JSON slasheado por WordPress, evitando que se alteren secuencias de salto de linea.
* Mantiene compatibilidad con formularios y opciones guardados por versiones anteriores.

= 2.0.35 =
* Corrige las opciones de campos Desplegable y Radio para conservar correctamente una opcion por linea, incluyendo formularios antiguos con saltos guardados como texto.
* El constructor PDF incorpora Sustituir imagen para cambiar el fondo de una pagina sin perder los campos, posiciones, fuentes ni tamanos ya colocados.
* La vista previa PDF permite cargar uno de los registros existentes del formulario y mostrar sus datos reales sobre la plantilla.
* En el constructor de formularios se puede pulsar directamente un campo de la vista previa para abrir su editor.
* Aclara que los correos al usuario se envian al primer campo Email valido segun el orden del formulario.

= 2.0.34 =
* Restaura el campo Fecha y hora automática en el constructor de Formularios.
* El valor se fija desde WordPress con la zona horaria del sitio en el momento de crear/enviar el registro, por lo que el usuario no puede alterarlo.
* La fecha y hora automática se guarda en Registros, se incluye en correos/exportaciones y puede colocarse en las plantillas PDF.
* Reconoce varios nombres históricos del campo automático para recuperar formularios antiguos cuando sea posible.

= 2.0.33 =
* Plantillas PDF multipágina con varias imágenes, navegación por páginas y colocación precisa de campos.
* Los checks se imprimen como X en el PDF cuando están marcados.
* Nuevo apartado Registros con adjuntos y exportación compatible con Excel.
* Mejora el posicionamiento de campos con etiquetas largas en el constructor PDF.

= 2.0.32 =
* Restaura el campo Firma a mano en el constructor de formularios.
* La firma puede dibujarse con ratón, lápiz o dedo y funciona en escritorio, tablet y móvil.
* La firma se valida en servidor, se guarda como PNG y puede colocarse en las plantillas PDF.
* Las firmas manuales se insertan como imagen en el PDF generado.
* Compatibilidad con nombres históricos de campo de firma para recuperar formularios antiguos cuando sea posible.

= 2.0.31 =
* Corrige avisos PHP de ajustes antiguos sin success_action, button_align, form_align o shadow.
* El editor de campos ya no se cierra al pulsar accidentalmente sobre el fondo del modal.
* Conserva un borrador local del campo mientras se edita y lo recupera si se vuelve a abrir.
* El paquete vuelve a usar la carpeta canónica melampo-suite para evitar instalaciones duplicadas con carpetas aleatorias.

= 2.0.30 =
* Corrige el doble saneado que impedía guardar los ajustes de Login/Documentos.
* Repara automáticamente la columna settings de bsn_forms si falta en una base de datos histórica.
* Introduce manifiesto dinámico de actualizaciones y verificación SHA-256 contra el ZIP realmente publicado.


= 2.0.29 =
* Estabiliza el guardado global de ajustes con handler propio y verificación inmediata en base de datos.
* El constructor de formularios ya no depende de SortableJS externo; usa jquery-ui-sortable incluido en WordPress y el guardado funciona aunque no haya drag & drop.
* El guardado de formularios envía nonce explícito y verifica la fila persistida antes de devolver éxito.
* Simplifica los campos españoles a DNI España y Teléfono España, sin opciones duplicadas en el editor.
* Simplifica el actualizador al mecanismo oficial Update URI de WordPress y deja de reescribir manualmente update_plugins.

= 2.0.28 =
* Los tipos DNI España, DNI/NIE España y Teléfono España vuelven a aparecer como tipos de campo visibles y directos en el editor.
* Los campos con validación española existentes se reconocen y se muestran con su tipo específico al editarlos.
* Se mantiene la validación formal en navegador y servidor y el guardado corregido de la 2.0.27.

= 2.0.21 =
* Corrige la discrepancia entre el editor visual de Formularios y el frontal para formularios antiguos con ajustes JSON parciales.
* Las opciones booleanas ausentes ya conservan su valor por defecto (por ejemplo, mostrar etiquetas y mostrar tarjeta) en vez de convertirse accidentalmente en desactivadas.
* Al actualizar, se normalizan una vez los ajustes guardados de todos los formularios para completar el esquema sin borrar valores existentes.
* El editor visual carga exactamente los mismos ajustes normalizados que usa el frontal, evitando una vista previa engañosa.
* Elementor y Gutenberg permiten controlar explicitamente Mostrar titulos/etiquetas y Mostrar asterisco cuando se usa Personalizar aqui.
* Se refuerza la visibilidad de etiquetas, titulo general y encabezados frente a CSS del tema o constructor.
* FullCalendar del frontal pasa a cargarse en el footer para que los formularios con calendario funcionen tambien cuando el constructor renderiza el widget despues de wp_head.
* Se refuerza el aislamiento del formulario frente a estilos globales del tema o del constructor visual.

= 2.0.18 =
* Rediseño del gestor de Formularios: listado en tarjetas, editor por pestañas, campos rápidos y vista previa más limpia.
* El frontal del formulario usa una cuadrícula real de 12 columnas; los anchos 25/33/50/66/75/100 ya respetan correctamente la separación entre campos.
* Se aíslan mejor los estilos del tema/Elementor para inputs, desplegables, radios y checkboxes, evitando tamaños y formatos heredados incorrectos.
* Nuevos controles de alineación del formulario y formato de títulos de sección/texto informativo.
* El widget Formulario Melampo de Elementor permite sobrescribir título, descripción, botón y prácticamente todo el diseño de la instancia.
* El bloque Formulario Melampo de Gutenberg gana controles de contenido y diseño y utiliza una vista previa ligera que no bloquea el editor.
* Compatibilidad conservada con formularios, reservas y ajustes existentes.

= 2.0.17 =
* Gutenberg: el bloque Documento Melampo deja de cargar el visor PDF real dentro del editor; usa una vista previa ligera que no bloquea la selección, movimiento ni eliminación del bloque.
* Gutenberg: uso correcto de useBlockProps para integrarse con la selección y herramientas nativas del editor.
* Gutenberg: se amplían los controles del documento para acercarlos a Elementor: visor, altura responsive, ancho/justificación, enlaces, descarga, colores, tipografía, bordes, sombras, hover, icono, espaciados y botón.
* Gutenberg: nuevos controles responsive de ancho máximo, tipografía, espaciado, separación, tamaño de icono y alineación/ancho del botón.
* La vista previa del editor es representativa; el PDF real continúa renderizándose únicamente en la previsualización/publicación de la página.

= 2.0.16 =
* Gutenberg: nueva alineación horizontal izquierda, centro o derecha desde la barra del bloque y desde el inspector.
* Gutenberg: nuevo control de ancho Automático, Completo o Personalizado por dispositivo.
* El ancho personalizado puede configurarse de forma independiente para escritorio, tablet y móvil.
* La vista previa del editor refleja el ancho y la justificación elegidos cuando el renderizado del bloque está disponible.

= 2.0.15 =
* El visor PDF puede ajustar automáticamente su altura a la hoja, eliminando el espacio sobrante bajo el documento.
* Nueva altura manual responsive con valores independientes para escritorio, tablet y móvil.
* Nuevo modo de páginas: Automático, Una página o Libro. En automático, los PDF largos usan doble página en escritorio y una sola página en móvil.
* El modo libro renderiza únicamente la pareja de páginas visible para mantener buen rendimiento incluso en documentos largos.
* Nuevos bloques Gutenberg: Documento Melampo, Carpetas Melampo, Formulario Melampo y Área de cliente Melampo.
* El bloque Documento incluye selección de archivo, vista previa, responsive, descarga y ajustes visuales.
* El bloque Carpetas permite crear carpetas y documentos desde el editor de bloques.
* El icono del menú de WordPress vuelve a utilizar el recurso blanco original de Melampo suministrado, sin reinterpretación SVG.

= 2.0.14 =
* Nuevo canal oficial de actualizaciones en https://suite.melampo.info/.
* Se elimina el transporte HTTP y los parches de conectividad específicos del servidor anterior.
* El actualizador vuelve a usar HTTPS estándar de WordPress, con caché y sin peticiones remotas durante la navegación normal por wp-admin.
* Se mantiene el reconocimiento nativo de actualizaciones y autoactualizaciones de WordPress.
* Verificación SHA-256 de los paquetes antes de instalarlos.


= 2.0.12.1 =
* Hotfix del actualizador para hosting compartido: timeout remoto ampliado a 8 segundos únicamente durante comprobaciones reales.
* Añade tiempo de respuesta y código HTTP al diagnóstico de actualizaciones.
* No realiza peticiones remotas durante la navegación normal por wp-admin.

= 2.0.9 =
* Corrección reforzada de los extractos de entradas: el visor ya no aporta nombre de archivo, paginación ni controles aunque el tema o Elementor invoquen wp_trim_excerpt() directamente.
* Limpieza defensiva de restos del visor en extractos generados por rutas no estándar.
* Se mantiene la exclusión configurable de Documento Melampo y Carpetas de documentos en tarjetas y listados.

= 2.0.8 =
* Los widgets Documento Melampo y Carpetas de documentos quedan excluidos por defecto de los extractos automáticos de entradas y tarjetas de noticias.
* Nueva opción global para permitir o impedir que los documentos participen en extractos.
* Canal oficial de actualizaciones configurado en suite.melampo.info.
* Nueva pestaña Actualizaciones con estado del servidor, versión publicada, comprobación manual y opción de actualización automática.
* Verificación SHA-256 del ZIP antes de instalar actualizaciones procedentes del servidor de Grupo Melampo.

= 2.0.6 =
* Enlaces sin extensión usan automáticamente un icono de enlace en lugar del documento genérico.
* Nuevo selector de icono manual para Documento Melampo y para archivos dentro de Carpetas de documentos.
* El icono manual mantiene la misma caja visual y permite personalizar color y fondo desde Elementor.
* Nuevos efectos hover del elemento sin vista previa: elevar, ampliar, desplazar o subrayar.
* Sombra normal y sombra hover configurables para tarjeta/línea/botón de archivo.
* Sombra y efecto hover configurables también para el botón de descarga.
* Mejor fallback de título cuando una URL no contiene nombre de archivo.
* Nuevo icono lateral de WordPress simplificado en SVG a partir de la identidad Melampo, optimizado para 18 px y comportamiento monocromo tipo Dashicon.

= 2.0.4 =
* Nuevo icono lateral adaptado a partir del logotipo suministrado por Grupo Melampo: se comporta como un Dashicon monocromo y hereda los estados de color de WordPress.
* Interruptor del login personalizado disponible también dentro de la pestaña Login; al desactivarlo se recupera wp-login.php estándar sin perder ajustes.
* Nuevos temas dinámicos de acceso: Escolar general, Matemáticas, Ciencias, Literatura, Música, Arte, Geografía y Tecnología.
* Nuevo modo Aleatorio para cambiar automáticamente la temática del login en cada carga.
* La imagen de fondo personalizada sigue disponible y puede combinarse con los elementos flotantes de la materia seleccionada.
* Unificación de Login, Documentos y Formularios/Reservas en una única Suite modular.
* Panel completo de personalización del login.
* Nuevo widget Documento Melampo.
* Nuevo widget Carpetas de documentos.
* Constructor de formularios ampliado con más tipos de campo y edición avanzada.
* Diseño, mensajes, comportamiento y correos configurables por formulario.
* Widgets Elementor para formulario y área de cliente.
* Refuerzo de nonces, permisos, validación y subidas.
* Revalidación de citas y cambios para evitar colisiones.
* Exportación iCal protegida.
* Generador PDF nativo sin dependencias PHP remotas.
* Mejoras de integridad al eliminar servicios, formularios y estados.
* Índices de base de datos para mejorar agenda, reservas y área de cliente en instalaciones con más registros.
* Compatibilidad con tablas/opciones bsn_* de instalaciones anteriores.




== 2.0.27 ==
* Corrige una regresion introducida en 2.0.24 que podia interferir con el guardado de ajustes y formularios.
* Restaura la Settings API nativa de WordPress para los ajustes de Melampo Suite.
* La proteccion de cambios sin guardar ya no intercepta ni sustituye el proceso de guardado.
* Mantiene las mejoras de login, actualizador, DNI/NIE y telefono de Espana.

== 2.0.26 ==
* Restauradas las validaciones especiales DNI España, DNI/NIE España y Teléfono España en el constructor de formularios.
* DNI/NIE: validación formal de formato y letra de control, tanto en navegador como en servidor.
* Teléfono España: acepta 9 cifras y prefijos +34/0034/34, validando numeración nacional que comienza por 6, 7, 8 o 9.
* Nuevos accesos rápidos y selector de validación por campo. La validación se conserva al duplicar campos y formularios.
* Estas validaciones comprueban coherencia formal; no consultan bases de datos oficiales ni prueban que un DNI/NIE o teléfono esté asignado a una persona real.

== 2.0.25 ==
* Corrige el guardado de los ajustes del login usando un endpoint propio y confirmacion visual.
* El login usa una hoja de estilo propia para aplicar siempre los parametros guardados.
* Corrige el registro de nuevas versiones en el transient de WordPress y evita que un no_update antiguo oculte una actualizacion disponible.
* La comprobacion manual consulta el manifiesto fresco y persiste el resultado directamente en WordPress.

== 2.0.24 ==
* Aviso global de cambios sin guardar en Melampo Suite y formularios: navegación interna con opciones Guardar y salir / Salir sin guardar / Seguir editando y protección nativa al cerrar o recargar la pestaña.
* El constructor de formularios marca también como cambios las reordenaciones, duplicados, borrados y edición de campos.
* Login: los temas ahora aplican paletas visuales realmente diferentes cuando está activado “Aplicar colores del tema”.
* Nuevos temas: Historia, Idiomas, Naturaleza, Deporte, Minimalista y Nocturno.
* Login: imagen de fondo mejorada con posición, ajuste, capa de legibilidad, quitar imagen, posición del panel, intensidad del tema, ancho/padding/desenfoque/sombra de tarjeta y luces decorativas configurables.

== 2.0.23 ==
* Duplicación individual y múltiple de formularios.
* Duplicación individual y múltiple de campos.
* Numeración interna estable de campos para el constructor y las plantillas PDF.
* Las etiquetas de campo pueden repetirse; el PDF usa el identificador interno para distinguirlas.
