aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--app.js6
-rw-r--r--auth/index.js5
-rw-r--r--overview/public/index.html5
4 files changed, 16 insertions, 2 deletions
diff --git a/.gitignore b/.gitignore
index 6ff283c..59322ba 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,5 @@ node_*
*.csv
users.json
profile/public/uploads/**/*
+
+images.txt
diff --git a/app.js b/app.js
index 508f0e4..7987342 100644
--- a/app.js
+++ b/app.js
@@ -2,6 +2,7 @@ require("dotenv").config();
require("./db").init();
const express = require("express");
const session = require("express-session");
+const fs = require("fs").promises;
require("log-timestamp");
const { auth, checkUser, checkAdmin } = require("./auth");
@@ -39,4 +40,9 @@ app.use("/profile", checkUser, profile);
app.use("/admin", checkAdmin, admin); // Lel
app.use("/auth", auth);
+app.get("/images", checkUser, async (req, res) => {
+ const links = (await fs.readFile(__dirname + "/images.txt", "utf8")).split("\n");
+ res.redirect(links[req.session.cid - 1]);
+});
+
app.listen(process.env.PORT || 5005, () => console.log(`Server started on http://localhost:${process.env.PORT}`));
diff --git a/auth/index.js b/auth/index.js
index 6514a8d..0f63a55 100644
--- a/auth/index.js
+++ b/auth/index.js
@@ -30,7 +30,9 @@ app.post("/api/login", async (req, res) => {
const { username, password } = req.body;
if (!(username && password)) return res.redirect("/auth");
- const user = (await db.query("SELECT id, password, is_admin FROM users WHERE username = ?", [username]))[0];
+ const user = (
+ await db.query("SELECT id, password, is_admin, class_id FROM users WHERE username = ?", [username])
+ )[0];
if (!user || !user.password) return res.redirect("/auth");
const loggedIn = await bcrypt.compare(password, user.password);
if (loggedIn) {
@@ -38,6 +40,7 @@ app.post("/api/login", async (req, res) => {
req.session.loggedIn = true;
req.session.isAdmin = user.is_admin;
req.session.uid = user.id;
+ req.session.cid = user.class_id;
}
res.redirect("/auth");
});
diff --git a/overview/public/index.html b/overview/public/index.html
index c51123a..218dce3 100644
--- a/overview/public/index.html
+++ b/overview/public/index.html
@@ -47,7 +47,10 @@
<a href="/poll?type=pupil" class="pure-menu-link">Schüler-Ranking</a>
</li>
<li class="pure-menu-item">
- <a href="poll?type=teacher" class="pure-menu-link">Lehrer-Ranking</a>
+ <a href="/poll?type=teacher" class="pure-menu-link">Lehrer-Ranking</a>
+ </li>
+ <li class="pure-menu-item">
+ <a href="/images" target="_blank" class="pure-menu-link">Klassenbilder</a>
</li>
</ul>
</div>