Registo de alterações

NeoFrag Reborn 1.0.0

Luandre 6 jun. 2026 7 min de leitura 98
Sumário
Sumário

Primeiro ciclo do fork: modernização da base, reforço da segurança e uma ampla vaga de novas funcionalidades.

Adicionado

Plataforma e ferramentas

  • Migrações de base de dados numeradas (tools/migrate.php, com um comando baseline para retomar uma base de dados existente) e primeiros testes automatizados (PHPUnit).
  • Novo instalador web, que substitui o do NeoFrag original: um assistente em cinco passos (Requisitos → Base de dados → Módulos → Administrador → Concluído). O passo «Módulos» propunha três perfis de site (Comunidade, Gaming / eSports, Site simples) e podia acrescentar addons a partir do marketplace.
  • Marketplace remoto (catálogo e arquivos servidos por neofrag-reborn.xyz): o instalador (passo «Módulos») e a administração (botão «Marketplace» da página Temas & Addons) acrescentam com um clique os addons do catálogo oficial que não vêm com o site. Segurança: HTTPS obrigatório, impressão SHA-256 verificada, arquivo controlado entrada a entrada (nenhum caminho que saia da pasta do addon, nenhuma ligação simbólica), endereço do catálogo fixo, tamanhos e tempos limite delimitados.
  • Ferramentas de construção dos pacotes: package-addons prepara o catálogo do marketplace, build-release os arquivos a enviar por FTP.
  • Script de manutenção (tools/maintenance.php, a lançar por uma tarefa agendada): esvazia a reciclagem do que lá está há mais de 30 dias (ajustável) e elimina as contas nunca confirmadas ao fim de 7 dias, quando a validação das inscrições está ativada — nunca um administrador.

Temas e interface

  • Quatro temas criados para o NeoFrag Reborn: Nebula, pensado para os sites de comunidade, Forge, Blockcraft e Granite. Variáveis de cor comuns (--nf-*) vestem módulos e widgets com as cores de cada tema.
  • Redesenho completo da administração: novo aspeto, barra lateral, paleta de comandos (Ctrl+K), modos claro e escuro.
  • Seletores de tema e de idioma no rodapé (visitantes incluídos).
  • Menus: construtor de menus com vários níveis, utilizável no widget Navegação (opção «Menu gerido»).

Conteúdo

  • Notícias e artigos: publicação agendada — o conteúdo aparece à hora escolhida, e as notificações, webhooks e pontos só partem nesse momento, já não ao guardar (um endereço a chamar por uma tarefa agendada, protegido por uma chave); ações em lote; pesquisa, filtros e paginação na administração; uma página própria para ler uma notícia. Os artigos recebem uma imagem de destaque, como as notícias já tinham, e o contador de visualizações das notícias, que nunca subia, conta finalmente.
  • Publicação agendada também nas páginas, galerias e eventos (data de publicação distinta da data em que o evento se realiza, para os eventos).
  • Wiki: serve de documentação no site (índice em cartões, apresentação Markdown fiável); pesquisa e paginação; comparação visual de duas revisões de uma página, linha a linha.
  • Multimédia: título e descrição editáveis para cada ficheiro, pesquisa, filtro por tipo e paginação. Pesquisa, filtros e paginação também na administração das Transferências, do Diretório de ligações, da FAQ, das Sondagens e do Livro de visitas.
  • Feed RSS 2.0 (notícias + artigos), botões de partilha nas redes sociais, SEO (meta description, canonical, Open Graph, Twitter Card, meta por página).

Comunidade e envolvimento

  • Centro de notificações no site (sino e número de não lidas), com subscrições (seguir um conteúdo ou uma categoria). As notificações assinalam os comentários, as respostas do fórum, as menções @utilizador, as mensagens privadas e os convites para um evento.
  • Reações «gosto» nas notícias, artigos, comentários e mensagens do fórum; revisões dos conteúdos (histórico e restauro); widget «Últimos comentários».
  • Reciclagem comum: as notícias, artigos, galerias, comentários e mensagens do fórum eliminados passam por lá, e podem ser restaurados.
  • Fórum: categoria reservada aos membros VIP, imagem por categoria.

Gaming

  • Eventos: gestão completa dos adversários (lista, edição, eliminação; o NeoFrag original só permitia acrescentar um a partir de um jogo), contagem decrescente ao vivo, notificação de convite.

Monetização e gamificação

  • Karma/reputação → pontos (escala configurável) → loja (pagamento em pontos) → estatuto VIP.
  • Stripe (compra de pontos e de pacotes VIP), gestão de publicidade (escondida para os membros VIP), donativos (módulo e widget portados do «Donation v3» da HiddenBlob, a partir de majiid; LGPLv3).

Ligações entre módulos

  • Estatísticas alargadas a 19 módulos (o NeoFrag original cobria 3: comentários, fórum, membros); mural de atividade no perfil, que reúne a atividade de um membro em todos os módulos; painel «Por tratar» na administração; blocos de página: o código curto [block:…] insere numa página um bloco de um módulo (notícias, artigos, transferências).

