<?php
require __DIR__.'/auth.php';
if(isLoggedIn()){ header('Location: /profile'); exit; }
$err = '';
if($_SERVER['REQUEST_METHOD']==='POST'){
  $email = trim($_POST['email']??'');
  $name = trim($_POST['display_name']??'');
  $pass = $_POST['password']??'';
  $remember = !empty($_POST['remember']);
  if(!filter_var($email,FILTER_VALIDATE_EMAIL) || $name==='' || strlen($pass)<8){
    $err = 'Bitte gültige Daten eingeben (Passwort min. 8 Zeichen).';
  } else {
    $stmt = $mysqli->prepare('SELECT id FROM users WHERE email=? LIMIT 1');
    $stmt->bind_param('s',$email);
    $stmt->execute();
    if($stmt->get_result()->fetch_assoc()){
      $err = 'E-Mail bereits registriert.';
    } else {
      $hash = password_hash($pass,PASSWORD_DEFAULT);
      $stmt2 = $mysqli->prepare('INSERT INTO users (email,display_name,password_hash) VALUES (?,?,?)');
      $stmt2->bind_param('sss',$email,$name,$hash);
      if($stmt2->execute()){
        $uid = $stmt2->insert_id;
        session_regenerate_id(true);
        $_SESSION['user_id']=$uid;
        $_SESSION['email']=$email;
        $_SESSION['display_name']=$name;
        if($remember){
          $token = bin2hex(random_bytes(32));
          $rhash = hash_hmac('sha256',$token,app_secret());
          $exp = (new DateTime('+30 days'))->format('Y-m-d H:i:s');
          $stmt3 = $mysqli->prepare('UPDATE users SET remember_token_hash=?, remember_token_expires=? WHERE id=?');
          $stmt3->bind_param('ssi',$rhash,$exp,$uid);
          $stmt3->execute();
          setcookie('remember',$uid.'|'.$token,[
            'expires'=>time()+60*60*24*30,
            'path'=>'/',
            'secure'=>true,
            'httponly'=>true,
            'samesite'=>'Lax'
          ]);
        }
        header('Location: /profile');
        exit;
      } else {
        $err = 'Registrierung fehlgeschlagen.';
      }
    }
  }
}
?>
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>Registrieren – TribeVibe Events</title>
<link href="templatemo-nexus-style.css" rel="stylesheet">
<link href="assets/custom.css" rel="stylesheet">
<style>
.cookie-banner{position:fixed;left:0;right:0;bottom:0;background:#111;color:#fff;padding:1rem;display:flex;gap:1rem;justify-content:space-between;align-items:center;z-index:9999}
.cookie-banner p{margin:0;font-size:.95rem}
.cookie-accept{background:#00ffc6;border:0;padding:.6rem 1rem;cursor:pointer;border-radius:.4rem;font-weight:600}
</style>
</head>
<body>
<nav>
  <div class="nav-container">
    <a href="/" class="logo">TribeVibe</a>
    <ul class="nav-links">
      <li><a href="/">HOME</a></li>
      <li><a href="/events">EVENTS</a></li>
      <li><a href="/music">MUSIK</a></li>
      <li><a href="/contact">KONTAKT</a></li>
    </ul>
    <div class="nav-bottom"><a href="/login" class="cyber-button">Login</a></div>
    <button class="mobile-menu-button" id="mobileMenuBtn"><div class="hamburger"><span></span><span></span><span></span></div></button>
  </div>
</nav>
<section class="page-hero"><h1>Registrieren</h1></section>
<section class="section">
  <div class="container">
    <div class="grid">
      <div class="card">
        <h3>Account erstellen</h3>
        <?php if($err): ?><div class="notice"><?php echo htmlspecialchars($err,ENT_QUOTES,'UTF-8'); ?></div><?php endif; ?>
        <form method="post" action="/register">
          <input class="input" type="text" name="display_name" placeholder="Dein Name" required>
          <input class="input" type="email" name="email" placeholder="zentex@gmail.com" required>
          <input class="input" type="password" name="password" placeholder="Passwort (min. 8 Zeichen)" required minlength="8">
          <label style="display:flex;align-items:center;gap:.5rem;margin:.6rem 0"><input type="checkbox" name="remember" value="1"> Eingeloggt bleiben</label>
          <button class="btn" type="submit">Registrieren</button>
          <div class="notice" style="margin-top:.8rem"><a href="/login" class="link">Schon ein Account? Zum Login</a></div>
        </form>
      </div>
    </div>
  </div>
</section>
<footer class="footer">
  <div class="footer-content">
    <div class="footer-links">
      <a href="/contact#privacy">Datenschutz</a><span class="footer-separator">•</span>
      <a href="/contact#impressum">Impressum</a>
    </div>
    <div class="footer-bottom"><p>© 2025 TribeVibe Events</p></div>
  </div>
</footer>
<div id="cookieBanner" class="cookie-banner" style="display:none">
  <p>Wir verwenden Cookies, um dein Erlebnis zu verbessern.</p>
  <button id="cookieAccept" class="cookie-accept">Zustimmen</button>
</div>
<script>
(function(){
  function getCookie(n){return document.cookie.split('; ').find(r=>r.startsWith(n+'='))?.split('=')[1]}
  function setCookie(n,v,days){var d=new Date;d.setTime(d.getTime()+days*24*60*60*1000);document.cookie=n+'='+v+';expires='+d.toUTCString()+';path=/'}
  if(!getCookie('cookie_consent')){document.getElementById('cookieBanner').style.display='flex'}
  document.getElementById('cookieAccept').addEventListener('click',function(){setCookie('cookie_consent','1',365);document.getElementById('cookieBanner').remove()})
})();
</script>
<script src="templatemo-nexus-scripts.js"></script>
<script src="assets/site.js"></script>
</body>
</html>

