<?php
require_once __DIR__.'/../../_bootstrap.php';
require_once ROOT_PATH.'/includes/match_functions.php';
$u=afApiOuSessaoUsuario($pdo);
$auraId=strtoupper(trim((string)($_GET['aura_id']??'')));
if(!preg_match('/^AURA-[0-9]{4}$/',$auraId)) jsonResponse(['ok'=>false,'erro'=>'ID AURA inválido.'],422);
$st=$pdo->prepare("SELECT u.id,u.nome,u.username,u.aura_id,u.foto_perfil,u.foto_externa,u.titulo,u.nivel,u.xp_total,pr.bio,pr.cidade,pr.estado,pr.pais,pr.perfil_privado,ag.status_idade,ag.tipo_conta FROM af_usuarios u LEFT JOIN af_perfis pr ON pr.usuario_id=u.id LEFT JOIN af_user_age_profiles ag ON ag.usuario_id=u.id WHERE u.aura_id=? AND u.status=1 LIMIT 1");
$st->execute([$auraId]);$j=$st->fetch();
if(!$j) jsonResponse(['ok'=>false,'erro'=>'Jogador não encontrado.'],404);
$ageProtected=(int)$u['id']!==(int)$j['id']&&!afCanPublishUserContent($pdo,(int)$j['id']);
if($ageProtected)jsonResponse(['ok'=>true,'jogador'=>['nome'=>$j['username'],'username'=>$j['username'],'aura_id'=>$j['aura_id'],'avatar'=>DEFAULT_AVATAR,'private_by_age'=>true,'identity_mode'=>'alias_only','policy_version'=>defined('MINOR_POLICY_VERSION')?MINOR_POLICY_VERSION:'18.0']]);
$equip=afEquipamentoUsuario($pdo,(int)$j['id']);
$out=['nome'=>$j['nome'],'username'=>$j['username'],'aura_id'=>$j['aura_id'],'avatar'=>urlAvatar($j['foto_perfil']??null,$j['foto_externa']??null),'titulo'=>$equip['titulo_valor']??$j['titulo'],'equipamentos'=>$equip,'nivel'=>calcularNivel((int)$j['xp_total']),'bio'=>$j['bio'],'cidade'=>$j['cidade'],'estado'=>$j['estado'],'pais'=>$j['pais'],'social'=>afContadoresSociais($pdo,(int)$j['id']),'estatisticas'=>afEstatisticasUsuario($pdo,(int)$j['id']),'seguindo'=>(int)$u['id']===(int)$j['id']?false:afSeguindo($pdo,(int)$u['id'],(int)$j['id'])];
if(!(int)$j['perfil_privado']||(int)$u['id']===(int)$j['id']){$st=$pdo->prepare("SELECT pontuacao_total,aura_gerada,likes_recebidos,superlikes_recebidos,combo_maximo,novo_recorde,finalizada_em,share_token FROM af_partidas WHERE usuario_id=? AND status='finalizada' AND COALESCE(admin_status,'normal')='normal' AND controlled_event_id IS NULL ORDER BY finalizada_em DESC LIMIT 5");$st->execute([(int)$j['id']]);$out['ultimas_partidas']=array_map(static fn($p)=>['pontuacao'=>(float)$p['pontuacao_total'],'aura'=>(float)$p['aura_gerada'],'likes'=>(int)$p['likes_recebidos'],'superlikes'=>(int)$p['superlikes_recebidos'],'combo'=>(int)$p['combo_maximo'],'novo_recorde'=>(bool)$p['novo_recorde'],'finalizada_em'=>$p['finalizada_em'],'share_url'=>SITE_URL.'/pages/compartilhar.php?t='.$p['share_token']],$st->fetchAll());}
jsonResponse(['ok'=>true,'jogador'=>$out]);
