<?php
require_once __DIR__.'/../app/bootstrap.php';
csrf_check();
$sent = false;
$mailOk = null;
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $email = trim($_POST['email'] ?? '');
    [$allowedIp,$rateMsgIp] = rate_limit_check($pdo,$config,'password_reset_ip',5,15*60,15*60);
    [$allowedMail,$rateMsgMail] = rate_limit_check($pdo,$config,'password_reset_email',3,60*60,60*60,$email);
    if ($allowedIp && $allowedMail && filter_var($email, FILTER_VALIDATE_EMAIL)) {
        $token = create_reset_token($pdo, $email);
        if ($token) {
            $resetLink = base_url($config).'/admin/reset-password.php?token='.$token;
            $mailOk = mailer_send_password_reset($config, $email, $resetLink);
        }
    }
    $sent = true;
}
?>
<!doctype html><html lang="de"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Passwort vergessen · KuhRator</title><link rel="stylesheet" href="../public/assets/style.css"><script nonce="<?= e(qrmanager_csp_nonce()) ?>" src="../public/assets/admin.js" defer></script></head><body><main class="login auth-screen"><section class="card formgrid auth-card"><div class="auth-brand"><span class="brand-mark">QR</span><div><p class="eyebrow">KuhRator</p><h1>Passwort vergessen?</h1></div></div><?php if($sent): ?><p class="notice ok">Falls diese E-Mail-Adresse registriert ist, wurde ein Link zum Zurücksetzen versendet.</p><?php if($mailOk === false): ?><p class="notice">Die Anfrage wurde verarbeitet. Der Mailversand konnte vom Server nicht bestätigt werden. Bitte die Mail-/SMTP-Konfiguration prüfen.</p><?php endif; ?><p><a class="btn" href="login.php">Zurück zum Login</a></p><?php else: ?><p class="muted">Gib deine E-Mail-Adresse ein. Du erhältst danach einen Link, mit dem du dein Passwort innerhalb von 1 Stunde neu setzen kannst.</p><form method="post" action="forgot-password.php" class="formgrid"><input type="hidden" name="csrf" value="<?= e(csrf_token()) ?>"><label>E-Mail-Adresse<input name="email" type="email" required autofocus autocomplete="email" placeholder="name@example.ch"></label><button class="btn">Reset-Link anfordern</button></form><p class="auth-links"><a href="login.php">Zurück zum Login</a></p><?php endif; ?></section></main></body></html>
