diff --git a/files/assets/js/core.js b/files/assets/js/core.js
index 4f8c1d995..f2aceb96c 100644
--- a/files/assets/js/core.js
+++ b/files/assets/js/core.js
@@ -449,9 +449,42 @@ function insertText(input, text) {
let oldfiles = {};
+const MAX_IMAGE_AUDIO_SIZE_MB = parseInt(document.getElementById("MAX_IMAGE_AUDIO_SIZE_MB").value)
+const MAX_IMAGE_AUDIO_SIZE_MB_PATRON = parseInt(document.getElementById("MAX_IMAGE_AUDIO_SIZE_MB_PATRON").value)
+const MAX_VIDEO_SIZE_MB = parseInt(document.getElementById("MAX_VIDEO_SIZE_MB").value)
+const MAX_VIDEO_SIZE_MB_PATRON = parseInt(document.getElementById("MAX_VIDEO_SIZE_MB_PATRON").value)
+
+let patron
+if (location.host == 'rdrama.net') patron = 'paypig'
+else patron = 'patron'
+
function handle_files(input, newfiles) {
if (!newfiles) return;
+ for (const file of newfiles) {
+ let max_size
+ let max_size_patron
+ let type
+
+ if (file.type.startsWith('video/')) {
+ max_size = MAX_VIDEO_SIZE_MB
+ max_size_patron = MAX_VIDEO_SIZE_MB_PATRON
+ type = 'video'
+ }
+ else {
+ max_size = MAX_IMAGE_AUDIO_SIZE_MB
+ max_size_patron = MAX_IMAGE_AUDIO_SIZE_MB_PATRON
+ type = 'image/audio'
+ }
+
+ if (file.size > max_size * 1024 * 1024) {
+ const msg = `Max ${type} size is ${max_size} MB (${max_size_patron} MB for ${patron}s)`
+ showToast(false, msg);
+ input.value = null;
+ return
+ }
+ }
+
const ta = input.parentElement.parentElement.parentElement.parentElement.querySelector('textarea.file-ta');
if (oldfiles[ta.id]) {
diff --git a/files/helpers/config/const.py b/files/helpers/config/const.py
index bfa9b385e..42748296a 100644
--- a/files/helpers/config/const.py
+++ b/files/helpers/config/const.py
@@ -829,6 +829,9 @@ elif SITE == 'watchpeopledie.tv':
CHANGELOG_THREAD = 56363
ADMIGGER_THREADS = {SIDEBAR_THREAD, BANNER_THREAD, BADGE_THREAD, CHANGELOG_THREAD}
+ MAX_VIDEO_SIZE_MB = 500
+ MAX_VIDEO_SIZE_MB_PATRON = 500
+
TRUESCORE_CHAT_MINIMUM = 10
HOLE_NAME = 'flair'
diff --git a/files/helpers/media.py b/files/helpers/media.py
index 8d24589d0..8e4442198 100644
--- a/files/helpers/media.py
+++ b/files/helpers/media.py
@@ -136,11 +136,10 @@ def process_video(file, v):
old = f'/videos/{time.time()}'.replace('.','')
file.save(old)
- if SITE_NAME != 'WPD':
- size = os.stat(old).st_size
- if size > MAX_VIDEO_SIZE_MB_PATRON * 1024 * 1024 or (not v.patron and size > MAX_VIDEO_SIZE_MB * 1024 * 1024):
- os.remove(old)
- abort(413, f"Max video size is {MAX_VIDEO_SIZE_MB} MB ({MAX_VIDEO_SIZE_MB_PATRON} MB for {patron}s)")
+ size = os.stat(old).st_size
+ if size > MAX_VIDEO_SIZE_MB_PATRON * 1024 * 1024 or (not v.patron and size > MAX_VIDEO_SIZE_MB * 1024 * 1024):
+ os.remove(old)
+ abort(413, f"Max video size is {MAX_VIDEO_SIZE_MB} MB ({MAX_VIDEO_SIZE_MB_PATRON} MB for {patron}s)")
extension = guess_extension(file.content_type)
if not extension:
diff --git a/files/routes/jinja2.py b/files/routes/jinja2.py
index 3f8e5fa34..e1db65cfa 100644
--- a/files/routes/jinja2.py
+++ b/files/routes/jinja2.py
@@ -126,5 +126,7 @@ def inject_constants():
"BIO_FRIENDS_ENEMIES_LENGTH_LIMIT":BIO_FRIENDS_ENEMIES_LENGTH_LIMIT,
"IMMUNE_TO_AWARDS": IMMUNE_TO_AWARDS, "SITE_FULL_IMAGES": SITE_FULL_IMAGES,
"IS_FISTMAS":IS_FISTMAS, "IS_HOMOWEEN":IS_HOMOWEEN, "IS_DKD":IS_DKD, "IS_EVENT":IS_EVENT, "IS_BIRTHGAY":IS_BIRTHGAY,
- "CHUD_PHRASES":CHUD_PHRASES, "hasattr":hasattr, "calc_users":calc_users, "HOLE_INACTIVITY_DELETION":HOLE_INACTIVITY_DELETION
- }
+ "CHUD_PHRASES":CHUD_PHRASES, "hasattr":hasattr, "calc_users":calc_users, "HOLE_INACTIVITY_DELETION":HOLE_INACTIVITY_DELETION,
+ "MAX_IMAGE_AUDIO_SIZE_MB":MAX_IMAGE_AUDIO_SIZE_MB, "MAX_IMAGE_AUDIO_SIZE_MB_PATRON":MAX_IMAGE_AUDIO_SIZE_MB_PATRON,
+ "MAX_VIDEO_SIZE_MB":MAX_VIDEO_SIZE_MB, "MAX_VIDEO_SIZE_MB_PATRON":MAX_VIDEO_SIZE_MB_PATRON,
+ }
diff --git a/files/templates/root.html b/files/templates/root.html
index de8ac96d5..7b79043bb 100644
--- a/files/templates/root.html
+++ b/files/templates/root.html
@@ -35,6 +35,14 @@
+
+ {% if v %}
+
+
+
+
+ {% endif %}
+
{% block body required %}{% endblock %}
{{html_head.stylesheets_lower()}}