<?php
$title = 'Trocar senha';
require_once __DIR__ . '/auth.php';
require_login();

$msg = ''; $err='';
if ($_SERVER['REQUEST_METHOD']==='POST') {
  check_csrf();
  $pwd = (string)($_POST['pwd']??'');
  $rep = (string)($_POST['pwd2']??'');
  if ($pwd !== $rep) $err = 'As senhas não conferem.';
  if (!$err) {
    $e = validate_password_complexity($pwd);
    if ($e) $err = $e;
  }
  if (!$err) {
    set_user_password($pdo, (int)current_user()['id'], $pwd);
    $msg = 'Senha atualizada com sucesso.';
  }
}

include __DIR__ . '/header.php';
?>
<div class="container" style="max-width:640px;">
  <h2 class="h5 mb-3">Atualizar senha</h2>
  <?php if ($msg): ?><div class="alert alert-success"><?= h($msg) ?></div><?php endif; ?>
  <?php if (!empty($_SESSION['force_pwd_change'])): ?>
    <div class="alert alert-warning">Sua senha expirou. Defina uma nova para continuar.</div>
  <?php endif; ?>
  <?php if ($err): ?><div class="alert alert-danger"><?= h($err) ?></div><?php endif; ?>

  <form method="post" class="row g-2">
    <input type="hidden" name="csrf" value="<?= h(csrf_token()) ?>">
    <div class="col-12">
      <label class="form-label">Nova senha</label>
      <input type="password" name="pwd" class="form-control" required>
      <div class="form-text">Mín. <?= PWD_MIN_LEN ?>, com maiúscula, minúscula, número e símbolo.</div>
    </div>
    <div class="col-12">
      <label class="form-label">Confirmar senha</label>
      <input type="password" name="pwd2" class="form-control" required>
    </div>
    <div class="col-12 d-flex gap-2 mt-2">
      <button class="btn btn-primary">Salvar</button>
      <a class="btn btn-outline-secondary" href="<?= base_url('index.php') ?>">Voltar</a>
    </div>
  </form>
</div>
<?php include __DIR__ . '/footer.php'; ?>
