<?php
require_once __DIR__.'/../config/config.php';require_once __DIR__.'/../config/database.php';require_once __DIR__.'/../includes/functions.php';
if(!isLoggedIn()){header('Location: '.SITE_URL.'/auth/login.php?continue='.rawurlencode('/pages/aceitar-termos.php'));exit;}
$uid=(int)$_SESSION['usuario_id'];
if(function_exists('afEnforceAgeCompletion'))afEnforceAgeCompletion($pdo,$uid);
$missing=afMissingLegalAcceptances($pdo,$uid);
if($_SERVER['REQUEST_METHOD']==='POST'){
 try{
  if(!validarCsrfToken($_POST[CSRF_TOKEN_NAME]??''))throw new RuntimeException('Sessão expirada. Recarregue a página.');
  if(empty($_POST['confirmar_leitura']))throw new RuntimeException('Confirme que leu os documentos apresentados.');
  $ids=is_array($_POST['documents']??null)?$_POST['documents']:[];
  afRecordLegalAcceptances($pdo,$uid,$ids,'web_acceptance',$uid);
  setFlash('success','Documentos aceitos e registrados com sucesso.');
  $dest=(string)($_SESSION['af_after_legal']??'/pages/home.php');unset($_SESSION['af_after_legal']);
  if(!str_starts_with($dest,'/')||str_starts_with($dest,'//')||str_contains($dest,'\\'))$dest='/pages/home.php';
  header('Location: '.SITE_URL.$dest);exit;
 }catch(Throwable $e){setFlash('error',$e->getMessage());header('Location: '.SITE_URL.'/pages/aceitar-termos.php');exit;}
}
if(!$missing){$dest=(string)($_SESSION['af_after_legal']??'/pages/home.php');unset($_SESSION['af_after_legal']);if(!str_starts_with($dest,'/')||str_starts_with($dest,'//'))$dest='/pages/home.php';header('Location: '.SITE_URL.$dest);exit;}
$age=afResumoIdade($pdo,$uid);$pageTitle='Atualização dos termos';$showNav=false;$bodyClass='legal-accept-body';require_once __DIR__.'/../includes/header.php';
?>
<main class="legal-accept-page">
 <section class="legal-accept-card card card--glow">
  <div class="legal-accept-brand"><span>🛡️</span><div><small>ETAPA 21 • PRIVACIDADE E TRANSPARÊNCIA</small><h1>Leia antes de continuar</h1><p>Os documentos abaixo foram versionados e o aceite ficará registrado com data, dispositivo e versão.</p></div></div>
  <?=renderFlash()?>
  <?php if(($age['tipo_conta']??'')==='minor'):?><div class="privacy-notice-box">Este aceite registra que o usuário visualizou os documentos. Ele não substitui o vínculo, a verificação e os consentimentos específicos do responsável.</div><?php endif;?>
  <form method="post" class="legal-accept-form"><?=camposCsrf()?>
   <div class="legal-accept-list">
    <?php foreach($missing as $doc):?>
     <label class="legal-accept-item">
      <input type="checkbox" name="documents[]" value="<?=(int)$doc['id']?>" required>
      <span class="legal-doc-check">✓</span>
      <span><strong><?=esc($doc['title'])?></strong><small>Versão <?=esc($doc['version_key'])?> • <?=esc($doc['summary']??'')?></small><em><a href="<?=SITE_URL?>/pages/<?=match($doc['document_key']){'terms'=>'termos-de-uso.php','privacy'=>'privacidade.php','child_privacy'=>'privacidade-menores.php','guardian_terms'=>'termo-responsavel.php','camera_transmission'=>'politica-camera-transmissao.php','retention_deletion'=>'politica-retencao-exclusao.php','community_rules'=>'regras-comunidade.php',default=>'privacidade.php'}?>" target="_blank" rel="noopener">Abrir documento completo ↗</a></em></span>
     </label>
    <?php endforeach;?>
   </div>
   <label class="legal-confirm-check"><input type="checkbox" name="confirmar_leitura" value="1" required><span>Li os documentos obrigatórios e concordo em continuar usando o Aura Farming sob estas versões.</span></label>
   <button class="btn btn-primary" type="submit">ACEITAR E CONTINUAR</button>
   <a class="btn btn-secondary mt-12" href="<?=SITE_URL?>/auth/logout.php">Sair da conta</a>
  </form>
 </section>
</main>
<?php require_once __DIR__.'/../includes/footer.php';?>
