<?php
session_start();
require_once 'config.php';
require_once 'functions.php';

$msg = ''; $error = ''; $sent = false;

if ($_SERVER['REQUEST_METHOD']==='POST' && isset($_POST['send_reset'])) {
    $email = trim(strtolower($_POST['email'] ?? ''));
    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
        $error = "Adresse courriel invalide.";
    } else {
        $stmt = $pdo->prepare("SELECT id, username FROM users WHERE email=? LIMIT 1");
        $stmt->execute([$email]);
        $user = $stmt->fetch();
        // Toujours afficher le même message (sécurité)
        $sent = true;
        if ($user) {
            $token = bin2hex(random_bytes(32));
            $expiry = date('Y-m-d H:i:s', strtotime('+1 hour'));
            try { $pdo->exec("CREATE TABLE IF NOT EXISTS password_resets (
                id INT AUTO_INCREMENT PRIMARY KEY,
                user_id INT NOT NULL,
                token VARCHAR(64) NOT NULL,
                expires_at DATETIME NOT NULL,
                used TINYINT(1) DEFAULT 0,
                created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
                UNIQUE KEY uniq_token (token)
            )"); } catch(Exception $e){}
            $pdo->prepare("DELETE FROM password_resets WHERE user_id=?")->execute([$user['id']]);
            $pdo->prepare("INSERT INTO password_resets (user_id,token,expires_at) VALUES (?,?,?)")->execute([$user['id'],$token,$expiry]);

            $resetUrl = "https://jetegageque.com/jetegageque/reset_password.php?token=$token";
            $subject  = "Réinitialisation de mot de passe — JeTeGageQue";
            $body  = '<!DOCTYPE html><html><head><meta charset="UTF-8"></head>';
            $body .= '<body style="margin:0;background:#050510;font-family:Arial,sans-serif;">';
            $body .= '<div style="max-width:520px;margin:0 auto;background:#0d0d1a;border:1px solid #1a1a3a;border-radius:8px;overflow:hidden;">';
            $body .= '<div style="background:#050520;padding:14px 20px;border-bottom:2px solid #0dcaf0;text-align:center;">';
            $body .= '<div style="font-size:20px;font-weight:900;color:#0dcaf0;letter-spacing:3px;">JETEGAGEQUE</div></div>';
            $body .= '<div style="padding:24px;">';
            $body .= '<h2 style="color:#ffc107;font-size:16px;margin:0 0 12px;">Réinitialisation de mot de passe</h2>';
            $body .= '<p style="color:#ddd;font-size:14px;">Bonjour <strong>'.htmlspecialchars($user['username']).'</strong>,</p>';
            $body .= '<p style="color:#ddd;font-size:14px;">Cliquez le bouton ci-dessous pour choisir un nouveau mot de passe. Ce lien expire dans <strong>1 heure</strong>.</p>';
            $body .= '<div style="text-align:center;margin:20px 0;">';
            $body .= '<a href="'.$resetUrl.'" style="background:#0dcaf0;color:#000;padding:12px 28px;border-radius:6px;text-decoration:none;font-weight:700;font-size:14px;">Réinitialiser mon mot de passe</a></div>';
            $body .= '<p style="color:#666;font-size:12px;">Si vous n\'avez pas fait cette demande, ignorez ce courriel.</p>';
            $body .= '</div>';
            $body .= '<div style="padding:12px 20px;background:#060610;font-size:10px;color:#555;">JeTeGageQue &mdash; Ne pas répondre.</div>';
            $body .= '</div></body></html>';
            $headers = "MIME-Version: 1.0\r\nContent-Type: text/html; charset=UTF-8\r\nFrom: JeTeGageQue <noreply@jetegageque.com>\r\n";
            @mail($email, '=?UTF-8?B?'.base64_encode($subject).'?=', $body, $headers);
        }
    }
}

include 'header.php';
?>
<div class="container" style="max-width:440px;margin:60px auto;">
    <div class="card bg-dark border-info shadow">
        <div class="card-header py-2 text-info fw-bold" style="background:#050520;letter-spacing:1px;font-size:0.8rem;">
            <i class="fa-solid fa-lock-open me-2"></i>MOT DE PASSE OUBLIÉ
        </div>
        <div class="card-body p-4">
            <?php if ($sent): ?>
            <div class="alert alert-success py-2 small">
                <i class="fa-solid fa-circle-check me-1"></i>
                Si un compte existe avec cette adresse, un lien de réinitialisation a été envoyé. Vérifiez vos courriels (et vos indésirables).
            </div>
            <div class="text-center mt-3">
                <a href="index.php" class="btn btn-outline-info btn-sm">Retour à la connexion</a>
            </div>
            <?php else: ?>
            <?php if ($error): ?><div class="alert alert-danger py-2 small"><?= htmlspecialchars($error) ?></div><?php endif; ?>
            <p class="text-muted small mb-3">Entrez votre adresse courriel et nous vous enverrons un lien pour réinitialiser votre mot de passe.</p>
            <form method="POST">
                <div class="mb-3">
                    <label class="small fw-bold text-muted mb-1" style="font-size:0.65rem;">ADRESSE COURRIEL</label>
                    <input type="email" name="email" class="form-control bg-dark text-white border-secondary"
                           placeholder="vous@exemple.com" required autofocus>
                </div>
                <button type="submit" name="send_reset" class="btn btn-info w-100 fw-bold">
                    <i class="fa-solid fa-paper-plane me-1"></i>Envoyer le lien
                </button>
            </form>
            <div class="text-center mt-3">
                <a href="index.php" class="text-muted small">Retour à la connexion</a>
            </div>
            <?php endif; ?>
        </div>
    </div>
</div>
<?php include 'footer.php'; ?>
