diff --git a/files/assets/js/award_modal.js b/files/assets/js/award_modal.js
index d0eca0a48..7cf2ceff2 100644
--- a/files/assets/js/award_modal.js
+++ b/files/assets/js/award_modal.js
@@ -1,79 +1,3 @@
-function vote(type, id, dir) {
- var upvote = document.getElementById(type + '-' + id + '-up');
- var downvote = document.getElementById(type + '-' + id + '-down');
- var scoretext = document.getElementById(type + '-score-' + id);
-
- var score = Number(scoretext.textContent);
-
- if (dir == "1") {
- if (upvote.classList.contains('active')) {
- upvote.classList.remove('active')
- scoretext.textContent = score - 1
- votedirection = "0"
- } else if (downvote.classList.contains('active')) {
- upvote.classList.add('active')
- downvote.classList.remove('active')
- scoretext.textContent = score + 2
- votedirection = "1"
- } else {
- upvote.classList.add('active')
- scoretext.textContent = score + 1
- votedirection = "1"
- }
-
- if (upvote.classList.contains('active')) {
- scoretext.classList.add('score-up')
- scoretext.classList.remove('score-down')
- scoretext.classList.remove('score')
- } else if (downvote.classList.contains('active')) {
- scoretext.classList.add('score-down')
- scoretext.classList.remove('score-up')
- scoretext.classList.remove('score')
- } else {
- scoretext.classList.add('score')
- scoretext.classList.remove('score-up')
- scoretext.classList.remove('score-down')
- }
- }
- else {
- if (downvote.classList.contains('active')) {
- downvote.classList.remove('active')
- scoretext.textContent = score + 1
- votedirection = "0"
- } else if (upvote.classList.contains('active')) {
- downvote.classList.add('active')
- upvote.classList.remove('active')
- scoretext.textContent = score - 2
- votedirection = "-1"
- } else {
- downvote.classList.add('active')
- scoretext.textContent = score - 1
- votedirection = "-1"
- }
-
- if (upvote.classList.contains('active')) {
- scoretext.classList.add('score-up')
- scoretext.classList.remove('score-down')
- scoretext.classList.remove('score')
- } else if (downvote.classList.contains('active')) {
- scoretext.classList.add('score-down')
- scoretext.classList.remove('score-up')
- scoretext.classList.remove('score')
- } else {
- scoretext.classList.add('score')
- scoretext.classList.remove('score-up')
- scoretext.classList.remove('score-down')
- }
- }
-
- var xhr = new XMLHttpRequest();
- xhr.open("POST", "/vote/" + type.replace('-mobile','') + "/" + id + "/" + votedirection, true);
- var form = new FormData()
- form.append("formkey", formkey());
- xhr.withCredentials=true;
- xhr.send(form);
-}
-
function awardModal(link) {
var target = document.getElementById("awardTarget");
target.action = link;
diff --git a/files/classes/user.py b/files/classes/user.py
index 08dafb8db..79031f88a 100644
--- a/files/classes/user.py
+++ b/files/classes/user.py
@@ -15,7 +15,7 @@ from .clients import *
from files.__main__ import Base, cache
from files.helpers.security import *
import random
-from os import environ
+from os import environ, remove
site = environ.get("DOMAIN").strip()
site_name = environ.get("SITE_NAME").strip()
@@ -472,6 +472,10 @@ class User(Base):
ban_time = int(time.time()) + (days * 86400)
self.unban_utc = ban_time
else:
+ if self.highres and '/images/' in self.highres: remove('/images/' + self.highres.split('/images/')[1])
+ if self.profileurl and '/images/' in self.profileurl: remove('/images/' + self.profileurl.split('/images/')[1])
+ if self.bannerurl and '/images/' in self.bannerurl: remove('/images/' + self.bannerurl.split('/images/')[1])
+
self.bannerurl = None
self.profileurl = None
if self.discord_id: remove_user(self)
diff --git a/files/routes/front.py b/files/routes/front.py
index 93fb90588..21bbf555f 100644
--- a/files/routes/front.py
+++ b/files/routes/front.py
@@ -156,9 +156,11 @@ def front_all(v):
if v.agendaposter_expires_utc and v.agendaposter_expires_utc < time.time():
v.agendaposter_expires_utc = 0
- v.agendaposter = False
+ v.agendaposter = None
send_notification(v.id, "Your agendaposter theme has expired!")
g.db.add(v)
+ badge = v.has_badge(26)
+ if badge: g.db.delete(badge)
g.db.commit()
if v.flairchanged and v.flairchanged < time.time():
diff --git a/files/routes/settings.py b/files/routes/settings.py
index 9244820a1..0401c2108 100644
--- a/files/routes/settings.py
+++ b/files/routes/settings.py
@@ -761,6 +761,10 @@ def settings_images_banner(v):
@auth_required
@validate_formkey
def settings_delete_profile(v):
+
+ if v.highres and '/images/' in v.highres: os.remove('/images/' + v.highres.split('/images/')[1])
+ if v.profileurl and '/images/' in v.profileurl: os.remove('/images/' + v.profileurl.split('/images/')[1])
+
v.highres = None
v.profileurl = None
g.db.add(v)
@@ -774,12 +778,13 @@ def settings_delete_profile(v):
@validate_formkey
def settings_delete_banner(v):
- v.bannerurl = None
- g.db.add(v)
- g.db.commit()
+ if v.bannerurl:
+ if '/images/' in v.bannerurl: os.remove('/images/' + v.bannerurl.split('/images/')[1])
+ v.bannerurl = None
+ g.db.add(v)
+ g.db.commit()
- return render_template("settings_profile.html", v=v,
- msg="Banner successfully removed.")
+ return render_template("settings_profile.html", v=v, msg="Banner successfully removed.")
@app.get("/settings/blocks")
diff --git a/files/templates/award_modal.html b/files/templates/award_modal.html
index a75cd5291..ea77077ab 100644
--- a/files/templates/award_modal.html
+++ b/files/templates/award_modal.html
@@ -36,7 +36,7 @@
-
+