diff --git a/files/assets/browserconfig.xml b/files/assets/browserconfig.xml index 06039c134e..cfcd807a8d 100644 --- a/files/assets/browserconfig.xml +++ b/files/assets/browserconfig.xml @@ -2,7 +2,7 @@ - + #FF66AC diff --git a/files/assets/js/chat.js b/files/assets/js/chat.js index 01cf98ee99..7a48512c34 100644 --- a/files/assets/js/chat.js +++ b/files/assets/js/chat.js @@ -24,13 +24,13 @@ function flash(){ alert=false; } else { - icon.href = escapeHTML(`/assets/images/${site_name}/icon.webp?v=3000`) + icon.href = escapeHTML(`/assets/images/${site_name}/icon.webp?v=3009`) alert=true; } setTimeout(flash, 500) } else { - icon.href = escapeHTML(`/assets/images/${site_name}/icon.webp?v=3000`) + icon.href = escapeHTML(`/assets/images/${site_name}/icon.webp?v=3009`) notifs = 0 title.innerHTML = 'Chat'; } diff --git a/files/classes/sub.py b/files/classes/sub.py index 8236c2bb80..e90158335b 100644 --- a/files/classes/sub.py +++ b/files/classes/sub.py @@ -18,6 +18,7 @@ class Sub(Base): sidebar_html = Column(String) sidebarurl = Column(String) bannerurl = Column(String) + marseyurl = Column(String) css = Column(String) stealth = Column(Boolean) @@ -31,13 +32,19 @@ class Sub(Base): @lazy def sidebar_url(self): if self.sidebarurl: return SITE_FULL + self.sidebarurl - return f'/i/{SITE_NAME}/sidebar.webp?v=3000' + return f'/i/{SITE_NAME}/sidebar.webp?v=3009' @property @lazy def banner_url(self): if self.bannerurl: return SITE_FULL + self.bannerurl - return f'/i/{SITE_NAME}/banner.webp?v=3001' + return f'/i/{SITE_NAME}/banner.webp?v=3009' + + @property + @lazy + def marsey_url(self): + if self.marseyurl: return SITE_FULL + self.marseyurl + return f'/i/{SITE_NAME}/headericon.webp?v=3009' @property @lazy diff --git a/files/classes/submission.py b/files/classes/submission.py index 57c3379725..4da49ae2aa 100644 --- a/files/classes/submission.py +++ b/files/classes/submission.py @@ -224,7 +224,7 @@ class Submission(Base): return self.thumburl elif self.is_youtube or self.is_video: return f"{SITE_FULL}/assets/images/default_thumb_video.webp?v=1" elif self.is_audio: return f"{SITE_FULL}/assets/images/default_thumb_audio.webp?v=1" - elif self.domain == SITE: return f"{SITE_FULL}/assets/images/{SITE_NAME}/site_preview.webp?v=3008" + elif self.domain == SITE: return f"{SITE_FULL}/assets/images/{SITE_NAME}/site_preview.webp?v=3009" else: return f"{SITE_FULL}/assets/images/default_thumb_link.webp?v=1" @property diff --git a/files/classes/user.py b/files/classes/user.py index 239ccbf14f..93d3685c55 100644 --- a/files/classes/user.py +++ b/files/classes/user.py @@ -607,7 +607,7 @@ class User(Base): def banner_url(self): if FEATURES['USERS_PROFILE_BANNER'] and self.bannerurl: return self.bannerurl - return f"/i/{SITE_NAME}/site_preview.webp?v=3008" + return f"/i/{SITE_NAME}/site_preview.webp?v=3009" @property @lazy diff --git a/files/helpers/alerts.py b/files/helpers/alerts.py index 6e0b81733c..1199a7436d 100644 --- a/files/helpers/alerts.py +++ b/files/helpers/alerts.py @@ -113,7 +113,7 @@ if PUSHER_ID != 'blahblahblah': 'title': title, 'body': notifbody, 'deep_link': url, - 'icon': f'{SITE_FULL}/assets/images/{SITE_NAME}/icon.webp?v=3000', + 'icon': f'{SITE_FULL}/assets/images/{SITE_NAME}/icon.webp?v=3009', } }, 'fcm': { diff --git a/files/routes/subs.py b/files/routes/subs.py index cfc088504a..e0f3873807 100644 --- a/files/routes/subs.py +++ b/files/routes/subs.py @@ -468,6 +468,32 @@ def sub_sidebar(v, sub): return redirect(f'/h/{sub.name}/settings') +@app.post("/h//marsey_image") +@limiter.limit("1/second;10/day") +@limiter.limit("1/second;10/day", key_func=lambda:f'{SITE}-{session.get("lo_user")}') +@is_not_permabanned +def sub_marsey(v, sub): + if request.headers.get("cf-ipcountry") == "T1": return {"error":"Image uploads are not allowed through TOR."}, 403 + + sub = g.db.query(Sub).filter_by(name=sub.lower().strip()).one_or_none() + if not sub: abort(404) + + if not v.mods(sub.name): abort(403) + + file = request.files["marsey"] + name = f'/images/{time.time()}'.replace('.','') + '.webp' + file.save(name) + marseyurl = process_image(name) + + if marseyurl: + if sub.marseyurl and '/images/' in sub.marseyurl: + fpath = '/images/' + sub.marseyurl.split('/images/')[1] + if path.isfile(fpath): os.remove(fpath) + sub.marseyurl = marseyurl + g.db.add(sub) + + return redirect(f'/h/{sub.name}/settings') + @app.get("/holes") @auth_desired_with_logingate def subs(v): diff --git a/files/templates/header.html b/files/templates/header.html index 0aeaefed2b..becfd6c5b6 100644 --- a/files/templates/header.html +++ b/files/templates/header.html @@ -60,7 +60,7 @@ @@ -266,7 +266,7 @@ -
JPG, PNG, GIF files are supported. Max file size is {% if v and v.patron %}8{% else %}4{% endif %} MB.
+
JPG, PNG, GIF files are supported. Max file size is {% if v and v.patron %}16{% else %}8{% endif %} MB.
diff --git a/files/templates/sidebar_PCM.html b/files/templates/sidebar_PCM.html index d4d5cc0550..38ecdfddd0 100644 --- a/files/templates/sidebar_PCM.html +++ b/files/templates/sidebar_PCM.html @@ -40,7 +40,7 @@ {% if sub %} {% set image=sub.sidebar_url %} {% else %} - {% set image='/i/' + SITE_NAME + '/sidebar.webp?v=3000' %} + {% set image='/i/' + SITE_NAME + '/sidebar.webp?v=3009' %} {% endif %} {% if request.path != '/sidebar' %} diff --git a/files/templates/sub/settings.html b/files/templates/sub/settings.html index afef648e7d..11b414e299 100644 --- a/files/templates/sub/settings.html +++ b/files/templates/sub/settings.html @@ -40,6 +40,42 @@ Hide posts in this hole from the main feed by default (users can opt-in to see it there). + +

