From 9f989e912ed275db1b42ad62a0564ead0c484299 Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Thu, 30 Dec 2021 07:27:22 +0200 Subject: [PATCH] dfs --- .../assets/images/{ => Drama}/banners/1.webp | Bin .../assets/images/{ => Drama}/banners/10.webp | Bin .../assets/images/{ => Drama}/banners/11.webp | Bin .../assets/images/{ => Drama}/banners/12.webp | Bin .../assets/images/{ => Drama}/banners/13.webp | Bin .../assets/images/{ => Drama}/banners/14.webp | Bin .../assets/images/{ => Drama}/banners/15.webp | Bin .../assets/images/{ => Drama}/banners/16.webp | Bin .../assets/images/{ => Drama}/banners/17.webp | Bin .../assets/images/{ => Drama}/banners/18.webp | Bin .../assets/images/{ => Drama}/banners/19.webp | Bin .../assets/images/{ => Drama}/banners/2.webp | Bin .../assets/images/{ => Drama}/banners/20.webp | Bin .../assets/images/{ => Drama}/banners/21.webp | Bin .../assets/images/{ => Drama}/banners/22.webp | Bin .../assets/images/{ => Drama}/banners/23.webp | Bin .../assets/images/{ => Drama}/banners/24.webp | Bin .../assets/images/{ => Drama}/banners/25.webp | Bin .../assets/images/{ => Drama}/banners/26.webp | Bin .../assets/images/{ => Drama}/banners/27.webp | Bin .../assets/images/{ => Drama}/banners/28.webp | Bin .../assets/images/{ => Drama}/banners/29.webp | Bin .../assets/images/{ => Drama}/banners/3.webp | Bin .../assets/images/{ => Drama}/banners/30.webp | Bin .../assets/images/{ => Drama}/banners/31.webp | Bin .../assets/images/{ => Drama}/banners/32.webp | Bin .../assets/images/{ => Drama}/banners/33.webp | Bin .../assets/images/{ => Drama}/banners/34.webp | Bin .../assets/images/{ => Drama}/banners/35.webp | Bin .../assets/images/{ => Drama}/banners/36.webp | Bin .../assets/images/{ => Drama}/banners/37.webp | Bin .../assets/images/{ => Drama}/banners/38.webp | Bin .../assets/images/{ => Drama}/banners/39.webp | Bin .../assets/images/{ => Drama}/banners/4.webp | Bin .../assets/images/{ => Drama}/banners/40.webp | Bin .../assets/images/{ => Drama}/banners/41.webp | Bin .../assets/images/{ => Drama}/banners/42.webp | Bin .../assets/images/{ => Drama}/banners/43.webp | Bin .../assets/images/{ => Drama}/banners/44.webp | Bin .../assets/images/{ => Drama}/banners/45.webp | Bin .../assets/images/{ => Drama}/banners/46.webp | Bin .../assets/images/{ => Drama}/banners/47.webp | Bin .../assets/images/{ => Drama}/banners/48.webp | Bin .../assets/images/{ => Drama}/banners/49.webp | Bin .../assets/images/{ => Drama}/banners/5.webp | Bin .../assets/images/{ => Drama}/banners/50.webp | Bin .../assets/images/{ => Drama}/banners/51.webp | Bin .../assets/images/{ => Drama}/banners/52.webp | Bin .../assets/images/{ => Drama}/banners/53.webp | Bin .../assets/images/{ => Drama}/banners/54.webp | Bin .../assets/images/{ => Drama}/banners/55.webp | Bin .../assets/images/{ => Drama}/banners/56.webp | Bin .../assets/images/{ => Drama}/banners/57.webp | Bin .../assets/images/{ => Drama}/banners/58.webp | Bin .../assets/images/{ => Drama}/banners/59.webp | Bin .../assets/images/{ => Drama}/banners/6.webp | Bin .../assets/images/{ => Drama}/banners/60.webp | Bin .../assets/images/{ => Drama}/banners/61.webp | Bin .../assets/images/{ => Drama}/banners/62.webp | Bin .../assets/images/{ => Drama}/banners/63.webp | Bin .../assets/images/{ => Drama}/banners/64.webp | Bin .../assets/images/{ => Drama}/banners/65.webp | Bin .../assets/images/{ => Drama}/banners/66.webp | Bin .../assets/images/{ => Drama}/banners/67.webp | Bin .../assets/images/{ => Drama}/banners/68.webp | Bin .../assets/images/{ => Drama}/banners/69.webp | Bin .../assets/images/{ => Drama}/banners/7.webp | Bin .../assets/images/{ => Drama}/banners/8.webp | Bin .../assets/images/{ => Drama}/banners/9.webp | Bin files/classes/mod_logs.py | 10 ++ files/classes/submission.py | 1 + files/helpers/markdown.py | 24 ++- files/routes/admin.py | 26 ++-- files/routes/awards.py | 2 + files/routes/discord.py | 2 +- files/routes/posts.py | 4 +- files/routes/static.py | 15 +- files/routes/users.py | 2 +- .../CHRISTMAS/sidebars/HomeSidebar.html | 30 ++-- files/templates/admin/admin_home.html | 2 +- files/templates/admin/alt_votes.html | 2 +- files/templates/admin/app.html | 6 +- files/templates/admin/apps.html | 6 +- files/templates/admin/awards.html | 6 +- files/templates/admin/badge_grant.html | 4 +- .../admin/{rules.html => sidebar.html} | 59 ++++---- files/templates/authforms.html | 6 +- files/templates/award_modal.html | 6 +- files/templates/ban_modal.html | 6 +- files/templates/changelog.html | 8 +- files/templates/comments.html | 110 +++++++------- files/templates/contact.html | 2 +- files/templates/default.html | 38 ++--- files/templates/delete_post_modal.html | 10 +- files/templates/emoji_modal.html | 2 +- files/templates/header.html | 8 +- files/templates/home.html | 4 +- files/templates/home_comments.html | 4 +- files/templates/log.html | 6 +- files/templates/login.html | 4 +- files/templates/login_2fa.html | 4 +- files/templates/mobile_navigation_bar.html | 14 +- files/templates/norules.html | 26 ---- files/templates/notifications.html | 2 +- files/templates/report_post_modal.html | 8 +- files/templates/rules.html | 20 --- files/templates/search.html | 4 +- files/templates/settings.html | 10 +- files/templates/settings_apps.html | 4 +- files/templates/settings_blocks.html | 12 +- files/templates/settings_profile.html | 2 +- files/templates/settings_security.html | 6 +- files/templates/shop.html | 8 +- files/templates/sidebar.html | 20 +++ files/templates/sidebar_Drama.html | 32 ++++ .../templates/sidebar_PCM.html | 14 +- files/templates/sign_up.html | 4 +- files/templates/sign_up_failed_ref.html | 2 +- files/templates/submission.html | 136 ++++++++--------- files/templates/submission_listing.html | 138 +++++++++--------- files/templates/user_listing.html | 4 +- files/templates/userpage.html | 72 ++++----- files/templates/userpage_comments.html | 4 +- rules_Drama.html | 13 -- 124 files changed, 488 insertions(+), 486 deletions(-) rename files/assets/images/{ => Drama}/banners/1.webp (100%) rename files/assets/images/{ => Drama}/banners/10.webp (100%) rename files/assets/images/{ => Drama}/banners/11.webp (100%) rename files/assets/images/{ => Drama}/banners/12.webp (100%) rename files/assets/images/{ => Drama}/banners/13.webp (100%) rename files/assets/images/{ => Drama}/banners/14.webp (100%) rename files/assets/images/{ => Drama}/banners/15.webp (100%) rename files/assets/images/{ => Drama}/banners/16.webp (100%) rename files/assets/images/{ => Drama}/banners/17.webp (100%) rename files/assets/images/{ => Drama}/banners/18.webp (100%) rename files/assets/images/{ => Drama}/banners/19.webp (100%) rename files/assets/images/{ => Drama}/banners/2.webp (100%) rename files/assets/images/{ => Drama}/banners/20.webp (100%) rename files/assets/images/{ => Drama}/banners/21.webp (100%) rename files/assets/images/{ => Drama}/banners/22.webp (100%) rename files/assets/images/{ => Drama}/banners/23.webp (100%) rename files/assets/images/{ => Drama}/banners/24.webp (100%) rename files/assets/images/{ => Drama}/banners/25.webp (100%) rename files/assets/images/{ => Drama}/banners/26.webp (100%) rename files/assets/images/{ => Drama}/banners/27.webp (100%) rename files/assets/images/{ => Drama}/banners/28.webp (100%) rename files/assets/images/{ => Drama}/banners/29.webp (100%) rename files/assets/images/{ => Drama}/banners/3.webp (100%) rename files/assets/images/{ => Drama}/banners/30.webp (100%) rename files/assets/images/{ => Drama}/banners/31.webp (100%) rename files/assets/images/{ => Drama}/banners/32.webp (100%) rename files/assets/images/{ => Drama}/banners/33.webp (100%) rename files/assets/images/{ => Drama}/banners/34.webp (100%) rename files/assets/images/{ => Drama}/banners/35.webp (100%) rename files/assets/images/{ => Drama}/banners/36.webp (100%) rename files/assets/images/{ => Drama}/banners/37.webp (100%) rename files/assets/images/{ => Drama}/banners/38.webp (100%) rename files/assets/images/{ => Drama}/banners/39.webp (100%) rename files/assets/images/{ => Drama}/banners/4.webp (100%) rename files/assets/images/{ => Drama}/banners/40.webp (100%) rename files/assets/images/{ => Drama}/banners/41.webp (100%) rename files/assets/images/{ => Drama}/banners/42.webp (100%) rename files/assets/images/{ => Drama}/banners/43.webp (100%) rename files/assets/images/{ => Drama}/banners/44.webp (100%) rename files/assets/images/{ => Drama}/banners/45.webp (100%) rename files/assets/images/{ => Drama}/banners/46.webp (100%) rename files/assets/images/{ => Drama}/banners/47.webp (100%) rename files/assets/images/{ => Drama}/banners/48.webp (100%) rename files/assets/images/{ => Drama}/banners/49.webp (100%) rename files/assets/images/{ => Drama}/banners/5.webp (100%) rename files/assets/images/{ => Drama}/banners/50.webp (100%) rename files/assets/images/{ => Drama}/banners/51.webp (100%) rename files/assets/images/{ => Drama}/banners/52.webp (100%) rename files/assets/images/{ => Drama}/banners/53.webp (100%) rename files/assets/images/{ => Drama}/banners/54.webp (100%) rename files/assets/images/{ => Drama}/banners/55.webp (100%) rename files/assets/images/{ => Drama}/banners/56.webp (100%) rename files/assets/images/{ => Drama}/banners/57.webp (100%) rename files/assets/images/{ => Drama}/banners/58.webp (100%) rename files/assets/images/{ => Drama}/banners/59.webp (100%) rename files/assets/images/{ => Drama}/banners/6.webp (100%) rename files/assets/images/{ => Drama}/banners/60.webp (100%) rename files/assets/images/{ => Drama}/banners/61.webp (100%) rename files/assets/images/{ => Drama}/banners/62.webp (100%) rename files/assets/images/{ => Drama}/banners/63.webp (100%) rename files/assets/images/{ => Drama}/banners/64.webp (100%) rename files/assets/images/{ => Drama}/banners/65.webp (100%) rename files/assets/images/{ => Drama}/banners/66.webp (100%) rename files/assets/images/{ => Drama}/banners/67.webp (100%) rename files/assets/images/{ => Drama}/banners/68.webp (100%) rename files/assets/images/{ => Drama}/banners/69.webp (100%) rename files/assets/images/{ => Drama}/banners/7.webp (100%) rename files/assets/images/{ => Drama}/banners/8.webp (100%) rename files/assets/images/{ => Drama}/banners/9.webp (100%) rename files/templates/admin/{rules.html => sidebar.html} (54%) delete mode 100644 files/templates/norules.html delete mode 100644 files/templates/rules.html create mode 100644 files/templates/sidebar.html create mode 100644 files/templates/sidebar_Drama.html rename rules_PCM.html => files/templates/sidebar_PCM.html (83%) delete mode 100644 rules_Drama.html diff --git a/files/assets/images/banners/1.webp b/files/assets/images/Drama/banners/1.webp similarity index 100% rename from files/assets/images/banners/1.webp rename to files/assets/images/Drama/banners/1.webp diff --git a/files/assets/images/banners/10.webp b/files/assets/images/Drama/banners/10.webp similarity index 100% rename from files/assets/images/banners/10.webp rename to files/assets/images/Drama/banners/10.webp diff --git a/files/assets/images/banners/11.webp b/files/assets/images/Drama/banners/11.webp similarity index 100% rename from files/assets/images/banners/11.webp rename to files/assets/images/Drama/banners/11.webp diff --git a/files/assets/images/banners/12.webp b/files/assets/images/Drama/banners/12.webp similarity index 100% rename from files/assets/images/banners/12.webp rename to files/assets/images/Drama/banners/12.webp diff --git a/files/assets/images/banners/13.webp b/files/assets/images/Drama/banners/13.webp similarity index 100% rename from files/assets/images/banners/13.webp rename to files/assets/images/Drama/banners/13.webp diff --git a/files/assets/images/banners/14.webp b/files/assets/images/Drama/banners/14.webp similarity index 100% rename from files/assets/images/banners/14.webp rename to files/assets/images/Drama/banners/14.webp diff --git a/files/assets/images/banners/15.webp b/files/assets/images/Drama/banners/15.webp similarity index 100% rename from files/assets/images/banners/15.webp rename to files/assets/images/Drama/banners/15.webp diff --git a/files/assets/images/banners/16.webp b/files/assets/images/Drama/banners/16.webp similarity index 100% rename from files/assets/images/banners/16.webp rename to files/assets/images/Drama/banners/16.webp diff --git a/files/assets/images/banners/17.webp b/files/assets/images/Drama/banners/17.webp similarity index 100% rename from files/assets/images/banners/17.webp rename to files/assets/images/Drama/banners/17.webp diff --git a/files/assets/images/banners/18.webp b/files/assets/images/Drama/banners/18.webp similarity index 100% rename from files/assets/images/banners/18.webp rename to files/assets/images/Drama/banners/18.webp diff --git a/files/assets/images/banners/19.webp b/files/assets/images/Drama/banners/19.webp similarity index 100% rename from files/assets/images/banners/19.webp rename to files/assets/images/Drama/banners/19.webp diff --git a/files/assets/images/banners/2.webp b/files/assets/images/Drama/banners/2.webp similarity index 100% rename from files/assets/images/banners/2.webp rename to files/assets/images/Drama/banners/2.webp diff --git a/files/assets/images/banners/20.webp b/files/assets/images/Drama/banners/20.webp similarity index 100% rename from files/assets/images/banners/20.webp rename to files/assets/images/Drama/banners/20.webp diff --git a/files/assets/images/banners/21.webp b/files/assets/images/Drama/banners/21.webp similarity index 100% rename from files/assets/images/banners/21.webp rename to files/assets/images/Drama/banners/21.webp diff --git a/files/assets/images/banners/22.webp b/files/assets/images/Drama/banners/22.webp similarity index 100% rename from files/assets/images/banners/22.webp rename to files/assets/images/Drama/banners/22.webp diff --git a/files/assets/images/banners/23.webp b/files/assets/images/Drama/banners/23.webp similarity index 100% rename from files/assets/images/banners/23.webp rename to files/assets/images/Drama/banners/23.webp diff --git a/files/assets/images/banners/24.webp b/files/assets/images/Drama/banners/24.webp similarity index 100% rename from files/assets/images/banners/24.webp rename to files/assets/images/Drama/banners/24.webp diff --git a/files/assets/images/banners/25.webp b/files/assets/images/Drama/banners/25.webp similarity index 100% rename from files/assets/images/banners/25.webp rename to files/assets/images/Drama/banners/25.webp diff --git a/files/assets/images/banners/26.webp b/files/assets/images/Drama/banners/26.webp similarity index 100% rename from files/assets/images/banners/26.webp rename to files/assets/images/Drama/banners/26.webp diff --git a/files/assets/images/banners/27.webp b/files/assets/images/Drama/banners/27.webp similarity index 100% rename from files/assets/images/banners/27.webp rename to files/assets/images/Drama/banners/27.webp diff --git a/files/assets/images/banners/28.webp b/files/assets/images/Drama/banners/28.webp similarity index 100% rename from files/assets/images/banners/28.webp rename to files/assets/images/Drama/banners/28.webp diff --git a/files/assets/images/banners/29.webp b/files/assets/images/Drama/banners/29.webp similarity index 100% rename from files/assets/images/banners/29.webp rename to files/assets/images/Drama/banners/29.webp diff --git a/files/assets/images/banners/3.webp b/files/assets/images/Drama/banners/3.webp similarity index 100% rename from files/assets/images/banners/3.webp rename to files/assets/images/Drama/banners/3.webp diff --git a/files/assets/images/banners/30.webp b/files/assets/images/Drama/banners/30.webp similarity index 100% rename from files/assets/images/banners/30.webp rename to files/assets/images/Drama/banners/30.webp diff --git a/files/assets/images/banners/31.webp b/files/assets/images/Drama/banners/31.webp similarity index 100% rename from files/assets/images/banners/31.webp rename to files/assets/images/Drama/banners/31.webp diff --git a/files/assets/images/banners/32.webp b/files/assets/images/Drama/banners/32.webp similarity index 100% rename from files/assets/images/banners/32.webp rename to files/assets/images/Drama/banners/32.webp diff --git a/files/assets/images/banners/33.webp b/files/assets/images/Drama/banners/33.webp similarity index 100% rename from files/assets/images/banners/33.webp rename to files/assets/images/Drama/banners/33.webp diff --git a/files/assets/images/banners/34.webp b/files/assets/images/Drama/banners/34.webp similarity index 100% rename from files/assets/images/banners/34.webp rename to files/assets/images/Drama/banners/34.webp diff --git a/files/assets/images/banners/35.webp b/files/assets/images/Drama/banners/35.webp similarity index 100% rename from files/assets/images/banners/35.webp rename to files/assets/images/Drama/banners/35.webp diff --git a/files/assets/images/banners/36.webp b/files/assets/images/Drama/banners/36.webp similarity index 100% rename from files/assets/images/banners/36.webp rename to files/assets/images/Drama/banners/36.webp diff --git a/files/assets/images/banners/37.webp b/files/assets/images/Drama/banners/37.webp similarity index 100% rename from files/assets/images/banners/37.webp rename to files/assets/images/Drama/banners/37.webp diff --git a/files/assets/images/banners/38.webp b/files/assets/images/Drama/banners/38.webp similarity index 100% rename from files/assets/images/banners/38.webp rename to files/assets/images/Drama/banners/38.webp diff --git a/files/assets/images/banners/39.webp b/files/assets/images/Drama/banners/39.webp similarity index 100% rename from files/assets/images/banners/39.webp rename to files/assets/images/Drama/banners/39.webp diff --git a/files/assets/images/banners/4.webp b/files/assets/images/Drama/banners/4.webp similarity index 100% rename from files/assets/images/banners/4.webp rename to files/assets/images/Drama/banners/4.webp diff --git a/files/assets/images/banners/40.webp b/files/assets/images/Drama/banners/40.webp similarity index 100% rename from files/assets/images/banners/40.webp rename to files/assets/images/Drama/banners/40.webp diff --git a/files/assets/images/banners/41.webp b/files/assets/images/Drama/banners/41.webp similarity index 100% rename from files/assets/images/banners/41.webp rename to files/assets/images/Drama/banners/41.webp diff --git a/files/assets/images/banners/42.webp b/files/assets/images/Drama/banners/42.webp similarity index 100% rename from files/assets/images/banners/42.webp rename to files/assets/images/Drama/banners/42.webp diff --git a/files/assets/images/banners/43.webp b/files/assets/images/Drama/banners/43.webp similarity index 100% rename from files/assets/images/banners/43.webp rename to files/assets/images/Drama/banners/43.webp diff --git a/files/assets/images/banners/44.webp b/files/assets/images/Drama/banners/44.webp similarity index 100% rename from files/assets/images/banners/44.webp rename to files/assets/images/Drama/banners/44.webp diff --git a/files/assets/images/banners/45.webp b/files/assets/images/Drama/banners/45.webp similarity index 100% rename from files/assets/images/banners/45.webp rename to files/assets/images/Drama/banners/45.webp diff --git a/files/assets/images/banners/46.webp b/files/assets/images/Drama/banners/46.webp similarity index 100% rename from files/assets/images/banners/46.webp rename to files/assets/images/Drama/banners/46.webp diff --git a/files/assets/images/banners/47.webp b/files/assets/images/Drama/banners/47.webp similarity index 100% rename from files/assets/images/banners/47.webp rename to files/assets/images/Drama/banners/47.webp diff --git a/files/assets/images/banners/48.webp b/files/assets/images/Drama/banners/48.webp similarity index 100% rename from files/assets/images/banners/48.webp rename to files/assets/images/Drama/banners/48.webp diff --git a/files/assets/images/banners/49.webp b/files/assets/images/Drama/banners/49.webp similarity index 100% rename from files/assets/images/banners/49.webp rename to files/assets/images/Drama/banners/49.webp diff --git a/files/assets/images/banners/5.webp b/files/assets/images/Drama/banners/5.webp similarity index 100% rename from files/assets/images/banners/5.webp rename to files/assets/images/Drama/banners/5.webp diff --git a/files/assets/images/banners/50.webp b/files/assets/images/Drama/banners/50.webp similarity index 100% rename from files/assets/images/banners/50.webp rename to files/assets/images/Drama/banners/50.webp diff --git a/files/assets/images/banners/51.webp b/files/assets/images/Drama/banners/51.webp similarity index 100% rename from files/assets/images/banners/51.webp rename to files/assets/images/Drama/banners/51.webp diff --git a/files/assets/images/banners/52.webp b/files/assets/images/Drama/banners/52.webp similarity index 100% rename from files/assets/images/banners/52.webp rename to files/assets/images/Drama/banners/52.webp diff --git a/files/assets/images/banners/53.webp b/files/assets/images/Drama/banners/53.webp similarity index 100% rename from files/assets/images/banners/53.webp rename to files/assets/images/Drama/banners/53.webp diff --git a/files/assets/images/banners/54.webp b/files/assets/images/Drama/banners/54.webp similarity index 100% rename from files/assets/images/banners/54.webp rename to files/assets/images/Drama/banners/54.webp diff --git a/files/assets/images/banners/55.webp b/files/assets/images/Drama/banners/55.webp similarity index 100% rename from files/assets/images/banners/55.webp rename to files/assets/images/Drama/banners/55.webp diff --git a/files/assets/images/banners/56.webp b/files/assets/images/Drama/banners/56.webp similarity index 100% rename from files/assets/images/banners/56.webp rename to files/assets/images/Drama/banners/56.webp diff --git a/files/assets/images/banners/57.webp b/files/assets/images/Drama/banners/57.webp similarity index 100% rename from files/assets/images/banners/57.webp rename to files/assets/images/Drama/banners/57.webp diff --git a/files/assets/images/banners/58.webp b/files/assets/images/Drama/banners/58.webp similarity index 100% rename from files/assets/images/banners/58.webp rename to files/assets/images/Drama/banners/58.webp diff --git a/files/assets/images/banners/59.webp b/files/assets/images/Drama/banners/59.webp similarity index 100% rename from files/assets/images/banners/59.webp rename to files/assets/images/Drama/banners/59.webp diff --git a/files/assets/images/banners/6.webp b/files/assets/images/Drama/banners/6.webp similarity index 100% rename from files/assets/images/banners/6.webp rename to files/assets/images/Drama/banners/6.webp diff --git a/files/assets/images/banners/60.webp b/files/assets/images/Drama/banners/60.webp similarity index 100% rename from files/assets/images/banners/60.webp rename to files/assets/images/Drama/banners/60.webp diff --git a/files/assets/images/banners/61.webp b/files/assets/images/Drama/banners/61.webp similarity index 100% rename from files/assets/images/banners/61.webp rename to files/assets/images/Drama/banners/61.webp diff --git a/files/assets/images/banners/62.webp b/files/assets/images/Drama/banners/62.webp similarity index 100% rename from files/assets/images/banners/62.webp rename to files/assets/images/Drama/banners/62.webp diff --git a/files/assets/images/banners/63.webp b/files/assets/images/Drama/banners/63.webp similarity index 100% rename from files/assets/images/banners/63.webp rename to files/assets/images/Drama/banners/63.webp diff --git a/files/assets/images/banners/64.webp b/files/assets/images/Drama/banners/64.webp similarity index 100% rename from files/assets/images/banners/64.webp rename to files/assets/images/Drama/banners/64.webp diff --git a/files/assets/images/banners/65.webp b/files/assets/images/Drama/banners/65.webp similarity index 100% rename from files/assets/images/banners/65.webp rename to files/assets/images/Drama/banners/65.webp diff --git a/files/assets/images/banners/66.webp b/files/assets/images/Drama/banners/66.webp similarity index 100% rename from files/assets/images/banners/66.webp rename to files/assets/images/Drama/banners/66.webp diff --git a/files/assets/images/banners/67.webp b/files/assets/images/Drama/banners/67.webp similarity index 100% rename from files/assets/images/banners/67.webp rename to files/assets/images/Drama/banners/67.webp diff --git a/files/assets/images/banners/68.webp b/files/assets/images/Drama/banners/68.webp similarity index 100% rename from files/assets/images/banners/68.webp rename to files/assets/images/Drama/banners/68.webp diff --git a/files/assets/images/banners/69.webp b/files/assets/images/Drama/banners/69.webp similarity index 100% rename from files/assets/images/banners/69.webp rename to files/assets/images/Drama/banners/69.webp diff --git a/files/assets/images/banners/7.webp b/files/assets/images/Drama/banners/7.webp similarity index 100% rename from files/assets/images/banners/7.webp rename to files/assets/images/Drama/banners/7.webp diff --git a/files/assets/images/banners/8.webp b/files/assets/images/Drama/banners/8.webp similarity index 100% rename from files/assets/images/banners/8.webp rename to files/assets/images/Drama/banners/8.webp diff --git a/files/assets/images/banners/9.webp b/files/assets/images/Drama/banners/9.webp similarity index 100% rename from files/assets/images/banners/9.webp rename to files/assets/images/Drama/banners/9.webp diff --git a/files/classes/mod_logs.py b/files/classes/mod_logs.py index e2ec233f6..04c312f70 100644 --- a/files/classes/mod_logs.py +++ b/files/classes/mod_logs.py @@ -153,6 +153,11 @@ ACTIONTYPES={ "icon": "fa-balance-scale", "color": "bg-muted", }, + "change_sidebar": { + "str": "changed the sidebar", + "icon": "fa-columns", + "color": "bg-muted", + }, "ban_user":{ "str":'banned user {self.target_link}', "icon":"fa-user-slash", @@ -291,6 +296,11 @@ ACTIONTYPES2={ "icon": "fa-balance-scale", "color": "bg-muted", }, + "change_sidebar": { + "str": "changed the sidebar", + "icon": "fa-columns", + "color": "bg-muted", + }, "ban_user":{ "str":'banned user {self.target_link}', "icon":"fa-user-slash", diff --git a/files/classes/submission.py b/files/classes/submission.py index 5b2dea18a..7f88a0e52 100644 --- a/files/classes/submission.py +++ b/files/classes/submission.py @@ -213,6 +213,7 @@ class Submission(Base): @property @lazy def domain(self): + if not self.url: return None if self.url.startswith('/'): return site domain = urlparse(self.url).netloc if domain.startswith("www."): domain = domain.split("www.")[1] diff --git a/files/helpers/markdown.py b/files/helpers/markdown.py index aead81860..7ce47e8fc 100644 --- a/files/helpers/markdown.py +++ b/files/helpers/markdown.py @@ -118,8 +118,28 @@ class Renderer(HTMLRenderer): class Renderer2(HTMLRenderer): def __init__(self, **kwargs): - super().__init__(UserMention2) + super().__init__(UserMention2, + UserMention, + SubMention, + RedditorMention, + SubMention2, + RedditorMention2) for i in kwargs: self.__dict__[i] = kwargs[i] + def render_user_mention2(self, token): + return f'@{token.target}' + def render_user_mention(self, token): - return f'@{token.target}' \ No newline at end of file + space = token.target[0] + target = token.target[1] + return f"{space}@{target}" + + def render_sub_mention(self, token): + space = token.target[0] + target = token.target[1] + return f"{space}r/{target}" + + def render_redditor_mention(self, token): + space = token.target[0] + target = token.target[1] + return f"{space}u/{target}" \ No newline at end of file diff --git a/files/routes/admin.py b/files/routes/admin.py index d167991ec..80dc28bf3 100644 --- a/files/routes/admin.py +++ b/files/routes/admin.py @@ -218,39 +218,39 @@ def monthly(v): return {"message": "Monthly coins granted"} -@app.get('/admin/rules') +@app.get('/admin/sidebar') @admin_level_required(2) -def get_rules(v): +def get_sidebar(v): try: - with open(f'rules_{SITE_NAME}.html', 'r') as f: rules = f.read() + with open(f'files/templates/sidebar_{SITE_NAME}.html', 'r') as f: sidebar = f.read() except Exception: - rules = None + sidebar = None - return render_template('admin/rules.html', v=v, rules=rules) + return render_template('admin/sidebar.html', v=v, sidebar=sidebar) -@app.post('/admin/rules') +@app.post('/admin/sidebar') @limiter.limit("1/second") @admin_level_required(2) @validate_formkey -def post_rules(v): +def post_sidebar(v): - text = request.values.get('rules', '').strip() + text = request.values.get('sidebar', '').strip() - with open(f'rules_{SITE_NAME}.html', 'w+') as f: f.write(text) + with open(f'files/templates/sidebar_{SITE_NAME}.html', 'w+') as f: f.write(text) - with open(f'rules_{SITE_NAME}.html', 'r') as f: rules = f.read() + with open(f'files/templates/sidebar_{SITE_NAME}.html', 'r') as f: sidebar = f.read() ma = ModAction( - kind="change_rules", + kind="change_sidebar", user_id=v.id, ) g.db.add(ma) g.db.commit() - return render_template('admin/rules.html', v=v, rules=rules) + return render_template('admin/sidebar.html', v=v, sidebar=sidebar) @app.get("/admin/shadowbanned") @@ -626,6 +626,8 @@ def admin_removed_comments(v): def agendaposter(user_id, v): user = g.db.query(User).filter_by(id=user_id).first() + if user.username == '911roofer': abort(403) + expiry = request.values.get("days", 0) if expiry: expiry = float(expiry) diff --git a/files/routes/awards.py b/files/routes/awards.py index dce01b509..f4b2fd60d 100644 --- a/files/routes/awards.py +++ b/files/routes/awards.py @@ -259,6 +259,7 @@ def award_post(pid, v): else: post.stickied_utc = t g.db.add(post) elif kind == "agendaposter" and not (author.agendaposter and author.agendaposter_expires_utc == 0): + if author.username == "911roofer": abort(403) if author.agendaposter_expires_utc and time.time() < author.agendaposter_expires_utc: author.agendaposter_expires_utc += 86400 else: author.agendaposter_expires_utc = time.time() + 86400 @@ -435,6 +436,7 @@ def award_comment(cid, v): else: c.is_pinned_utc = t g.db.add(c) elif kind == "agendaposter" and not (author.agendaposter and author.agendaposter_expires_utc == 0): + if author.username == "911roofer": abort(403) if author.agendaposter_expires_utc and time.time() < author.agendaposter_expires_utc: author.agendaposter_expires_utc += 86400 else: author.agendaposter_expires_utc = time.time() + 86400 diff --git a/files/routes/discord.py b/files/routes/discord.py index daa019baa..90757270f 100644 --- a/files/routes/discord.py +++ b/files/routes/discord.py @@ -17,7 +17,7 @@ SITE_NAME = environ.get("SITE_NAME", "").strip() @auth_required def join_discord(v): - if v.is_suspended != 0 and v.admin_level == 0: return {"error": "Banned users cannot join the discord server!"} + if v.is_banned and not v.unban_utc: return {"error": "Permabanned users cannot join the discord server!"} if SITE_NAME == 'Drama' and v.admin_level == 0 and v.patron == 0 and v.truecoins < 150: return f"You must receive 150 upvotes/downvotes from other users before being able to join the Discord server." diff --git a/files/routes/posts.py b/files/routes/posts.py index c69d0da01..9842ca830 100644 --- a/files/routes/posts.py +++ b/files/routes/posts.py @@ -590,10 +590,12 @@ def thumbnail_thread(pid): post = db.query(Submission).filter_by(id=pid).first() - if not post: + if not post or not post.url: time.sleep(5) post = db.query(Submission).filter_by(id=pid).first() + if not post or not post.url: return + fetch_url = post.url if fetch_url.startswith('/'): fetch_url = f"https://{site}{fetch_url}" diff --git a/files/routes/static.py b/files/routes/static.py index f65b93048..3a7f0d386 100644 --- a/files/routes/static.py +++ b/files/routes/static.py @@ -26,20 +26,15 @@ def emojis(v): else: template = 'CHRISTMAS/' return render_template(f"{template}emojis.html", v=v, emojis=emojis) -@app.get('/rules') +@app.get('/sidebar') @auth_desired -def static_rules(v): +def sidebar(v): - if not path.exists(f'rules_{site_name}.html'): - if v and v.admin_level > 1: - return render_template('norules.html', v=v) - else: - abort(404) + if not path.exists(f'files/templates/sidebar_{site_name}.html'): abort(404) - with open(f'rules_{site_name}.html', 'r') as f: - rules = f.read() + with open(f'files/templates/sidebar_{site_name}.html', 'r') as f: sidebar = f.read() - return render_template('rules.html', rules=rules, v=v) + return render_template('sidebar.html', sidebar=sidebar, v=v) @app.get("/stats") diff --git a/files/routes/users.py b/files/routes/users.py index 6fe3bc2c8..58d8e594e 100644 --- a/files/routes/users.py +++ b/files/routes/users.py @@ -741,7 +741,7 @@ def u_username_comments(username, v=None): return render_template(f"{template}userpage_blocked.html", u=u, v=v) - page = int(request.values.get("page", "1")) + page = max(int(request.values.get("page", "1")), 1) sort=request.values.get("sort","new") t=request.values.get("t","all") diff --git a/files/templates/CHRISTMAS/sidebars/HomeSidebar.html b/files/templates/CHRISTMAS/sidebars/HomeSidebar.html index 5a7d285bb..75955a30c 100644 --- a/files/templates/CHRISTMAS/sidebars/HomeSidebar.html +++ b/files/templates/CHRISTMAS/sidebars/HomeSidebar.html @@ -4,59 +4,59 @@ set banner = [ { 'username': 'Bartholomew_1', - 'image': '/static/assets/images/banners/1.webp?a=1' + 'image': '1' }, { 'username': 'Yui', - 'image': '/static/assets/images/banners/2.webp?a=1' + 'image': '2' }, { 'username': 'Bartholomew_1', - 'image': '/static/assets/images/banners/3.webp?a=1' + 'image': '3' }, { 'username': 'chiobu', - 'image': '/static/assets/images/banners/4.webp?a=1' + 'image': '4' }, { 'username': 'chiobu', - 'image': '/static/assets/images/banners/5.webp?a=1' + 'image': '5' }, { 'username': 'geese_suck', - 'image': '/static/assets/images/banners/6.webp?a=1' + 'image': '6' }, { 'username': 'Bartholomew_1', - 'image': '/static/assets/images/banners/7.webp?a=1' + 'image': '7' }, { 'username': 'drama_enthusiast', - 'image': '/static/assets/images/banners/8.webp?a=1' + 'image': '8' }, { 'username': 'dramarama', - 'image': '/static/assets/images/banners/9.webp?a=1' + 'image': '9' }, { 'username': 'geese_suck', - 'image': '/static/assets/images/banners/10.webp?a=1' + 'image': '10' }, { 'username': 'ThreeLetterAgent', - 'image': '/static/assets/images/banners/11.webp?a=1' + 'image': '11' }, { 'username': 'geese_suck', - 'image': '/static/assets/images/banners/12.webp?a=1' + 'image': '12' }, { 'username': 'geese_suck', - 'image': '/static/assets/images/banners/13.webp?a=1' + 'image': '13' }, { 'username': 'geese_suck', - 'image': '/static/assets/images/banners/14.webp?a=1' + 'image': '14' } ] %} @@ -119,7 +119,7 @@
- artwork featuring an orange and white cat + artwork featuring an orange and white cat Artwork by @{{ banner[random].username }} diff --git a/files/templates/admin/admin_home.html b/files/templates/admin/admin_home.html index fd29c2a8c..d48cbbe9a 100644 --- a/files/templates/admin/admin_home.html +++ b/files/templates/admin/admin_home.html @@ -52,7 +52,7 @@

Configuration

diff --git a/files/templates/admin/alt_votes.html b/files/templates/admin/alt_votes.html index 23c84b826..7acaeeb16 100644 --- a/files/templates/admin/alt_votes.html +++ b/files/templates/admin/alt_votes.html @@ -72,7 +72,7 @@

Two accounts controlled by different people should have most uniqueness percentages at or above 70-80%

A sockpuppet account will have its uniqueness percentages significantly lower.

-Link Accounts +Link Accounts
diff --git a/files/templates/admin/app.html b/files/templates/admin/app.html index b09ec5fcd..a55dd8541 100644 --- a/files/templates/admin/app.html +++ b/files/templates/admin/app.html @@ -34,12 +34,12 @@
{% if not app.client_id%} - Approve - Reject + Approve + Reject {% else %} - Revoke + Revoke {% endif %}
diff --git a/files/templates/admin/apps.html b/files/templates/admin/apps.html index 1768944f1..1d645926d 100644 --- a/files/templates/admin/apps.html +++ b/files/templates/admin/apps.html @@ -39,12 +39,12 @@
{% if not app.client_id %} - Approve - Reject + Approve + Reject {% else %} - Revoke + Revoke {% endif %}
diff --git a/files/templates/admin/awards.html b/files/templates/admin/awards.html index 3572928ce..d3fb7b389 100644 --- a/files/templates/admin/awards.html +++ b/files/templates/admin/awards.html @@ -14,7 +14,7 @@ {{error}} - @@ -25,7 +25,7 @@ {{msg}} - @@ -64,6 +64,6 @@

 	{% if 'rdrama.net' not in request.host or v.admin_level > 2 %}
-		
Grant Monthly Marseybux
+
Grant Monthly Marseybux
{% endif %} {% endblock %} \ No newline at end of file diff --git a/files/templates/admin/badge_grant.html b/files/templates/admin/badge_grant.html index 4776fd9a1..98647dd98 100644 --- a/files/templates/admin/badge_grant.html +++ b/files/templates/admin/badge_grant.html @@ -14,7 +14,7 @@ {{error}} - @@ -25,7 +25,7 @@ {{msg}} - diff --git a/files/templates/admin/rules.html b/files/templates/admin/sidebar.html similarity index 54% rename from files/templates/admin/rules.html rename to files/templates/admin/sidebar.html index c5991156f..3ae6e1bb6 100644 --- a/files/templates/admin/rules.html +++ b/files/templates/admin/sidebar.html @@ -1,31 +1,30 @@ -{% extends "default.html" %} - -{% block pagetitle %}Edit {{'SITE_NAME' | app_config}} rules{% endblock %} - -{% block content %} - -
-
-
-
-

Edit rules

-

Your rules page will be publicly visible at {{'/rules'|full_link}}.

-

Supports markdown syntax.

-
-
-
- - - - -
- -
- -
-
-
-
-
- +{% extends "default.html" %} + +{% block pagetitle %}Edit {{'SITE_NAME' | app_config}} sidebar{% endblock %} + +{% block content %} + +
+
+
+
+

Edit sidebar

+
+
+
+
+
+ + + +
+ +
+
+
+
+
+
+
+ {% endblock %} \ No newline at end of file diff --git a/files/templates/authforms.html b/files/templates/authforms.html index 732c4dd43..72c788eb4 100644 --- a/files/templates/authforms.html +++ b/files/templates/authforms.html @@ -48,7 +48,7 @@