Implementado o algoritmo oficial de Berger do Hexacolor Scheduler v1.2 na geração de tabelas de pontos corridos e mistas, assegurando a rotação ideal de equipes e alternância correta de mandos de campo.
Corrigida a opção de pênaltis e prorrogação no mata-mata e na final, carregando as regras dinâmicas no JSON de simulação. Corrigido o bug que exibia a fase de pontos corridos como Oitavas de Final e impedia a exibição da classificação única. Ajustamos a fase de grupos do formato Misto para fase 2 (fase de grupos) e corrigimos o mapeamento de rótulos do mata-mata no painel de estatísticas.
Adicionado parâmetro -Djava.awt.headless=true para corrigir erros de AWTError no servidor Linux. O cron foi configurado para buscar partidas das próximas 24h a partir do momento de execução. Além disso, criamos uma validação para impedir que falhas na simulação salvem um placar falso de 0x0 no banco de dados, um injetor automático das versões de compatibilidade requeridas pela engine no SQLite temporário (2.8, 2.9.1, 2.10, 2.13), e desenvolvemos um script utilitário (/competicoes/hexacolor/reset_failed_simulations.php) para varrer e resetar automaticamente os jogos que ficaram travados em 0x0 sem arquivo de súmula.
Adicionado um botão padronizado de 'Voltar para a Competição' no rodapé de todas as subpáginas de gerenciamento (Estatísticas, Jogos, Equipes, Opções e Escalação), facilitando o retorno rápido à tela principal do torneio.
Corrigido erro que impedia a simulação correta das partidas no ambiente de produção (jogos 0x0) e consequentemente não gerava a imagem da súmula. Ajuste nos caminhos absolutos do servidor Linux e unificação para utilização da versão V2 do motor de simulação (HexacolorYMTv2.jar) em todos os ambientes.
Corrigido o layout quebrado da listagem de competições no celular, organizando a exibição em cards e centralizando as informações de destaque.
Ajustado o sistema para que, ao impersonar um usuário (login via Admin%Usuario), a sessão assuma corretamente os mesmos privilégios e permissões do usuário destino, permitindo testes mais precisos sem manter status de administrador, mas preservando o selo visual de impersonação.
Corrigido erro fatal (PDOException) que impedia salvar as configurações de árbitros de uma competição. O INSERT na tabela SQLite 'trioarbitragem' usava nomes de colunas incorretos (NomeArbitro, NomeAuxiliarUm, NomeAuxiliarDois) em vez dos nomes reais do schema (Arbitro, Auxiliar1, Auxiliar2).
Corrigidos múltiplos bugs que impediam a inserção de times em competições: (1) Parâmetros PDO duplicados na query SQL de alterarPaisTime causavam erro fatal; (2) O método directRun do SQLite aplicava htmlspecialchars na query SQL, corrompendo os dados antes da execução; (3) getConnection do SQLite fazia echo do erro quebrando respostas JSON; (4) Tabelas SQLite não eram inicializadas em competições novas.
Alterado o antigo link do Portal COISO para COISO TV e sinalizado como 'Em Breve' (desabilitado) na página inicial.
Adicionado novo card e gaveta de ações para 'Envio de Fichas' diretamente na tela inicial do usuário. Permite enviar times do portal ou importar arquivos .ymt para competições ativas dentro do prazo de envio de forma totalmente inline, com sinalização de urgência quando restarem menos de 7 dias.
Redirecionamento automático para a tela de índice de competições após criar uma competição com sucesso. Correção do posicionamento dos alertas (toasts) para que flutuem no topo direito (estilo toast moderno) sem entrar atrás do cabeçalho da página, com suporte a auto-ocultação após 5 segundos. Correção do erro fatal de classe 'SQLiteDatabase' ausente ao abrir competições recém-criadas. Correção da chamada da imagem da federação para letras minúsculas para compatibilidade com sistemas Linux (ex: feasco.png).
Migrada a página de jogos ativos para o padrão estético de tema claro (estilo branco) consistente com as demais páginas redesenhadas (como Minhas Propostas e Competições), ajustando o contraste de textos, botões e elementos informativos.
Implementada detecção ultra-robusta via $_SERVER['REQUEST_URI'] no arquivo elements/footer.php para aplicar os estilos de rodapé sticky ('position: relative !important') nas páginas redesenhadas. Corrigido o colapso de layout removendo dinamicamente 'margin-bottom: 50px' de html/body nessas páginas para evitar que o conteúdo transborde, e mapeado o aprendizado de fluxo de diagnóstico nas diretrizes gerais do projeto (.agents/AGENTS.md).
Ajustada a visibilidade do cabeçalho em páginas antigas (sem CSS redesign): ocultados o avatar e nome redundantes no botão do menu (exibindo o ícone tradicional de três linhas) e mantido apenas o identificador padrão para evitar poluição visual.
Finalizada a integração do notificador de transferências com o Discord. Corrigida a formatação de imagens usando caminhos absolutos e adicionado suporte para exibição estilizada de valores e data da transferência.
Adicionado estilo global de fallback para os avatares do usuário no cabeçalho e menu lateral, impedindo que imagens grandes fiquem gigantescas em áreas ainda não repaginadas do site.
Repaginada a tela de alterar senha e preferências de conta com base nas novas diretrizes de design system, implementando glassmorphism real e corrigindo o conflito de cabeçalho e rodapé antigos.
Corrigido o erro Fatal PDOException 'Invalid parameter number' na tela de jogos ativos do usuário, separando os placeholders nomeados na consulta. Ajustado o layout do container para usar 'redesign-container', resolvendo o footer flutuante e adicionando espaçamento superior para não cortar no cabeçalho.
Criação de páginas de erro estilizadas (400, 403, 404, 500 e 503) com layout de glassmorphism, suporte responsivo e imagens divertidas fornecidas pelo usuário.
Renomeado o arquivo principal de índice de competições (de indice_competicoes.php para index.php) visando simplificação de rotas e consistência de padrões de URL do projeto.
Incorporado o crachá de perfil do usuário (nome e avatar/foto) diretamente no botão acionador do menu sanduíche, ocultando a barra de texto central no topo do site para uma navegação mais limpa. Adicionado suporte a banco de dados e upload de avatar personalizado na página de preferências, além de um banner de perfil detalhado com etiqueta/badge especial de Administrador no topo do menu lateral.
Adicionado painel de próximos jogos de times do usuário na área de membros com realce e contador de desfalques ativos. Criada exportação e importação via Excel (.xlsx) das tabelas de jogos das competições com validação de escopo. Implementada a opção de salvar a escalação modificada em jogo de forma definitiva para o clube. Realizado rebranding da tela de criação de competições com Glassmorphism e botões da barra de ferramentas. Implementado mecanismo de fila de espera (lock de concorrência com timeout de 45s) na simulação de partidas para evitar conflitos de simulação concorrente no servidor e garantir atualização automática da tela do usuário quando liberado.
Implementada tela de carregamento (loader) em tela cheia com progresso detalhado dinâmico durante a simulação de jogos. Adicionada badge visual destacando lesões ativas na página do jogador. Concedidos privilégios de gerenciador/administrador das competições para seus criadores correspondentes.
Corrigido o travamento (loop infinito) ao simular partidas definindo como null todas as declarações PDO ativas antes de fechar a conexão SQLite, liberando totalmente o banco database.db3. Impedida a edição/exclusão de partidas já simuladas. Configurado o streaming dinâmico da imagem PNG da súmula em qualquer rodada usando glob via PHP para contornar erros 404 e problemas de caracteres especiais no Windows.
Implementada a possibilidade de salvar escalações e desfalques manuais específicos para cada partida. O sistema agora carrega e aplica essas alterações temporariamente durante a simulação do jogo sem sobrescrever de forma definitiva a escalação padrão do clube.
Corrigido o erro de índices indefinidos (Undefined index) ao salvar a escalação pré-jogo, mapeando corretamente as colunas de posições no banco de dados SQLite.
Corrigido erro fatal ao carregar a escalação. Adicionado seletor de posição por jogador com base nas posições disponíveis, opção de marcar jogador como indisponível manualmente e limite visual de 11 titulares com contador em tempo real. Layout reformulado com tema escuro e botões corrigidos.
Corrigida a importação dupla de cabeçalho que quebrava os estilos na página de confrontos e refatorado o visual dos botões de paginação ativa para evitar textos desbotados.
Desenvolvido o painel completo de estatísticas do torneio contendo tabela de classificação de grupos, chaves de mata-mata, artilharia, assistências, cartões, suspensões e departamento médico.
Adicionado seletor de prioridade de desempate para a fase de grupos nas configurações da competição, permitindo ordernar os critérios de Saldo de Gols, Gols Pró, Vitórias e Confronto Direto.
Atualizada a tela de opções e configurações com cartões translúcidos integrados ao tema claro, novos controles de inputs e Select2 múltiplos totalmente estilizados no padrão CONFUSA 2.0.
Adicionado painel de configuração de arbitragem (específicos, país ou federação) e estádios (da sede, com opção de desativar os estádios padrões de mandantes) na tela de opções da competição.
Removidos estilos inline e reestruturada a página de lista de confrontos da competição com cards responsivos no mobile, formulário de novos jogos e placares modernos.
Atualizada a tela de gerenciamento de equipes participantes da competição com cards responsivos de vagas, customização moderna para Select2 e botões de ação estilizados.
Migrado o controle de desfalques do SQLite para o banco central MariaDB: adicionada coluna lesionado_ate (data limite) na tabela jogador e criada tabela competicao_suspensos (por torneio), com sincronização dinâmica no simulador.
Reestruturada a página principal de status de competições com visual moderno, banner da competição em glassmorphism, barra de progresso de equipes inseridas e grid de ações estilo home hub.
Aplicadas melhorias visuais e estilização responsiva na página do índice de competições para alinhar-se com o layout premium e cores das telas de propostas.
Corrigido erro no carregamento e salvamento de escalações onde colunas como Titular, Capitao e Clube eram lidas diretamente do jogador ao invés de usar as tabelas elenco/escalacao.
Corrigido erro 500 no endpoint de busca de competições adicionando tratamento de exceções robusto e mantendo compatibilidade de parsing no frontend.
Corrigidos avisos de índice indefinido para o parâmetro de time nas ligas e ranking (teamstatus.php). Adicionado tratamento global amigável para falhas de conexão com o banco de dados (database.php) para evitar Fatal Errors.
Atualizado o arquivo .gitignore para ignorar arquivos locais e relatórios gerados pela ferramenta de compatibilidade de PHP (PHPCS e PHPCompatibility).
Adicionada a exibição das colunas de Data de Proposta e Data de Conclusão (exibida em branco se não houve ação) nas tabelas de jogadores e técnicos. O banco de dados agora atualiza a data de conclusão (dataConclusao) automaticamente ao aceitar, recusar ou contrapropor.
Ajuste na contagem de propostas ativas da Minha Área para focar somente em ações pendentes (recebidas e contrapropostas) e redesign da tela de propostas de técnicos no mesmo estilo visual moderno.
Atualização da tela de Minhas Propostas de Jogadores para um design limpo e moderno. A página conta com um fundo cinza claro premium e marca d'água azul da CONFUSA, com as propostas exibidas em linhas coloridas de acordo com o status (verde para aceitas, vermelho para recusadas, amarelo para contrapropostas), botões de ação e paginação moderna sem textos auxiliares redundantes.
Atualização da página de Minha Área para o novo sistema visual 2.0 com um tema exclusivo em tons de laranja e âmbar, incluindo marca d'água integrada em laranja e fundo dos cartões em tom terracota escuro. Os links agora são exibidos em cards modernos no estilo glassmorphism, com imagens superiores dinâmicas e novos indicadores em tempo real para propostas de transferências pendentes e status de sincronização com o simulador HYMT.
Corrigido um erro fatal que ocorria ao tentar confirmar a importação de jogos duplicados/existentes, direcionando a chamada para o método correto de atualização de placar no banco de dados.
A tabela de revisão de jogos agora utiliza o mesmo estilo visual do restante do site (fundo branco, bordas suaves, cores laranja e azul escuro). O box de upload e os seletores de campeonato/fase ficam ocultos durante a revisão, evitando poluição visual. Linhas fantasmas (sem arquivo válido) são filtradas automaticamente. Adicionado botão 'Nova importação' para reiniciar o fluxo sem recarregar a página.
Criado um fluxo de validação intermediário para arquivos .hyl. Agora, o usuário visualiza uma tabela de revisão com o status dos jogos, mapeamento automático de países/bandeiras e pode corrigir divergências usando seletores dinâmicos (Select2) antes de confirmar a importação do lote todo de uma só vez.
Criado o novo layout e estilo da home (index_v2.php e css/home_redesign.css) com base nas diretrizes de alta fidelidade visual. O novo hub conta com glassmorphism real, grid responsiva moderna, tipografia limpa e links sanitizados.
Criado o script Cron para simulação automática diária das partidas agendadas. Implementado o controle de suspensões e lesões no JAR, a padronização em data/database.db3, a tela de escalação pré-jogo (escalacao_jogo.php) com consulta ao dono da equipe pela MariaDB e obtenção de PosicaoBase via JOIN na tabela posicaojogador, agendador com rodadas espaçadas em 3 dias para torneios mistos e ícone de escalação ao lado dos times.
Corrigida falha na aprovação de propostas de transferências para jogadores com siglas de posições textuais (caso do Jogador 51276). Corrigido erro de chamada estática inexistente na classe Transfer e adicionado bloco try-catch capturando Throwable para registro detalhado de erros no servidor.
Corrigidos múltiplos avisos de índices indefinidos (Undefined index) na página de apresentação do time (team_presentation.php) e no status do país (paisstatus.php), um erro de sintaxe SQL (PDOException) em Time::readExtraInfo, e um erro de coluna não encontrada (PDOException) no método countAll da classe Liga através da parametrização de consultas SQL e validação de parâmetros.
Criação do servidor MCP nativo híbrido (SSE e POST) sem dependências. Suporta autenticação automática por tokens gerados na conta, buscas por nome do clube, ferramenta para comparação de elencos e filtros inteligentes de mercado (como posições, nacionalidade do jogador e dono do time).
Redesenhada a antiga página de alteração de senha para um painel completo de Preferências. Permite editar o Nome Real de exibição separadamente da senha, traz o link do MCP parametrizado com manual passo a passo explicativo (@ChatGPT) e o download do ícone oficial.
Desenvolvimento do script check_php, inclusão do polyfill mbstring, correção de divisão por zero no status da liga, tratamento de erro de tipo de dados nos técnicos e limpeza de avisos de chaves indefinidas no status do time.
Implementada limpeza assíncrona automática de sessões locais expiradas (com mais de 30 dias) para controlar o crescimento do diretório no servidor compartilhado.
Ajustado o layout da Área do Usuário (Painel) para ser totalmente responsivo em dispositivos móveis, adaptando os quadros de opções de forma idêntica à página principal.
Corrigidas vulnerabilidades de injeção de SQL em diversas consultas do sistema (classes Clube, Liga, Paises, Competicao_clube) migrando para Prepared Statements com bindParam e validação numérica rigorosa para neutralizar entradas maliciosas.
Aumentado o limite de uploads simultâneos (max_file_uploads = 300) em php.ini, ampliada a memória do script de busca (memory_limit = 512M) para evitar erros de estouro de RAM e adicionado suporte a variáveis de ambiente (.env).
Implementada compactação recursiva segura (addDirToZip) no ZipArchive para evitar erros de pastas tratadas como arquivos, adicionado tratamento robusto com Throwable no envio de e-mails via PHPMailer e validações de existência de arquivos temporários antes de excluir.
Corrigidos múltiplos avisos de variáveis, offsets e índices indefinidos na navegação de usuários deslogados, no gerador de elencos (tamanho mínimo 25) e em páginas como alterar_atributos.php, criar_demografia.php, listajogos.php, match_info.php e alterar_time.php.

Atacante de Movimentação (80.59%)
Centroavante Oportunista (79.41%)
Meia Controlador (79.22%)
Transferências
| Data | Saiu de | Foi para | Valor |
|---|---|---|---|
| 17/12/2024Sem Custo | Sem clube | Gobernador Alonso Nacional 2 | F$ 0 k |
 Nacional 2 (tier 2)
 Gobernador Alonso 
Sem clube