forked from rDrama/rDrama
check file size via javascript to prevent unneedful upload of files that would get rejected by server for being too large
parent
ceb126dae4
commit
1ed722c3b2
|
@ -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]) {
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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,
|
||||
}
|
||||
|
|
|
@ -35,6 +35,14 @@
|
|||
<input hidden id="IMAGE_FORMATS" value="{{IMAGE_FORMATS}}">
|
||||
<input hidden id="approved_embed_hosts" value="{{approved_embed_hosts}}">
|
||||
<input hidden id="SITE_FULL_IMAGES" value="{{SITE_FULL_IMAGES}}">
|
||||
|
||||
{% if v %}
|
||||
<input hidden id="MAX_IMAGE_AUDIO_SIZE_MB" value="{{MAX_IMAGE_AUDIO_SIZE_MB}}">
|
||||
<input hidden id="MAX_IMAGE_AUDIO_SIZE_MB_PATRON" value="{{MAX_IMAGE_AUDIO_SIZE_MB_PATRON}}">
|
||||
<input hidden id="MAX_VIDEO_SIZE_MB" value="{{MAX_VIDEO_SIZE_MB}}">
|
||||
<input hidden id="MAX_VIDEO_SIZE_MB_PATRON" value="{{MAX_VIDEO_SIZE_MB_PATRON}}">
|
||||
{% endif %}
|
||||
|
||||
<script src="{{'js/top.js' | asset}}"></script>
|
||||
{% block body required %}{% endblock %}
|
||||
{{html_head.stylesheets_lower()}}
|
||||
|
|
Loading…
Reference in New Issue