forked from rDrama/rDrama
gfd
parent
8ba5f07bb6
commit
630996faee
|
@ -3,6 +3,7 @@ from .alerts import *
|
||||||
from files.helpers.const import *
|
from files.helpers.const import *
|
||||||
from files.__main__ import db_session
|
from files.__main__ import db_session
|
||||||
from random import randint
|
from random import randint
|
||||||
|
import user_agents
|
||||||
|
|
||||||
def get_logged_in_user():
|
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"]]
|
if session["session_id"] in loggedout: del loggedout[session["session_id"]]
|
||||||
loggedin[v.id] = timestamp
|
loggedin[v.id] = timestamp
|
||||||
else:
|
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])
|
g.loggedin_counter = len([x for x in loggedin.values() if timestamp-x<15*60])
|
||||||
cache.set(f'{SITE}_loggedin', loggedin)
|
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)
|
cache.set(f'{SITE}_loggedout', loggedout)
|
||||||
|
|
||||||
g.v = v
|
g.v = v
|
||||||
|
|
|
@ -28,10 +28,14 @@ month = datetime.now().strftime('%B')
|
||||||
@admin_level_required(2)
|
@admin_level_required(2)
|
||||||
def loggedin_list(v):
|
def loggedin_list(v):
|
||||||
ids = [x for x,val in cache.get(f'{SITE}_loggedin').items() if time.time()-val<15*60]
|
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)) \
|
users = g.db.query(User).filter(User.id.in_(ids)).order_by(User.admin_level.desc(), User.truecoins.desc()).all()
|
||||||
.order_by(User.admin_level.desc(), User.truecoins.desc()).all()
|
|
||||||
return render_template("loggedin.html", v=v, users=users)
|
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/<id1>/<id2>')
|
@app.get('/admin/merge/<id1>/<id2>')
|
||||||
@admin_level_required(3)
|
@admin_level_required(3)
|
||||||
|
@ -940,9 +944,6 @@ def admin_removed(v):
|
||||||
@admin_level_required(2)
|
@admin_level_required(2)
|
||||||
def admin_removed_comments(v):
|
def admin_removed_comments(v):
|
||||||
|
|
||||||
|
|
||||||
print(request.headers, flush=true)
|
|
||||||
|
|
||||||
try: page = int(request.values.get("page", 1))
|
try: page = int(request.values.get("page", 1))
|
||||||
except: page = 1
|
except: page = 1
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
{% extends "settings2.html" %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<div class="overflow-x-auto"><table class="table table-striped mb-5">
|
||||||
|
<thead class="bg-primary text-white">
|
||||||
|
<tr>
|
||||||
|
<th>#</th>
|
||||||
|
<th>Details</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
{% for user in users %}
|
||||||
|
<tr>
|
||||||
|
<td>{{loop.index}}</td>
|
||||||
|
<td>{{user}}</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</table>
|
||||||
|
|
||||||
|
{% endblock %}
|
Loading…
Reference in New Issue