<?php
session_start();
require_once __DIR__ . '/includes/db_config.php';

$success = null;
$error   = null;

// 1) Перевіряємо токен
if (empty($_GET['token'])) {
    $error = 'Токен верифікації відсутній.';
} else {
    $token = $_GET['token'];
    // 2) Шукаємо НЕпідтвердженого користувача з цим токеном
    $sql  = "SELECT id FROM users WHERE verification_token = ? AND is_verified = 0 LIMIT 1";
    $stmt = $conn->prepare($sql);

    if (!$stmt) {
        $error = 'Внутрішня помилка. Спробуйте пізніше.';
        error_log('[VERIFY] Prepare failed: ' . $conn->error);
    } else {
        $stmt->bind_param('s', $token);
        $stmt->execute();
        $res = $stmt->get_result();

        if ($res && $res->num_rows === 1) {
            $row = $res->fetch_assoc();
            $user_id = (int)$row['id'];
            $stmt->close();

            // 3) Оновлюємо статус
            $upd = $conn->prepare("UPDATE users SET is_verified = 1, verification_token = NULL, is_active = 1 WHERE id = ?");
            if ($upd) {
                $upd->bind_param('i', $user_id);
                if ($upd->execute()) {
                    $success = 'Акаунт успішно підтверджено! Тепер ви можете увійти.';
                } else {
                    $error = 'Не вдалося активувати акаунт. Спробуйте пізніше.';
                    error_log('[VERIFY] Update execute error: ' . $upd->error);
                }
                $upd->close();
            } else {
                $error = 'Внутрішня помилка (update).';
                error_log('[VERIFY] Update prepare failed: ' . $conn->error);
            }
        } else {
            // Додаткова діагностика: чи вже підтверджений
            $stmt->close();
            $chk = $conn->prepare("SELECT id FROM users WHERE verification_token IS NULL AND is_verified = 1 LIMIT 1");
            if ($chk) {
                $chk->execute();
                $already = $chk->get_result();
                if ($already && $already->num_rows > 0) {
                    $error = 'Цей акаунт уже підтверджено або посилання недійсне.';
                } else {
                    $error = 'Невірний або протермінований токен.';
                }
                $chk->close();
            } else {
                $error = 'Невірний або протермінований токен.';
            }
        }
    }
}
?>
<!doctype html>
<html lang="uk">
<head>
  <meta charset="utf-8">
  <title>Верифікація акаунта</title>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="/css/home.css">
  <style>
    .container { max-width: 620px; margin: 30px auto; padding: 20px; }
  </style>
</head>
<body>
  <?php include __DIR__ . '/includes/header.php'; ?>

  <main class="container">
    <h2>Верифікація акаунта</h2>

    <?php if ($error): ?>
      <div class="alert alert-danger" role="alert" style="border:1px solid #f5c2c7;padding:10px;margin-bottom:12px;background:#f8d7da">
        <?php echo htmlspecialchars($error); ?>
      </div>
    <?php endif; ?>

    <?php if ($success): ?>
      <div class="alert alert-success" role="alert" style="border:1px solid #badbcc;padding:10px;margin-bottom:12px;background:#d1e7dd">
        <?php echo htmlspecialchars($success); ?>
      </div>
      <p><a class="btn btn-primary" href="/login.php">Увійти</a></p>
    <?php endif; ?>
  </main>

  <?php include __DIR__ . '/includes/footer.php'; ?>
</body>
</html>
