Registro de cambios

NeoFrag Reborn 1.0.0

Luandre 6 jun 2026 7 min de lectura 98
Índice
Índice

Primer ciclo del fork: modernización de la base, refuerzo de la seguridad y una amplia ola de nuevas funciones.

Añadido

Plataforma y herramientas

  • Migraciones de base de datos numeradas (tools/migrate.php, con un comando baseline para retomar una base de datos existente) y primeras pruebas automatizadas (PHPUnit).
  • Nuevo instalador web, que sustituye al del NeoFrag original: un asistente en cinco pasos (Requisitos → Base de datos → Módulos → Administrador → Terminado). El paso «Módulos» proponía tres perfiles de sitio (Comunidad, Gaming / eSports, Sitio sencillo) y podía añadir addons desde el marketplace.
  • Marketplace remoto (catálogo y archivos servidos por neofrag-reborn.xyz): el instalador (paso «Módulos») y la administración (botón «Marketplace» de la página Temas & Addons) añaden con un clic los addons del catálogo oficial que no vienen con el sitio. Seguridad: HTTPS obligatorio, huella SHA-256 verificada, archivo comprobado entrada por entrada (ninguna ruta que salga de la carpeta del addon, ningún enlace simbólico), dirección del catálogo fija, tamaños y tiempos de espera limitados.
  • Herramientas para fabricar los paquetes: package-addons prepara el catálogo del marketplace, build-release los archivos que se suben por FTP.
  • Script de mantenimiento (tools/maintenance.php, para lanzar con una tarea programada): vacía la papelera de lo que lleva en ella más de 30 días (ajustable) y elimina las cuentas nunca confirmadas al cabo de 7 días, cuando la validación de los registros está activada — nunca un administrador.

Temas e interfaz

  • Cuatro temas creados para NeoFrag Reborn: Nebula, pensado para los sitios de comunidad, Forge, Blockcraft y Granite. Unas variables de color comunes (--nf-*) visten módulos y widgets con los colores de cada tema.
  • Rediseño completo de la administración: nueva presentación, barra lateral, paleta de comandos (Ctrl+K), modos claro y oscuro.
  • Selectores de tema y de idioma en el pie de página (visitantes incluidos).
  • Menús: constructor de menús de varios niveles, utilizable en el widget Navegación (opción «Menú gestionado»).

Contenido

  • Noticias y artículos: publicación programada — el contenido aparece a la hora elegida, y las notificaciones, webhooks y puntos solo salen en ese momento, ya no al guardar (una dirección a la que llama una tarea programada, protegida por una clave); acciones en lote; búsqueda, filtros y paginación en la administración; una página propia para leer una noticia. Los artículos reciben una imagen destacada, como ya tenían las noticias, y el contador de visitas de las noticias, que nunca subía, por fin cuenta.
  • Publicación programada también en páginas, galerías y eventos (fecha de publicación distinta de la fecha en que se celebra, para los eventos).
  • Wiki: sirve de documentación en el sitio (índice en tarjetas, renderizado Markdown fiable); búsqueda y paginación; comparación visual de dos revisiones de una página, línea por línea.
  • Medios: título y descripción editables para cada archivo, búsqueda, filtro por tipo y paginación. Búsqueda, filtros y paginación también en la administración de Descargas, el Directorio de enlaces, FAQ, Encuestas y el Libro de visitas.
  • Feed RSS 2.0 (noticias + artículos), botones para compartir en redes sociales, SEO (meta description, canonical, Open Graph, Twitter Card, meta por página).

Comunidad y participación

  • Centro de notificaciones en el sitio (campana y número de no leídas), con suscripciones (seguir un contenido o una categoría). Avisan de los comentarios, las respuestas del foro, las menciones @usuario, los mensajes privados y las invitaciones a un evento.
  • Reacciones «me gusta» en las noticias, artículos, comentarios y mensajes del foro; revisiones de los contenidos (historial y restauración); widget «Últimos comentarios».
  • Papelera común: las noticias, artículos, galerías, comentarios y mensajes del foro eliminados pasan por ella, y pueden restaurarse desde ella.
  • Foro: categoría reservada a los miembros VIP, imagen por categoría.

Gaming

  • Eventos: gestión completa de los adversarios (lista, edición, eliminación; el NeoFrag original solo permitía añadir uno desde un partido), cuenta atrás en directo, notificación de invitación.

Monetización y gamificación

  • Karma/reputación → puntos (escala configurable) → tienda (pago en puntos) → estado VIP.
  • Stripe (compra de puntos y de paquetes VIP), gestión de publicidad (oculta para los miembros VIP), donaciones (módulo y widget portados del «Donation v3» de HiddenBlob, a partir de majiid; LGPLv3).

Vínculos entre módulos

  • Estadísticas ampliadas a 19 módulos (el NeoFrag original cubría 3: comentarios, foro, miembros); muro de actividad en el perfil, que reúne la actividad de un miembro en todos los módulos; panel «Por gestionar» en la administración; bloques de página: el código corto [block:…] inserta en una página un bloque de un módulo (noticias, artículos, descargas).

