bin2hex(random_bytes(16))]); if (processForm()) { if ($_SESSION['type'] !== 'testing') output(403, 'Approbation impossible : votre compte est déjà approuvé.'); if (isset(query('select', 'approval-keys', ['key' => $_POST['key']], 'key')[0]) !== true) output(403, 'Approbation impossible : cette clé d\'approbation n\'est pas disponible. Elle a été mal saisie, a expiré ou a déjà été utilisée pour un autre compte.'); query('delete', 'approval-keys', ['key' => $_POST['key']]); $stmt = DB->prepare('UPDATE users SET type = "approved" WHERE id = :id'); $stmt->bindValue(':id', $_SESSION['id']); $stmt->execute(); $_SESSION['type'] = 'approved'; insert('approval-keys', ['key' => bin2hex(random_bytes(16))]); output(200, 'Compte approuvé.'); } ?>

Ce formulaire permet d'utiliser une clé d'approbation pour valider son compte. Une clé d'approbation est distribuée par l'administrataire sur demande.