From 630996faee236ea13d8259a4091edd6bc7e7f95d Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Thu, 26 May 2022 22:31:08 +0200 Subject: [PATCH] gfd --- files/helpers/wrappers.py | 6 ++++-- files/routes/admin.py | 11 ++++++----- files/templates/loggedout.html | 19 +++++++++++++++++++ 3 files changed, 29 insertions(+), 7 deletions(-) create mode 100644 files/templates/loggedout.html diff --git a/files/helpers/wrappers.py b/files/helpers/wrappers.py index f3b31015e..51be31a3f 100644 --- a/files/helpers/wrappers.py +++ b/files/helpers/wrappers.py @@ -3,6 +3,7 @@ from .alerts import * from files.helpers.const import * from files.__main__ import db_session from random import randint +import user_agents def get_logged_in_user(): @@ -53,11 +54,12 @@ def get_logged_in_user(): if session["session_id"] in loggedout: del loggedout[session["session_id"]] loggedin[v.id] = timestamp else: - loggedout[session["session_id"]] = timestamp + loggedout[session["session_id"]] = (timestamp, str(user_agents.parse(request.headers.get("User-Agent")))) g.loggedin_counter = len([x for x in loggedin.values() if timestamp-x<15*60]) cache.set(f'{SITE}_loggedin', loggedin) - g.loggedout_counter = len([x for x in loggedout.values() if timestamp-x<15*60]) + + g.loggedout_counter = len([x for x in loggedout.values() if timestamp-x[0]<15*60]) cache.set(f'{SITE}_loggedout', loggedout) g.v = v diff --git a/files/routes/admin.py b/files/routes/admin.py index 00738ec04..ab410917c 100644 --- a/files/routes/admin.py +++ b/files/routes/admin.py @@ -28,10 +28,14 @@ month = datetime.now().strftime('%B') @admin_level_required(2) def loggedin_list(v): ids = [x for x,val in cache.get(f'{SITE}_loggedin').items() if time.time()-val<15*60] - users = g.db.query(User).filter(User.id.in_(ids)) \ - .order_by(User.admin_level.desc(), User.truecoins.desc()).all() + users = g.db.query(User).filter(User.id.in_(ids)).order_by(User.admin_level.desc(), User.truecoins.desc()).all() return render_template("loggedin.html", v=v, users=users) +@app.get('/admin/loggedout') +@admin_level_required(2) +def loggedout_list(v): + users = [val[1] for x,val in cache.get(f'{SITE}_loggedout').items() if time.time()-val[0]<15*60] + return render_template("loggedout.html", v=v, users=users) @app.get('/admin/merge//') @admin_level_required(3) @@ -939,9 +943,6 @@ def admin_removed(v): @app.get("/admin/removed/comments") @admin_level_required(2) def admin_removed_comments(v): - - - print(request.headers, flush=true) try: page = int(request.values.get("page", 1)) except: page = 1 diff --git a/files/templates/loggedout.html b/files/templates/loggedout.html new file mode 100644 index 000000000..a210ef024 --- /dev/null +++ b/files/templates/loggedout.html @@ -0,0 +1,19 @@ +{% extends "settings2.html" %} + +{% block content %} +
+ + + + + + +{% for user in users %} + + + + +{% endfor %} +
#Details
{{loop.index}}{{user}}
+ +{% endblock %}