diff --git a/files/classes/user.py b/files/classes/user.py index 08dafb8dbc..79031f88a1 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 93fb90588b..21bbf555f4 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 9244820a1c..0401c2108e 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 a75cd5291f..ea77077ab3 100644 --- a/files/templates/award_modal.html +++ b/files/templates/award_modal.html @@ -36,7 +36,7 @@ - +