Webhooks e auditoria

  • Webhooks de saída assinados (HMAC), geridos a partir da administração. O registo de auditoria regista também a instalação e desinstalação de um addon, a ativação de um tema ou de um módulo e a gravação das definições.

Administração das contas

  • Membros: exportação dos membros em CSV ou JSON (RGPD); os moderadores com essa permissão ajustam a moderação a partir da sua área de membro. A edição e a eliminação de um membro a partir da administração, já presentes no NeoFrag original, voltam a estar ligadas à nova lista de membros.

Alterado

  • Versionamento normalizado em SemVer puro nas dependências dos addons (retirada das etiquetas «Alpha»).
  • Páginas faz agora parte do núcleo; Notícias, Fórum e Galerias podem ser desinstalados.
  • Editor de texto rico: funciona finalmente — o HTML que produz é limpo em vez de ser mostrado como texto.

Removido

  • Os dois temas do NeoFrag original, «Thème par défaut» (default) e Azuro, substituídos pelos temas do NeoFrag Reborn.
  • O editor BBCode do NeoFrag original (WysiBB) e a conversão do BBCode: o editor de texto rico substitui-o, e um texto escrito em BBCode é agora mostrado tal como está.

Corrigido

  • Dez defeitos corrigidos, entre eles: os eventos sem participantes nem jogo não apareciam; editar ou eliminar um modo de jogo falhava; eliminar uma oferta de recrutamento falhava; a ligação para um parceiro levava a uma página não encontrada (leva agora ao seu site); o autor de uma denúncia nunca era mostrado, nem sequer aos moderadores autorizados; os widgets Galerias e Fórum verificavam mal as suas definições ou as permissões. Os contadores de visualizações só contam agora uma vez por visita e ignoram os robôs.
  • Um conteúdo agendado já não é visível pelo seu endereço direto antes da hora. Botões que não faziam nada funcionam agora: períodos das estatísticas, ativação dos modelos de e-mail, redes sociais (as seis são mostradas), botões «Adicionar» das notícias, páginas e galerias.
  • Temas: contraste dos botões elevado ao nível WCAG AA, campos de início de sessão unidos ao seu ícone, alinhamentos corrigidos.
  • Ecrãs pequenos e grandes (verificado de 390 a 2560 píxeis de largura): na administração, menu lateral deslizante e conteúdo em toda a largura no telemóvel; perfil de membro; barra da conta compacta no Nebula, Forge, Blockcraft e Granite.
  • As páginas Membros, Estatísticas e Editor ao vivo da administração mostravam um erro 500; alguns contadores ficavam bloqueados em 1 (distintivo da moderação, subscritores da newsletter, estatísticas da multimédia), e uma categoria vazia de Transferências, FAQ ou ligações não podia ser eliminada. (Para os programadores: erros de tipagem estrita em timetostr() e nos helpers; (int) sobre row(FALSE) de um COUNT/SUM valia sempre 1.)

Segurança

  • O HTML enviado pelos membros é limpo do lado do servidor (HTMLPurifier) contra a injeção de código; um ficheiro enviado é verificado pelo seu conteúdo real, não só pela sua extensão; HSTS ativado (os navegadores já não recuam para HTTP).
  • Tokens anti-CSRF comparados em tempo constante. Endereço IP: a limitação de frequência e a lista de IP banidos já não confiam em cabeçalhos falsificáveis (X-Forwarded-For…), a não ser que esteja declarado um proxy de confiança. Permissões: verificações de permissões acrescentadas onde faltavam (Livro de visitas, Jogos, Galerias, Eventos, Estatísticas).
  • Os antigos scripts de atualização já não podem recriar objetos PHP arbitrários ao reler as definições (unserialize limitado por allowed_classes).
  • Impressão digital da sessão contra o roubo de sessão: um membro com sessão iniciada é desligado se o seu navegador (user-agent) mudar de forma marcada durante a sessão — uma simples atualização do navegador não basta para isso. O endereço da publicação agendada está protegido por uma chave comparada em tempo constante.

Leia também

0
Comentários

Gerir os meus cookies

O site só instala os cookies necessários ao seu funcionamento: não exigem o seu consentimento. Os outros serviços pertencem a outras empresas; só são carregados se os aceitar. A sua escolha é guardada durante seis meses, e pode alterá-la a qualquer momento.

Necessários ao site Sempre ativos

  • __Host-session Mantém a sua sessão iniciada e protege os formulários contra envios fraudulentos. Até fechar o navegador; um ano com «Lembrar-me»
  • nf_consent Guarda as escolhas que faz nesta janela. 6 meses
  • nf_fuseau Mostra as datas e as horas no seu fuso horário. 1 ano
  • Armazenamento do navegador Guarda a sua escolha entre o modo dia e o modo noite, e a apresentação escolhida para a lista de artigos. Até que o limpe

Vídeos

Os vídeos integrados nas páginas: o leitor vem da plataforma, que recebe o seu endereço IP e pode instalar os seus cookies.

Música

As faixas e listas de reprodução integradas nas páginas: o leitor vem da plataforma, que recebe o seu endereço IP e pode instalar os seus cookies.