<?php
require_once __DIR__ . '/../license.php';

$error   = '';
$success = false;

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $key = strtoupper(trim($_POST['license_key'] ?? ''));

    if (!preg_match('/^[A-Z2-9]{5}-[A-Z2-9]{5}-[A-Z2-9]{5}-[A-Z2-9]{5}$/', $key)) {
        $error = 'Formato de chave inválido. Use o formato: XXXXX-XXXXX-XXXXX-XXXXX';
    } else {
        // Salva a chave temporariamente para que license_activate() a use
        license_save_key($key);

        // Invalida cache antigo
        @unlink(LICENSE_CACHE_FILE);

        $result = license_activate();

        if ($result['success']) {
            $success = true;
            header('Location: ' . (defined('BASE_URL') ? BASE_URL : '/') . 'index.php');
            exit;
        } else {
            // Remove a chave salva se a ativação falhou
            @unlink(LICENSE_KEY_FILE);
            @unlink(LICENSE_CACHE_FILE);

            $msg = $result['message'] ?? 'Erro desconhecido.';
            if ($msg === 'hardware_mismatch')  $error = 'Esta chave já está ativada em outro servidor.';
            elseif ($msg === 'revoked')         $error = 'Esta chave foi revogada. Entre em contato com o suporte.';
            elseif ($msg === 'invalid_key')     $error = 'Chave não encontrada. Verifique se digitou corretamente.';
            else                                $error = 'Não foi possível ativar: ' . htmlspecialchars($msg);
        }
    }
}
?>
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>MonitorPing — Ativar Licença</title>
<style>
  * { box-sizing: border-box; margin: 0; padding: 0; }
  body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    background: #0f172a;
    color: #e2e8f0;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
  }
  .card {
    background: #1e293b;
    border-radius: 12px;
    padding: 2.5rem 2rem;
    max-width: 460px;
    width: 100%;
    text-align: center;
  }
  .logo { font-size: 1.5rem; font-weight: 700; color: #38bdf8; margin-bottom: .4rem; }
  .subtitle { color: #64748b; font-size: .9rem; margin-bottom: 2rem; }
  h2 { font-size: 1.2rem; margin-bottom: .5rem; }
  p { color: #94a3b8; font-size: .9rem; margin-bottom: 1.5rem; line-height: 1.6; }
  .input-wrap { position: relative; margin-bottom: 1rem; }
  input[type=text] {
    width: 100%;
    padding: .75rem 1rem;
    font-size: 1.1rem;
    font-family: monospace;
    letter-spacing: .1em;
    text-align: center;
    text-transform: uppercase;
    background: #0f172a;
    border: 2px solid #334155;
    border-radius: 6px;
    color: #fbbf24;
    outline: none;
    transition: border-color .2s;
  }
  input[type=text]:focus { border-color: #38bdf8; }
  input[type=text]::placeholder { color: #334155; letter-spacing: .05em; text-transform: none; }
  button {
    width: 100%;
    padding: .8rem;
    background: #0ea5e9;
    border: none;
    border-radius: 6px;
    color: #fff;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background .2s;
  }
  button:hover { background: #0284c7; }
  .alert-err  { background: #7f1d1d33; border: 1px solid #ef4444; color: #fca5a5; padding: .7rem 1rem; border-radius: 6px; margin-bottom: 1rem; font-size: .9rem; }
  .divider { border: none; border-top: 1px solid #1e3a5f; margin: 1.5rem 0; }
  .logout { color: #475569; font-size: .82rem; text-decoration: none; }
  .logout:hover { color: #94a3b8; }
</style>
</head>
<body>
<div class="card">
  <div class="logo">MonitorPing</div>
  <div class="subtitle">Sistema de Monitoramento</div>

  <h2>Ativar Licença</h2>
  <p>Digite a chave de licença fornecida após a compra para liberar o acesso ao sistema.</p>

  <?php if ($error): ?>
    <div class="alert-err"><?= htmlspecialchars($error) ?></div>
  <?php endif; ?>

  <form method="post">
    <div class="input-wrap">
      <input
        type="text"
        name="license_key"
        placeholder="XXXXX-XXXXX-XXXXX-XXXXX"
        maxlength="23"
        autocomplete="off"
        autofocus
        value="<?= htmlspecialchars($_POST['license_key'] ?? '') ?>"
        oninput="formatKey(this)"
      >
    </div>
    <button type="submit">Ativar Licença</button>
  </form>

  <hr class="divider">
  <a class="logout" href="<?= defined('BASE_URL') ? BASE_URL : '/' ?>index.php?page=logout">Sair</a>
</div>

<script>
function formatKey(input) {
  let v = input.value.toUpperCase().replace(/[^A-Z2-9]/g, '');
  let parts = [];
  for (let i = 0; i < v.length && parts.length < 4; i += 5) {
    parts.push(v.substring(i, i + 5));
  }
  input.value = parts.join('-');
}
</script>
</body>
</html>
