aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--index.js36
-rw-r--r--public/img/bnbso-logo.pngbin0 -> 27658 bytes
-rw-r--r--public/img/logo.pngbin27658 -> 24941 bytes
-rw-r--r--status.json3
-rw-r--r--views/dashboard.ejs4
-rw-r--r--views/error-login.ejs2
-rw-r--r--views/error.ejs2
-rw-r--r--views/index.ejs4
-rw-r--r--views/password.ejs5
-rw-r--r--views/register.ejs2
-rw-r--r--views/success.ejs2
11 files changed, 29 insertions, 31 deletions
diff --git a/index.js b/index.js
index 33bc597..6840018 100644
--- a/index.js
+++ b/index.js
@@ -76,19 +76,19 @@ app.get("/", async (req, res) => {
db.get(`SELECT * FROM users WHERE discord_id = ?`, [id], (err, row) => {
if (err) {
console.error("Error querying the database:", err);
- return res.render('error', { error: 'An error occurred while checking user data.' });
+ return res.render('error', { serverName: process.env.SERVER_NAME || 'FreeSO', error: 'An error occurred while checking user data.' });
}
if (row) {
- return res.render('dashboard', { ...req.user, fso_username: row.fso_username, serverName: process.env.SERVER_NAME || 'FreeSO' });
+ return res.render('dashboard', { ...req.user, serverName: process.env.SERVER_NAME || 'FreeSO', fso_username: row.fso_username, client_download: process.env.CLIENT_DOWNLOAD || 'https://fso-builds.riperiperi.workers.dev' });
} else {
- return res.render('register', req.user);
+ return res.render('register', { ...req.user, serverName: process.env.SERVER_NAME || 'FreeSO' } );
}
});
} else {
- return res.render('error-login', { error: 'You must be a member of that server to access this page.' }); }
+ return res.render('error-login', { serverName: process.env.SERVER_NAME || 'FreeSO', error: 'You must be a member of that server to access this page.' }); }
} else {
- res.render('index', { serverName: process.env.SERVER_NAME || 'FreeSO', discordName: process.env.DISCORD_NAME || 'Discord' });
+ res.render('index', { serverName: process.env.SERVER_NAME || 'FreeSO', logo: process.env.LOGO || '/img/logo.png' , discordName: process.env.DISCORD_NAME || 'Discord' });
}
});
@@ -98,7 +98,7 @@ app.post("/register", upload.none(), async (req, res) => {
const { username, password, passwordconfirm } = req.body;
if (password !== passwordconfirm) {
- return res.render('register', { ...req.user, error: "Passwords do not match" });
+ return res.render('register', { ...req.user, serverName: process.env.SERVER_NAME || 'FreeSO', error: "Passwords do not match" });
}
try {
@@ -115,19 +115,19 @@ app.post("/register", upload.none(), async (req, res) => {
if (response.data.error) {
const errorKey = response.data.error_description || "default";
const errorMessage = statusMessages.registration_errors[errorKey] || "Something went wrong";
- return res.render('register', { ...req.user, error: errorMessage });
+ return res.render('register', { ...req.user, serverName: process.env.SERVER_NAME || 'FreeSO', error: errorMessage });
} else {
db.run(`INSERT INTO users (discord_id, fso_username) VALUES (?, ?)`, [id, username], function(err) {
if (err) {
console.error("Error inserting user data into database:", err);
- return res.render('register', { ...req.user, error: "An error occurred during registration, contact server operator." });
+ return res.render('register', { ...req.user, serverName: process.env.SERVER_NAME || 'FreeSO', error: "An error occurred during registration, contact server operator." });
}
- return res.render('success', { ...req.user, success: "Created account successfully!"});
+ return res.render('success', { ...req.user, serverName: process.env.SERVER_NAME || 'FreeSO', success: "Created account successfully!"});
});
}
} catch (error) {
console.error("Error during registration:", error);
- return res.render('register', { ...req.user, error: "An error occurred during registration, contact server operator." });
+ return res.render('register', { ...req.user, serverName: process.env.SERVER_NAME || 'FreeSO' ,error: "An error occurred during registration, contact server operator." });
}
} else {
res.status(401).send("Unauthorized.");
@@ -136,7 +136,7 @@ app.post("/register", upload.none(), async (req, res) => {
app.get('/password', (req, res) => {
if (req.isAuthenticated()) {
- res.render('password');
+ res.render('password', { serverName: process.env.SERVER_NAME || 'FreeSO' });
} else {
res.redirect("/login");
}
@@ -145,24 +145,24 @@ app.get('/password', (req, res) => {
app.post('/password/change', upload.none(), async (req, res) => {
if (req.isAuthenticated()) {
const { id } = req.user;
- const { currentpassword, newpassword, newpassword2 } = req.body;
+ const { newpassword, newpassword2 } = req.body;
if (newpassword !== newpassword2) {
- return res.render('password', { ...req.user, error: "Passwords do not match" });
+ return res.render('password', { ...req.user, serverName: process.env.SERVER_NAME || 'FreeSO', error: "Passwords do not match" });
}
try {
db.get(`SELECT * FROM users WHERE discord_id = ?`, [id], async (err, row) => {
if (err) {
console.error("Error querying the database:", err);
- return res.render('password', {...req.user, error: "An error occurred while checking user data."});
+ return res.render('password', {...req.user, serverName: process.env.SERVER_NAME || 'FreeSO', error: "An error occurred while checking user data."});
}
if (row) {
const form = new FormData();
form.append('username', row.fso_username);
- form.append('old_password', currentpassword);
form.append('new_password', newpassword);
+ form.append('key', process.env.REG_KEY);
const response = await axios.post(`${process.env.API_URL}/userapi/password`, form, {
headers: form.getHeaders()
@@ -172,15 +172,15 @@ app.post('/password/change', upload.none(), async (req, res) => {
const errorKey = response.data.error_description || "default";
const errorMessage = statusMessages.password_reset_errors[errorKey] || "Something went wrong";
- return res.render('password', { ...req.user, error: errorMessage });
+ return res.render('password', { ...req.user, serverName: process.env.SERVER_NAME || 'FreeSO', error: errorMessage });
} else {
- return res.render('success', { ...req.user, success: "Password changed successfully!" });
+ return res.render('success', { ...req.user, serverName: process.env.SERVER_NAME || 'FreeSO', success: "Password changed successfully!" });
}
}
});
} catch (error) {
console.error("Error during password change:", error);
- return res.render('password', { ...req.user, error: "An error occurred during password change, contact server operator." });
+ return res.render('password', { ...req.user, serverName: process.env.SERVER_NAME || 'FreeSO', error: "An error occurred during password change, contact server operator." });
}
} else {
res.status(401).send("Unauthorized.");
diff --git a/public/img/bnbso-logo.png b/public/img/bnbso-logo.png
new file mode 100644
index 0000000..b98c6ed
--- /dev/null
+++ b/public/img/bnbso-logo.png
Binary files differ
diff --git a/public/img/logo.png b/public/img/logo.png
index b98c6ed..3988f43 100644
--- a/public/img/logo.png
+++ b/public/img/logo.png
Binary files differ
diff --git a/status.json b/status.json
index 076dd3a..e22aff5 100644
--- a/status.json
+++ b/status.json
@@ -19,7 +19,8 @@
"email_invalid": "Invalid email address.",
"user_invalid": "User does not exist.",
"incorrect_password": "Incorrect password.",
- "invalid_token": "Invalid confirmation token."
+ "invalid_token": "Invalid confirmation token.",
+ "key_invalid": "Invalid key."
},
"success_responses": {
"success": "Operation was successful.",
diff --git a/views/dashboard.ejs b/views/dashboard.ejs
index e63c458..a2d1914 100644
--- a/views/dashboard.ejs
+++ b/views/dashboard.ejs
@@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/css/style.css">
- <title>bnbSO Dashboard</title>
+ <title><%= serverName %> Dashboard</title>
</head>
<body>
<div class="background"></div>
@@ -13,7 +13,7 @@
<h2><%= serverName %> Username: <%= fso_username %></h2>
<h2 id="simtime"></h2>
<a href="/password" class="button">Change Password</a>
- <a href="https://fso-builds.riperiperi.workers.dev" class="button">Download <%= serverName %> Client</a>
+ <a href=<%= client_download %> class="button">Download <%= serverName %> Client</a>
<a href="/logout" class="button logout">Logout</a>
</div>
<script>
diff --git a/views/error-login.ejs b/views/error-login.ejs
index abd3763..e8fc138 100644
--- a/views/error-login.ejs
+++ b/views/error-login.ejs
@@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/css/style.css">
- <title>bnbAIM</title>
+ <title><%= serverName %> Error</title>
</head>
<body>
<div class="background"></div>
diff --git a/views/error.ejs b/views/error.ejs
index c128277..44a94de 100644
--- a/views/error.ejs
+++ b/views/error.ejs
@@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/css/style.css">
- <title>bnbSO</title>
+ <title><%= serverName %> Error</title>
</head>
<body>
<div class="background"></div>
diff --git a/views/index.ejs b/views/index.ejs
index 736d56d..bb15326 100644
--- a/views/index.ejs
+++ b/views/index.ejs
@@ -4,12 +4,12 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/css/style.css">
- <title>bnbSO</title>
+ <title><%= serverName %></title>
</head>
<body>
<div class="background"></div>
<div class="container">
- <img src="/img/logo.png" alt="logo" width="200">
+ <img src=<%= logo %> alt="logo" width="200">
<p>Log into your Discord account to get access to <%= serverName %>.</p>
<p><i>You must be a <%= discordName %> member.</i></p>
<a class="button discord" href="/login">Login with Discord</a>
diff --git a/views/password.ejs b/views/password.ejs
index 29f399a..9af672f 100644
--- a/views/password.ejs
+++ b/views/password.ejs
@@ -4,16 +4,13 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/css/style.css">
- <title>bnbSO Change Password</title>
+ <title><%= serverName %> Change Password</title>
</head>
<body>
<div class="background"></div>
<div class="container">
<h1>Change Password</h1>
- <p>If you have issues changing your password, ask the server operator to reset your password.</p>
<form method="post" action="/password/change">
- <label for="currentpassword">Current Password:</label>
- <input type="password" id="currentpassword" name="currentpassword">
<label for="newpassword">New Password:</label>
<input type="password" id="newpassword" name="newpassword">
<label for="newpassword2">Confirm New Password:</label>
diff --git a/views/register.ejs b/views/register.ejs
index 382214d..8d45e62 100644
--- a/views/register.ejs
+++ b/views/register.ejs
@@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/css/style.css">
- <title>bnbSO Register</title>
+ <title><%= serverName %> Register</title>
</head>
<body>
<div class="background"></div>
diff --git a/views/success.ejs b/views/success.ejs
index 4824e19..627eb4f 100644
--- a/views/success.ejs
+++ b/views/success.ejs
@@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/css/style.css">
- <title>bnbSO</title>
+ <title><%= serverName %></title>
</head>
<body>
<div class="background"></div>