<?php
require __DIR__.'/inc.php';
$err = ''; $ok = '';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
  $login = strtolower(trim($_POST['login'] ?? ''));
  $pw    = (string)($_POST['password'] ?? '');
  $pw2   = (string)($_POST['password2'] ?? '');
  $email = trim($_POST['email'] ?? '');
  if (!preg_match('/^[a-z0-9]{4,16}$/', $login))      $err = 'Логін: 4–16 символів, лише латиниця та цифри.';
  elseif (!preg_match('/^[A-Za-z0-9]{4,16}$/', $pw))  $err = 'Пароль: 4–16 символів, лише латиниця та цифри.';
  elseif ($pw !== $pw2)                               $err = 'Паролі не збігаються.';
  elseif ($email !== '' && !filter_var($email, FILTER_VALIDATE_EMAIL)) $err = 'Некоректний email.';
  else {
    try {
      $chk = db()->prepare("SELECT 1 FROM accounts WHERE login=?");
      $chk->execute([$login]);
      if ($chk->fetchColumn()) {
        $err = 'Такий логін уже зайнятий.';
      } else {
        $ins = db()->prepare("INSERT INTO accounts (login,password,accessLevel,ban_expire,allow_ip,l2email) VALUES (?,?,0,0,'',?)");
        $ins->execute([$login, l2hash($pw), ($email ?: null)]);
        $_SESSION['login'] = $login;
        header('Location: /cabinet'); exit;
      }
    } catch (Throwable $e) { $err = 'Помилка бази даних. Спробуйте пізніше.'; }
  }
}
head('Реєстрація'); ?>
<h1 style="color:#fff">Реєстрація</h1>
<p class="mut">Створіть ігровий акаунт. Цей самий логін і пароль ви вводите у грі.</p>
<div class="card" style="max-width:460px">
  <?php if ($err): ?><div class="msg bad"><?= e($err) ?></div><?php endif; ?>
  <form method="post" autocomplete="off">
    <label>Логін (4–16, лат./цифри)</label>
    <input name="login" value="<?= e($_POST['login'] ?? '') ?>" required>
    <label>Пароль (4–16, лат./цифри)</label>
    <input type="password" name="password" required>
    <label>Повторіть пароль</label>
    <input type="password" name="password2" required>
    <label>Email (необов'язково, для відновлення)</label>
    <input type="email" name="email" value="<?= e($_POST['email'] ?? '') ?>">
    <div style="margin-top:18px"><button class="btn" type="submit">Створити акаунт</button></div>
  </form>
</div>
<p class="mut">Уже маєте акаунт? <a href="/cabinet">Увійти</a></p>
<?php foot(); ?>
