<?php
require_once __DIR__.'/../config/config.php';require_once __DIR__.'/../config/database.php';require_once __DIR__.'/../includes/functions.php';
$token=(string)($_GET['token']??$_POST['token']??'');$registro=validarTokenRecuperacao($pdo,$token);$erro='';
if($_SERVER['REQUEST_METHOD']==='POST'&&$registro){
 if(!validarCsrfToken($_POST[CSRF_TOKEN_NAME]??''))$erro='Sessão expirada.';else{$senha=(string)($_POST['senha']??'');$confirmar=(string)($_POST['confirmar']??'');if(strlen($senha)<8)$erro='A senha deve ter pelo menos 8 caracteres.';elseif($senha!==$confirmar)$erro='As senhas não coincidem.';else{$pdo->beginTransaction();$pdo->prepare('UPDATE af_usuarios SET senha=?,auth_provider=\'local\',atualizado_em=NOW() WHERE id=?')->execute([password_hash($senha,PASSWORD_DEFAULT),$registro['usuario_id']]);$pdo->prepare('UPDATE af_password_resets SET usado_em=NOW() WHERE id=?')->execute([$registro['id']]);$pdo->prepare('UPDATE af_sessoes SET revogada_em=NOW() WHERE usuario_id=? AND revogada_em IS NULL')->execute([$registro['usuario_id']]);$pdo->commit();setFlash('success','Senha alterada. Entre novamente.');header('Location: '.SITE_URL.'/auth/login.php');exit;}}
}
$pageTitle='Nova senha';$showNav=false;require_once __DIR__.'/../includes/header.php';?>
<div class="auth-page"><div class="auth-box"><div class="auth-logo"><div style="font-size:48px">🔑</div><div class="brand-gradient">NOVA SENHA</div></div><?php if(!$registro):?><div class="flash flash--error">Este link é inválido ou expirou.</div><a class="btn btn-primary" href="<?=SITE_URL?>/auth/recuperar.php">SOLICITAR NOVO LINK</a><?php else:?><?php if($erro):?><div class="flash flash--error"><?=esc($erro)?></div><?php endif?><form method="post"><?=camposCsrf()?><input type="hidden" name="token" value="<?=esc($token)?>"><div class="form-group"><div class="form-field"><span class="field-icon">🔒</span><input class="form-input" type="password" name="senha" placeholder="Nova senha" required><button type="button" class="btn-eye">👁️</button></div></div><div class="form-group"><div class="form-field"><span class="field-icon">🔒</span><input class="form-input" type="password" name="confirmar" placeholder="Confirme a nova senha" required></div></div><button class="btn btn-primary">SALVAR NOVA SENHA</button></form><?php endif?></div></div><?php require_once __DIR__.'/../includes/footer.php';?>
