From fcda68cf07a9113c9d03f58f821549fc13b63be3 Mon Sep 17 00:00:00 2001 From: Flatlogic Bot Date: Tue, 17 Feb 2026 23:44:38 +0000 Subject: [PATCH] Autosave: 20260217-234438 --- assets/pasted-20260217-232157-017555a6.png | Bin 0 -> 26097 bytes assets/pasted-20260217-232953-088c1965.png | Bin 0 -> 27610 bytes auth/register.php | 71 ++++++++++++++++----- db/config.php | 3 + requests.log | 14 ++++ 5 files changed, 73 insertions(+), 15 deletions(-) create mode 100644 assets/pasted-20260217-232157-017555a6.png create mode 100644 assets/pasted-20260217-232953-088c1965.png diff --git a/assets/pasted-20260217-232157-017555a6.png b/assets/pasted-20260217-232157-017555a6.png new file mode 100644 index 0000000000000000000000000000000000000000..7489531b8612e6f1aa0098b1124a4fd0a1ac7b44 GIT binary patch literal 26097 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 literal 0 HcmV?d00001 diff --git a/auth/register.php b/auth/register.php index c0ba2b4..2feab09 100644 --- a/auth/register.php +++ b/auth/register.php @@ -1,4 +1,7 @@ prepare("INSERT INTO users (username, display_name, email, password_hash) VALUES (?, ?, ?, ?)"); - $stmt->execute([$username, $username, $email, $hash]); - $userId = db()->lastInsertId(); - - // Add to default server - $stmt = db()->prepare("INSERT IGNORE INTO server_members (server_id, user_id) VALUES (1, ?)"); - $stmt->execute([$userId]); + // Strict invite code validation (Private by default) + $requireInvite = true; + if (defined('REQUIRE_INVITE_CODE')) { + $requireInvite = REQUIRE_INVITE_CODE; + } - $_SESSION['user_id'] = $userId; - header('Location: ../index.php'); - exit; - } catch (Exception $e) { - $error = "Registration failed: " . $e->getMessage(); + if ($requireInvite) { + if (empty($inviteCode)) { + $error = "An invitation code is required to register."; + } else { + $stmt = db()->prepare("SELECT id FROM servers WHERE invite_code = ?"); + $stmt->execute([$inviteCode]); + $server = $stmt->fetch(); + if (!$server) { + $error = "Invalid invitation code."; + } + } + } + + if (!$error) { + $hash = password_hash($password, PASSWORD_DEFAULT); + try { + $stmt = db()->prepare("INSERT INTO users (username, display_name, email, password_hash) VALUES (?, ?, ?, ?)"); + $stmt->execute([$username, $username, $email, $hash]); + $userId = db()->lastInsertId(); + + // Add to default server or the one from invite code + $serverId = 1; // Default + if (isset($server) && $server) { + $serverId = $server['id']; + } + + $stmt = db()->prepare("INSERT IGNORE INTO server_members (server_id, user_id) VALUES (?, ?)"); + $stmt->execute([$serverId, $userId]); + + $_SESSION['user_id'] = $userId; + header('Location: ../index.php'); + exit; + } catch (Exception $e) { + $error = "Registration failed: " . $e->getMessage(); + } } } else { $error = "Please fill all fields."; @@ -48,13 +78,20 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { .auth-footer a { color: #00a8fc; text-decoration: none; } - +

TEST: IF YOU SEE THIS, THE PAGE IS UPDATED

Create an account

+ +
+ +
This application is private. Please enter your code.
+ +
+
@@ -67,7 +104,11 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
+ + + +
Version:
diff --git a/db/config.php b/db/config.php index 3876e87..10fb166 100644 --- a/db/config.php +++ b/db/config.php @@ -5,6 +5,9 @@ define('DB_NAME', 'app_38443'); define('DB_USER', 'app_38443'); define('DB_PASS', '888f6481-a87b-421a-a4bd-c80fa3c5a57b'); +// Registration settings +define('REQUIRE_INVITE_CODE', true); // Set to true to make registration private, false for public + function db() { static $pdo; if (!$pdo) { diff --git a/requests.log b/requests.log index c5c7cb6..962edd6 100644 --- a/requests.log +++ b/requests.log @@ -647,3 +647,17 @@ 2026-02-17 19:20:01 - GET /?fl_project=38527 - POST: [] 2026-02-17 20:01:09 - GET / - POST: [] 2026-02-17 20:15:23 - GET /?fl_project=38527 - POST: [] +2026-02-17 20:53:22 - GET / - POST: [] +2026-02-17 23:02:47 - GET /?fl_project=38527 - POST: [] +2026-02-17 23:06:00 - GET /?fl_project=38527 - POST: [] +2026-02-17 23:09:01 - GET /?fl_project=38527 - POST: [] +2026-02-17 23:13:51 - GET /?fl_project=38527 - POST: [] +2026-02-17 23:16:33 - GET /?fl_project=38527 - POST: [] +2026-02-17 23:21:30 - GET /?fl_project=38527 - POST: [] +2026-02-17 23:23:30 - GET /?fl_project=38527 - POST: [] +2026-02-17 23:26:01 - GET /?fl_project=38527 - POST: [] +2026-02-17 23:27:10 - GET /?fl_project=38527 - POST: [] +2026-02-17 23:30:39 - GET /?fl_project=38527 - POST: [] +2026-02-17 23:34:19 - GET /?fl_project=38527 - POST: [] +2026-02-17 23:43:17 - GET /?fl_project=38527 - POST: [] +2026-02-17 23:44:16 - GET /?fl_project=38527 - POST: []