WP- Competition Register
Historial de versiones8 versiones publicadas
- ## [2.2.4] - 2026-07-15
- ### Cambiado
- El botón **"🔄 Actualizar clasificaciones"** de la pestaña de resultados ya no se muestra cuando la carrera está marcada como **finalizada** (no tiene sentido refrescar: no habrá más cambios en vivo).
- ## [2.2.3] - 2026-07-15
- ### Cambiado (carreras por etapas)
- Se unifica la clasificación de las carreras por etapas en la pestaña **🏁 Clasificaciones** (antes había una pestaña GENERAL aparte que mostraba la general y una pestaña RESULTADOS vacía en la carrera principal, lo que confundía). Ahora la principal y cada etapa muestran un único componente con botones **Etapa 1 / Etapa 2 / … / General**.
- Nuevo filtro `wpcr_results_html` para que un addon sustituya el contenido de la pestaña de clasificaciones (lo usa el addon de Etapas). La pestaña de clasificaciones se muestra también en los eventos que forman parte de una carrera por etapas aunque no esté el addon de Clasificaciones.
- Se elimina la pestaña GENERAL (su contenido vive ahora en Clasificaciones).
- ## [2.2.2] - 2026-07-15
- ### Corregido
- La pestaña **🏆 GENERAL** de la ficha pública (carreras por etapas) salía en blanco al pulsarla: el conmutador de pestañas del JS no tenía registrado el panel `general`, así que ocultaba todos y no mostraba ninguno. El HTML de la clasificación general sí se generaba; solo faltaba mapear el panel. Ahora la general por etapas (con el indicador de subida/bajada) se ve correctamente.
- ## [2.2.1] - 2026-07-15
- ### Corregido
- En la ficha pública del evento, el botón de la pestaña Detalles seguía mostrando **INSCRIBIRME** aunque el evento ya hubiera finalizado (la cuenta atrás decía "El evento ha finalizado"). Ahora pasa a **🏁 CLASIFICACIONES** cuando el evento se ha finalizado: si la organización marca la carrera como finalizada o si ya ha llegado el día y la hora de salida, además del caso anterior de cierre de inscripciones por fecha.
- Coherencia en la pestaña Inscripción: si el evento ya se ha celebrado, se muestran las inscripciones como cerradas (con el mensaje adecuado aunque no hubiera fecha de cierre configurada) en lugar del formulario.
- ## [2.2.0] - 2026-07-13
- ### Añadido — Seguimiento en vivo (con el addon de Cronometraje ≥1.3.0)
- Insignia **🔴 En directo** parpadeante en las tarjetas del listado público de pruebas y junto al título en la ficha del evento (enlaza al seguimiento), más un punto rojo en la pestaña Resultados. Solo aparece cuando el evento está en directo: sin el addon no cambia nada).
- Bloque **"Seguimiento de la carrera"** en la pestaña Resultados pública: clasificación provisional por punto de control (intermedios y meta provisional) con botones por punto, actualización automática cada 15 s, retirados marcados y aviso de que la clasificación oficial llega al finalizar. Al finalizar la carrera el bloque se despide y quedan las clasificaciones definitivas.
- Versión 2.0.2 — 12/07/2026
- Corregido: el evento de demostración ahora se crea con su cartel. Antes, la portada del informe PDF de estadísticas podía salir sin imagen.
- Versión 2.0.1 — 12/07/2026
- Corregido: los participantes de ejemplo del evento demo ahora tienen talla de camiseta asignada, y la opción de talla viene activada. Así el dato aparece correctamente en todas partes, como en el PDF de imprenta del addon Diseñador de Dorsales.
- Versión 2.0.0 — 10/07/2026
- Nuevo nombre: el plugin pasa a llamarse CronoMeta Competition Register.
- Un evento en el núcleo: la versión base gestiona un evento; si organizas varios, puedes ampliarlo con el addon Multievento.
- Nuevos addons disponibles: Asignación y Diseñador de Dorsales, y Multievento.
- Desinstalación más segura: al desinstalar el plugin, tus datos (eventos, inscritos, pagos y resultados) se conservan por defecto y solo se borran si lo pides expresamente.
- Más robusto: si falta alguna tabla del plugin, se repara automáticamente.
- Mejoras visuales en el panel de administración y plugin más ligero (menos peso de descarga).
- Versión 1.9.0 — 10/07/2026
- Seguridad reforzada: mayor protección y validación en las acciones del panel de administración, siguiendo las buenas prácticas de WordPress.
- Versión 1.8.0 — 10/07/2026
- La versión gratuita ya no incluye ningún código de licencias: la validación de licencia va ahora dentro de cada addon de pago.
- Versión 1.7.0 — 10/07/2026
- El núcleo pasa a gestionar un solo evento; la gestión de varios eventos se ofrece a través del addon Multievento.
- ## [1.6.0] - 2026-07-10
- ### Eliminado
- Actualizador automático** (`includes/class-wpcr-updater.php`), añadido en 1.4.0: los actualizadores propios están prohibidos en los plugins del directorio de WordPress.org, donde se va a publicar el core. A partir de ahora el core recibe sus actualizaciones desde WordPress.org, y cada addon embebe su propio actualizador.
- ### Cambiado
- `Stable tag` del readme.txt sincronizado con la versión del plugin (estaba en 1.2.4; Plugin Check lo marcaba como discordancia).
- ## [1.5.0] - 2026-07-09
- ### Añadido
- Canal de comunicación del evento**: sección nueva en la pestaña Info Técnica del editor (📢 Canal de comunicación) con campos para Facebook, X (Twitter), Instagram, Página web y Otros. Los enlaces rellenados aparecen como iconos redondos (SVG, con color de cada red al pasar el ratón) en la pestaña Detalles de la página pública, debajo del cartel, bajo el título "Canal de comunicación del evento". Si no se rellena ninguno, no se muestra nada.
- Columna nueva `comm_channels` (JSON) en `wpcr_events`, cubierta por la salvaguarda de migración automática (se crea sola al actualizar, sin reinstalar).
- ## [1.4.1] - 2026-07-09
- ### Cambiado
- Rediseño de la pestaña "Ficha técnica"** de la página pública del evento: las tablas de datos del organizador, resumen, distancias/precios y documentación descargable no tenían ningún estilo propio y se veían con el aspecto por defecto del tema. Ahora son tarjetas con borde redondeado y sombra suave, columna de etiquetas diferenciada (fondo gris claro, mayúsculas pequeñas), separadores finos entre filas, hover y títulos de sección con barra de acento azul. En móvil (≤ 640 px) las etiquetas pasan a mostrarse encima del valor en vez de en columna.
- ## [1.4.0] - 2026-07-08
- ### Añadido
- Actualizador automático** el core y todos los addons instalados comprueban actualizaciones y muestran el aviso "Actualización disponible" estándar de WordPress con actualización en un clic y popup de novedades. No requiere cambios en los addons: reutiliza el registro. Requiere licencia activa y vigente.
- ## [1.3.0] - 2026-07-08
- ### Añadido
- Botón **"Reembolsar"** en la pestaña Cobros del evento para pagos de Stripe y PayPal, con confirmación y actualización de la fila sin recargar. Al reembolsar, el participante pasa a estado `refunded` y su plaza queda libre.
- Las pestañas de addon del editor de evento (Avituallamientos, Dorsales, Entrega, Cronometraje, Contrarreloj, RFID, Clasificaciones, Distancias, Etapas) ahora **se muestran siempre**; si el addon no está instalado, la pestaña muestra una mini-landing de venta con precio y botón de compra.
- `AddonsPage::get_addon($slug)`: acceso público al catálogo de addons (única fuente de precios/features para las mini-landings).
- Addon **Lectura RFID por puntos de control** añadido al catálogo (136 €, plan PRO).
- Migración de BD: columnas `refunded_at`, `refund_reference`, `paypal_order_id` y `transaction_id` en `wpcr_payments`.
- ### Cambiado
- Las consultas de cupo/aforo excluyen a los participantes reembolsados (`payment_type != 'refunded'`): un reembolso libera plaza real.
- URLs de compra de addons y planes ahora apuntan al nuevo sitio de licencias
- La validación de licencia apunta al nuevo endpoint.
- Nueva pestaña "🔖 RFID" en el editor de evento (addon wpcr-rfid).
- ### Corregido
- Los pagos de PayPal no llegaban a marcarse como pagados: las columnas `paypal_order_id`/`transaction_id` que el addon usaba no existían en `wpcr_payments`, y el UPDATE fallaba en silencio.
- Escape de salida de `$url` en el selector de tipo de evento
- Eliminado `admin/events/tabs/results-promo.php` (sustituido por la mini-landing genérica).
