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 @@ - +