Webhooks y auditoría

  • Webhooks salientes firmados (HMAC), gestionados desde la administración. El registro de auditoría registra también la instalación y desinstalación de un addon, la activación de un tema o de un módulo y el guardado de los ajustes.

Administración de las cuentas

  • Miembros: exportación de los miembros en CSV o JSON (RGPD); los moderadores que tienen el permiso ajustan la moderación desde su área de miembro. La edición y la eliminación de un miembro desde la administración, ya presentes en el NeoFrag original, vuelven a estar conectadas a la nueva lista de miembros.

Cambiado

  • Versionado normalizado en SemVer puro en las dependencias de los addons (retirada de las etiquetas «Alpha»).
  • Páginas forma parte ahora del núcleo; Noticias, Foro y Galerías se pueden desinstalar.
  • Editor de texto enriquecido: por fin funciona — el HTML que produce se limpia en lugar de mostrarse como texto.

Eliminado

  • Los dos temas del NeoFrag original, «Thème par défaut» (default) y Azuro, sustituidos por los temas de NeoFrag Reborn.
  • El editor BBCode del NeoFrag original (WysiBB) y la conversión del BBCode: el editor de texto enriquecido lo sustituye, y un texto escrito en BBCode se muestra ahora tal cual.

Corregido

  • Diez defectos corregidos, entre ellos: los eventos sin participantes ni partido no aparecían; editar o eliminar un modo de juego fallaba; eliminar una oferta de reclutamiento fallaba; el enlace a un socio llevaba a una página no encontrada (ahora lleva a su sitio); el autor de una denuncia nunca se mostraba, ni siquiera a los moderadores autorizados; los widgets Galerías y Foro comprobaban mal sus ajustes o los permisos. Los contadores de visitas ya solo cuentan una vez por visita e ignoran a los robots.
  • Un contenido programado ya no es visible por su dirección directa antes de su hora. Funcionan botones que no hacían nada: periodos de las estadísticas, activación de las plantillas de correo, redes sociales (se muestran las seis), botones «Añadir» de las noticias, páginas y galerías.
  • Temas: contraste de los botones elevado al nivel WCAG AA, campos de inicio de sesión unidos a su icono, alineaciones corregidas.
  • Pantallas pequeñas y grandes (comprobado de 390 a 2560 píxeles de ancho): en la administración, menú lateral deslizante y contenido a todo lo ancho en el móvil; perfil de miembro; barra de cuenta compacta en Nebula, Forge, Blockcraft y Granite.
  • Las páginas Miembros, Estadísticas y Editor en vivo de la administración mostraban un error 500; algunos contadores se quedaban bloqueados en 1 (distintivo de moderación, suscriptores de la newsletter, estadísticas de los medios), y una categoría vacía de Descargas, FAQ o enlaces no se podía eliminar. (Para los desarrolladores: errores de tipado estricto en timetostr() y los helpers; (int) sobre row(FALSE) de un COUNT/SUM valía siempre 1.)

Seguridad

  • El HTML enviado por los miembros se limpia en el servidor (HTMLPurifier) contra la inyección de código; un archivo subido se comprueba por su contenido real, no solo por su extensión; HSTS activado (los navegadores ya no vuelven a HTTP).
  • Tokens anti-CSRF comparados en tiempo constante. Dirección IP: la limitación de frecuencia y la lista de IP baneadas ya no confían en cabeceras falsificables (X-Forwarded-For…), salvo si se declara un proxy de confianza. Permisos: comprobaciones de permisos añadidas donde faltaban (Libro de visitas, Juegos, Galerías, Eventos, Estadísticas).
  • Los antiguos scripts de actualización ya no pueden recrear objetos PHP arbitrarios al releer los ajustes (unserialize limitado por allowed_classes).
  • Huella de sesión contra el robo de sesión: un miembro con la sesión iniciada se desconecta si su navegador (user-agent) cambia notablemente durante la sesión — una simple actualización del navegador no basta para ello. La dirección de la publicación programada está protegida por una clave comparada en tiempo constante.

Lee también

0
Comentarios

Gestionar mis cookies

El sitio solo instala las cookies necesarias para su funcionamiento: no requieren su consentimiento. Los demás servicios pertenecen a otras empresas; solo se cargan si los acepta. Su elección se guarda seis meses, y puede cambiarla en cualquier momento.

Necesarias para el sitio Siempre activas

  • __Host-session Mantiene su sesión iniciada y protege los formularios contra envíos fraudulentos. Hasta que se cierra el navegador; un año con «Recordarme»
  • nf_consent Guarda las elecciones que hace en esta ventana. 6 meses
  • nf_fuseau Muestra las fechas y las horas en su zona horaria. 1 año
  • Almacenamiento del navegador Guarda su elección entre el modo día y el modo noche, y la presentación elegida para la lista de artículos. Hasta que lo vacíe

Vídeos

Los vídeos integrados en las páginas: el reproductor viene de la plataforma, que recibe su dirección IP y puede instalar sus cookies.

Música

Las canciones y listas de reproducción integradas en las páginas: el reproductor viene de la plataforma, que recibe su dirección IP y puede instalar sus cookies.