Marsey

+ +
+ +
+ +
+ sub marsey picture +
+ +
+ +
+ +
+
+ + +
+ +
+ +
+ +
JPG, PNG, GIF files are supported. Max file size is {% if v and v.patron %}16{% else %}8{% endif %} MB.
+ +
+ +
+ +
+ +

Sidebar Picture

@@ -66,7 +102,7 @@
-
JPG, PNG, GIF files are supported. Max file size is {% if v and v.patron %}8{% else %}4{% endif %} MB.
+
JPG, PNG, GIF files are supported. Max file size is {% if v and v.patron %}16{% else %}8{% endif %} MB.
@@ -102,7 +138,7 @@ -
JPG, PNG, GIF files are supported. Max file size is {% if v and v.patron %}8{% else %}4{% endif %} MB.
+
JPG, PNG, GIF files are supported. Max file size is {% if v and v.patron %}16{% else %}8{% endif %} MB.
diff --git a/files/templates/util/assetcache.html b/files/templates/util/assetcache.html index 9a8c601b32..ecda443f67 100644 --- a/files/templates/util/assetcache.html +++ b/files/templates/util/assetcache.html @@ -40,5 +40,5 @@ set CACHE_VER = { {%- endmacro -%} {%- macro asset_siteimg(name) -%} -/i/{{SITE_NAME}}/{{name}}?v=3000 +/i/{{SITE_NAME}}/{{name}}?v=3009 {%- endmacro -%}