forked from rDrama/rDrama
fdMerge branch 'frost' of https://github.com/Aevann1/Drama into frost
commit
e9e4a219f9
|
@ -1,6 +1,6 @@
|
||||||
image.*
|
image.*
|
||||||
video.mp4
|
video.mp4
|
||||||
video.webm
|
unsanitized.mp4
|
||||||
cache/
|
cache/
|
||||||
__pycache__/
|
__pycache__/
|
||||||
.idea/
|
.idea/
|
||||||
|
|
|
@ -670,7 +670,7 @@ if SITE_NAME == 'PCM':
|
||||||
AWARDS2 = deepcopy(AWARDS)
|
AWARDS2 = deepcopy(AWARDS)
|
||||||
for k, val in AWARDS.items():
|
for k, val in AWARDS.items():
|
||||||
if val['description'] == '???' and not (k == 'ghost' and SITE_NAME == 'PCM'): AWARDS2.pop(k)
|
if val['description'] == '???' and not (k == 'ghost' and SITE_NAME == 'PCM'): AWARDS2.pop(k)
|
||||||
if SITE == 'pcmemes.net' and k in ('ban','pizzashill','marsey','bird','grass','chud'): AWARDS2.pop(k)
|
if SITE == 'pcmemes.net' and k in ('ban','pizzashill','marsey','bird','grass','chud','unblockable'): AWARDS2.pop(k)
|
||||||
|
|
||||||
|
|
||||||
AWARDS3 = {}
|
AWARDS3 = {}
|
||||||
|
|
|
@ -40,9 +40,10 @@ def allowed_attributes(tag, name, value):
|
||||||
else: return False
|
else: return False
|
||||||
|
|
||||||
if name == 'loading' and value == 'lazy': return True
|
if name == 'loading' and value == 'lazy': return True
|
||||||
if name == 'referrpolicy' and value == 'no-referrer': return True
|
|
||||||
if name == 'data-bs-toggle' and value == 'tooltip': return True
|
if name == 'data-bs-toggle' and value == 'tooltip': return True
|
||||||
if name in ['alt','title','g','b']: return True
|
if name in ['g','b'] and not value: return True
|
||||||
|
if name in ['alt','title']: return True
|
||||||
|
if name == 'referrpolicy' and value == 'no-referrer': return True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
if tag == 'lite-youtube':
|
if tag == 'lite-youtube':
|
||||||
|
@ -323,9 +324,11 @@ def sanitize(sanitized, alert=False, comment=False, edit=False):
|
||||||
def allowed_attributes_emojis(tag, name, value):
|
def allowed_attributes_emojis(tag, name, value):
|
||||||
|
|
||||||
if tag == 'img':
|
if tag == 'img':
|
||||||
|
if name == 'src' and value.startswith('/'): return True
|
||||||
if name == 'loading' and value == 'lazy': return True
|
if name == 'loading' and value == 'lazy': return True
|
||||||
if name == 'data-bs-toggle' and value == 'tooltip': return True
|
if name == 'data-bs-toggle' and value == 'tooltip': return True
|
||||||
if name in ['src','alt','title','g']: return True
|
if name == 'g' and not value: return True
|
||||||
|
if name in ['alt','title']: return True
|
||||||
|
|
||||||
if tag == 'span':
|
if tag == 'span':
|
||||||
if name == 'data-bs-toggle' and value == 'tooltip': return True
|
if name == 'data-bs-toggle' and value == 'tooltip': return True
|
||||||
|
|
|
@ -311,7 +311,8 @@ def api_comment(v):
|
||||||
return {"error": str(e)}, 400
|
return {"error": str(e)}, 400
|
||||||
body += f"\n\n![]({image})"
|
body += f"\n\n![]({image})"
|
||||||
elif file.content_type.startswith('video/'):
|
elif file.content_type.startswith('video/'):
|
||||||
file.save("video.mp4")
|
file.save("unsanitized.mp4")
|
||||||
|
os.system(f'ffmpeg -y -loglevel warning -i unsanitized.mp4 -map_metadata -1 -c:v copy -c:a copy video.mp4')
|
||||||
with open("video.mp4", 'rb') as f:
|
with open("video.mp4", 'rb') as f:
|
||||||
try: req = requests.request("POST", "https://pomf2.lain.la/upload.php", files={'files[]': f}, timeout=5).json()
|
try: req = requests.request("POST", "https://pomf2.lain.la/upload.php", files={'files[]': f}, timeout=5).json()
|
||||||
except requests.Timeout: return {"error": "Video upload timed out, please try again!"}
|
except requests.Timeout: return {"error": "Video upload timed out, please try again!"}
|
||||||
|
@ -767,7 +768,8 @@ def edit_comment(cid, v):
|
||||||
url = process_image(v.patron, name)
|
url = process_image(v.patron, name)
|
||||||
body += f"\n\n![]({url})"
|
body += f"\n\n![]({url})"
|
||||||
elif file.content_type.startswith('video/'):
|
elif file.content_type.startswith('video/'):
|
||||||
file.save("video.mp4")
|
file.save("unsanitized.mp4")
|
||||||
|
os.system(f'ffmpeg -y -loglevel warning -i unsanitized.mp4 -map_metadata -1 -c:v copy -c:a copy video.mp4')
|
||||||
with open("video.mp4", 'rb') as f:
|
with open("video.mp4", 'rb') as f:
|
||||||
try: req = requests.request("POST", "https://pomf2.lain.la/upload.php", files={'files[]': f}, timeout=5).json()
|
try: req = requests.request("POST", "https://pomf2.lain.la/upload.php", files={'files[]': f}, timeout=5).json()
|
||||||
except requests.Timeout: return {"error": "Video upload timed out, please try again!"}
|
except requests.Timeout: return {"error": "Video upload timed out, please try again!"}
|
||||||
|
|
|
@ -18,7 +18,7 @@ from os import path
|
||||||
import requests
|
import requests
|
||||||
from shutil import copyfile
|
from shutil import copyfile
|
||||||
from sys import stdout
|
from sys import stdout
|
||||||
|
import os
|
||||||
|
|
||||||
if SITE_NAME == 'PCM': snappyquotes = []
|
if SITE_NAME == 'PCM': snappyquotes = []
|
||||||
else: snappyquotes = [f':#{x}:' for x in marseys_const2]
|
else: snappyquotes = [f':#{x}:' for x in marseys_const2]
|
||||||
|
@ -464,7 +464,8 @@ def edit_post(pid, v):
|
||||||
url = process_image(v.patron, name)
|
url = process_image(v.patron, name)
|
||||||
body += f"\n\n![]({url})"
|
body += f"\n\n![]({url})"
|
||||||
elif file.content_type.startswith('video/'):
|
elif file.content_type.startswith('video/'):
|
||||||
file.save("video.mp4")
|
file.save("unsanitized.mp4")
|
||||||
|
os.system(f'ffmpeg -y -loglevel warning -i unsanitized.mp4 -map_metadata -1 -c:v copy -c:a copy video.mp4')
|
||||||
with open("video.mp4", 'rb') as f:
|
with open("video.mp4", 'rb') as f:
|
||||||
try: req = requests.request("POST", "https://pomf2.lain.la/upload.php", files={'files[]': f}, timeout=5).json()
|
try: req = requests.request("POST", "https://pomf2.lain.la/upload.php", files={'files[]': f}, timeout=5).json()
|
||||||
except requests.Timeout: return {"error": "Video upload timed out, please try again!"}
|
except requests.Timeout: return {"error": "Video upload timed out, please try again!"}
|
||||||
|
@ -1077,7 +1078,8 @@ def submit_post(v, sub=None):
|
||||||
file.save(name)
|
file.save(name)
|
||||||
body += f"\n\n![]({process_image(v.patron, name)})"
|
body += f"\n\n![]({process_image(v.patron, name)})"
|
||||||
elif file.content_type.startswith('video/'):
|
elif file.content_type.startswith('video/'):
|
||||||
file.save("video.mp4")
|
file.save("unsanitized.mp4")
|
||||||
|
os.system(f'ffmpeg -y -loglevel warning -i unsanitized.mp4 -map_metadata -1 -c:v copy -c:a copy video.mp4')
|
||||||
with open("video.mp4", 'rb') as f:
|
with open("video.mp4", 'rb') as f:
|
||||||
try: req = requests.request("POST", "https://pomf2.lain.la/upload.php", files={'files[]': f}, timeout=5).json()
|
try: req = requests.request("POST", "https://pomf2.lain.la/upload.php", files={'files[]': f}, timeout=5).json()
|
||||||
except requests.Timeout: return {"error": "Video upload timed out, please try again!"}
|
except requests.Timeout: return {"error": "Video upload timed out, please try again!"}
|
||||||
|
@ -1182,7 +1184,8 @@ def submit_post(v, sub=None):
|
||||||
copyfile(name, name2)
|
copyfile(name, name2)
|
||||||
post.thumburl = process_image(v.patron, name2, resize=100)
|
post.thumburl = process_image(v.patron, name2, resize=100)
|
||||||
elif file.content_type.startswith('video/'):
|
elif file.content_type.startswith('video/'):
|
||||||
file.save("video.mp4")
|
file.save("unsanitized.mp4")
|
||||||
|
os.system(f'ffmpeg -y -loglevel warning -i unsanitized.mp4 -map_metadata -1 -c:v copy -c:a copy video.mp4')
|
||||||
with open("video.mp4", 'rb') as f:
|
with open("video.mp4", 'rb') as f:
|
||||||
try: req = requests.request("POST", "https://pomf2.lain.la/upload.php", files={'files[]': f}, timeout=5).json()
|
try: req = requests.request("POST", "https://pomf2.lain.la/upload.php", files={'files[]': f}, timeout=5).json()
|
||||||
except requests.Timeout: return {"error": "Video upload timed out, please try again!"}
|
except requests.Timeout: return {"error": "Video upload timed out, please try again!"}
|
||||||
|
|
|
@ -217,7 +217,8 @@ def settings_profile_post(v):
|
||||||
url = process_image(v.patron, name)
|
url = process_image(v.patron, name)
|
||||||
bio += f"\n\n![]({url})"
|
bio += f"\n\n![]({url})"
|
||||||
elif file.content_type.startswith('video/'):
|
elif file.content_type.startswith('video/'):
|
||||||
file.save("video.mp4")
|
file.save("unsanitized.mp4")
|
||||||
|
os.system(f'ffmpeg -y -loglevel warning -i unsanitized.mp4 -map_metadata -1 -c:v copy -c:a copy video.mp4')
|
||||||
with open("video.mp4", 'rb') as f:
|
with open("video.mp4", 'rb') as f:
|
||||||
try: req = requests.request("POST", "https://pomf2.lain.la/upload.php", files={'files[]': f}, timeout=5).json()
|
try: req = requests.request("POST", "https://pomf2.lain.la/upload.php", files={'files[]': f}, timeout=5).json()
|
||||||
except requests.Timeout: return {"error": "Video upload timed out, please try again!"}
|
except requests.Timeout: return {"error": "Video upload timed out, please try again!"}
|
||||||
|
|
|
@ -4,7 +4,7 @@ from files.helpers.alerts import *
|
||||||
from files.helpers.const import *
|
from files.helpers.const import *
|
||||||
from files.classes.award import AWARDS
|
from files.classes.award import AWARDS
|
||||||
from sqlalchemy import func
|
from sqlalchemy import func
|
||||||
from os import path
|
import os
|
||||||
import calendar
|
import calendar
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
from files.classes.mod_logs import ACTIONTYPES, ACTIONTYPES2
|
from files.classes.mod_logs import ACTIONTYPES, ACTIONTYPES2
|
||||||
|
@ -404,7 +404,8 @@ def submit_contact(v):
|
||||||
url = process_image(v.patron, name)
|
url = process_image(v.patron, name)
|
||||||
body_html += f'<img data-bs-target="#expandImageModal" data-bs-toggle="modal" onclick="expandDesktopImage(this.src)" class="img" src="{url}" loading="lazy">'
|
body_html += f'<img data-bs-target="#expandImageModal" data-bs-toggle="modal" onclick="expandDesktopImage(this.src)" class="img" src="{url}" loading="lazy">'
|
||||||
elif file.content_type.startswith('video/'):
|
elif file.content_type.startswith('video/'):
|
||||||
file.save("video.mp4")
|
file.save("unsanitized.mp4")
|
||||||
|
os.system(f'ffmpeg -y -loglevel warning -i unsanitized.mp4 -map_metadata -1 -c:v copy -c:a copy video.mp4')
|
||||||
with open("video.mp4", 'rb') as f:
|
with open("video.mp4", 'rb') as f:
|
||||||
try: req = requests.request("POST", "https://pomf2.lain.la/upload.php", files={'files[]': f}, timeout=5).json()
|
try: req = requests.request("POST", "https://pomf2.lain.la/upload.php", files={'files[]': f}, timeout=5).json()
|
||||||
except requests.Timeout: return {"error": "Video upload timed out, please try again!"}
|
except requests.Timeout: return {"error": "Video upload timed out, please try again!"}
|
||||||
|
|
|
@ -13,6 +13,7 @@ from pusher_push_notifications import PushNotifications
|
||||||
from collections import Counter
|
from collections import Counter
|
||||||
import gevent
|
import gevent
|
||||||
from sys import stdout
|
from sys import stdout
|
||||||
|
import os
|
||||||
|
|
||||||
if PUSHER_ID != 'blahblahblah':
|
if PUSHER_ID != 'blahblahblah':
|
||||||
beams_client = PushNotifications(instance_id=PUSHER_ID, secret_key=PUSHER_KEY)
|
beams_client = PushNotifications(instance_id=PUSHER_ID, secret_key=PUSHER_KEY)
|
||||||
|
@ -700,7 +701,8 @@ def messagereply(v):
|
||||||
url = process_image(v.patron, name)
|
url = process_image(v.patron, name)
|
||||||
body_html += f'<img data-bs-target="#expandImageModal" data-bs-toggle="modal" onclick="expandDesktopImage(this.src)" class="img" src="{url}" loading="lazy">'
|
body_html += f'<img data-bs-target="#expandImageModal" data-bs-toggle="modal" onclick="expandDesktopImage(this.src)" class="img" src="{url}" loading="lazy">'
|
||||||
elif file.content_type.startswith('video/'):
|
elif file.content_type.startswith('video/'):
|
||||||
file.save("video.mp4")
|
file.save("unsanitized.mp4")
|
||||||
|
os.system(f'ffmpeg -y -loglevel warning -i unsanitized.mp4 -map_metadata -1 -c:v copy -c:a copy video.mp4')
|
||||||
with open("video.mp4", 'rb') as f:
|
with open("video.mp4", 'rb') as f:
|
||||||
try: req = requests.request("POST", "https://pomf2.lain.la/upload.php", files={'files[]': f}, timeout=5).json()
|
try: req = requests.request("POST", "https://pomf2.lain.la/upload.php", files={'files[]': f}, timeout=5).json()
|
||||||
except requests.exceptions.ConnectionError: return {"error": "Video upload timed out, please try again!"}
|
except requests.exceptions.ConnectionError: return {"error": "Video upload timed out, please try again!"}
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
|
|
||||||
{% if v %}
|
{% if v %}
|
||||||
<style>:root{--primary:#{{v.themecolor}}}</style>
|
<style>:root{--primary:#{{v.themecolor}}}</style>
|
||||||
<link rel="stylesheet" href="/assets/css/main.css?v=266">
|
<link rel="stylesheet" href="/assets/css/main.css?v=267">
|
||||||
<link rel="stylesheet" href="/assets/css/{{v.theme}}.css?v=57">
|
<link rel="stylesheet" href="/assets/css/{{v.theme}}.css?v=57">
|
||||||
{% if v.agendaposter %}
|
{% if v.agendaposter %}
|
||||||
<style>
|
<style>
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
<title>Chat</title>
|
<title>Chat</title>
|
||||||
|
|
||||||
<style>:root{--primary:#{{v.themecolor}}}</style>
|
<style>:root{--primary:#{{v.themecolor}}}</style>
|
||||||
<link rel="stylesheet" href="/assets/css/main.css?v=266">
|
<link rel="stylesheet" href="/assets/css/main.css?v=267">
|
||||||
<link rel="stylesheet" href="/assets/css/{{v.theme}}.css?v=57">
|
<link rel="stylesheet" href="/assets/css/{{v.theme}}.css?v=57">
|
||||||
{% if v.css %}
|
{% if v.css %}
|
||||||
<link rel="stylesheet" href="/@{{v.username}}/css">
|
<link rel="stylesheet" href="/@{{v.username}}/css">
|
||||||
|
|
|
@ -846,7 +846,7 @@
|
||||||
|
|
||||||
{% if v %}
|
{% if v %}
|
||||||
<script src="/assets/js/marked.js?v=253"></script>
|
<script src="/assets/js/marked.js?v=253"></script>
|
||||||
<script src="/assets/js/comments_v.js?v=268"></script>
|
<script src="/assets/js/comments_v.js?v=269"></script>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<script src="/assets/js/clipboard.js?v=250"></script>
|
<script src="/assets/js/clipboard.js?v=250"></script>
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
<script src="/assets/js/shortcut handler.js?v=1"></script>
|
<script src="/assets/js/shortcut handler.js?v=1"></script>
|
||||||
{% if v %}
|
{% if v %}
|
||||||
<style>:root{--primary:#{{v.themecolor}}}</style>
|
<style>:root{--primary:#{{v.themecolor}}}</style>
|
||||||
<link rel="stylesheet" href="/assets/css/main.css?v=266">
|
<link rel="stylesheet" href="/assets/css/main.css?v=267">
|
||||||
<link rel="stylesheet" href="/assets/css/{{v.theme}}.css?v=57">
|
<link rel="stylesheet" href="/assets/css/{{v.theme}}.css?v=57">
|
||||||
{% if v.agendaposter %}
|
{% if v.agendaposter %}
|
||||||
<style>
|
<style>
|
||||||
|
@ -33,7 +33,7 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% else %}
|
{% else %}
|
||||||
<style>:root{--primary:#{{config('DEFAULT_COLOR')}}</style>
|
<style>:root{--primary:#{{config('DEFAULT_COLOR')}}</style>
|
||||||
<link rel="stylesheet" href="/assets/css/main.css?v=266">
|
<link rel="stylesheet" href="/assets/css/main.css?v=267">
|
||||||
<link rel="stylesheet" href="/assets/css/{{config('DEFAULT_THEME')}}.css?v=57">
|
<link rel="stylesheet" href="/assets/css/{{config('DEFAULT_THEME')}}.css?v=57">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
{% block content %}
|
{% block content %}
|
||||||
{% if v %}
|
{% if v %}
|
||||||
<style>:root{--primary:#{{v.themecolor}}}</style>
|
<style>:root{--primary:#{{v.themecolor}}}</style>
|
||||||
<link rel="stylesheet" href="/assets/css/main.css?v=266">
|
<link rel="stylesheet" href="/assets/css/main.css?v=267">
|
||||||
<link rel="stylesheet" href="/assets/css/{{v.theme}}.css?v=57">
|
<link rel="stylesheet" href="/assets/css/{{v.theme}}.css?v=57">
|
||||||
{% if v.agendaposter %}
|
{% if v.agendaposter %}
|
||||||
<style>
|
<style>
|
||||||
|
@ -31,7 +31,7 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% else %}
|
{% else %}
|
||||||
<style>:root{--primary:#{{config('DEFAULT_COLOR')}}</style>
|
<style>:root{--primary:#{{config('DEFAULT_COLOR')}}</style>
|
||||||
<link rel="stylesheet" href="/assets/css/main.css?v=266">
|
<link rel="stylesheet" href="/assets/css/main.css?v=267">
|
||||||
<link rel="stylesheet" href="/assets/css/{{config('DEFAULT_THEME')}}.css?v=57">
|
<link rel="stylesheet" href="/assets/css/{{config('DEFAULT_THEME')}}.css?v=57">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
<style>:root{--primary:#{{config('DEFAULT_COLOR')}}</style>
|
<style>:root{--primary:#{{config('DEFAULT_COLOR')}}</style>
|
||||||
<link rel="stylesheet" href="/assets/css/main.css?v=266">
|
<link rel="stylesheet" href="/assets/css/main.css?v=267">
|
||||||
<link rel="stylesheet" href="/assets/css/{{config('DEFAULT_THEME')}}.css?v=57">
|
<link rel="stylesheet" href="/assets/css/{{config('DEFAULT_THEME')}}.css?v=57">
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
<title>2-Step Login - {{SITE_NAME}}</title>
|
<title>2-Step Login - {{SITE_NAME}}</title>
|
||||||
|
|
||||||
<style>:root{--primary:#{{config('DEFAULT_COLOR')}}</style>
|
<style>:root{--primary:#{{config('DEFAULT_COLOR')}}</style>
|
||||||
<link rel="stylesheet" href="/assets/css/main.css?v=266">
|
<link rel="stylesheet" href="/assets/css/main.css?v=267">
|
||||||
<link rel="stylesheet" href="/assets/css/{{config('DEFAULT_THEME')}}.css?v=57">
|
<link rel="stylesheet" href="/assets/css/{{config('DEFAULT_THEME')}}.css?v=57">
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
|
|
||||||
|
|
||||||
<style>:root{--primary:#{{v.themecolor}}}</style>
|
<style>:root{--primary:#{{v.themecolor}}}</style>
|
||||||
<link rel="stylesheet" href="/assets/css/main.css?v=266">
|
<link rel="stylesheet" href="/assets/css/main.css?v=267">
|
||||||
<link rel="stylesheet" href="/assets/css/{{v.theme}}.css?v=57">
|
<link rel="stylesheet" href="/assets/css/{{v.theme}}.css?v=57">
|
||||||
{% if v.agendaposter %}
|
{% if v.agendaposter %}
|
||||||
<style>
|
<style>
|
||||||
|
|
|
@ -39,11 +39,11 @@
|
||||||
|
|
||||||
{% if v %}
|
{% if v %}
|
||||||
<style>:root{--primary:#{{v.themecolor}}}</style>
|
<style>:root{--primary:#{{v.themecolor}}}</style>
|
||||||
<link rel="stylesheet" href="/assets/css/main.css?v=266">
|
<link rel="stylesheet" href="/assets/css/main.css?v=267">
|
||||||
<link rel="stylesheet" href="/assets/css/{{v.theme}}.css?v=57">
|
<link rel="stylesheet" href="/assets/css/{{v.theme}}.css?v=57">
|
||||||
{% else %}
|
{% else %}
|
||||||
<style>:root{--primary:#{{config('DEFAULT_COLOR')}}</style>
|
<style>:root{--primary:#{{config('DEFAULT_COLOR')}}</style>
|
||||||
<link rel="stylesheet" href="/assets/css/main.css?v=266">
|
<link rel="stylesheet" href="/assets/css/main.css?v=267">
|
||||||
<link rel="stylesheet" href="/assets/css/{{config('DEFAULT_THEME')}}.css?v=57">
|
<link rel="stylesheet" href="/assets/css/{{config('DEFAULT_THEME')}}.css?v=57">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</head>
|
</head>
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
<title>{% if ref_user %}{{ref_user.username}} invites you to {{SITE_NAME}}{% else %}Sign up - {{SITE_NAME}}{% endif %}</title>
|
<title>{% if ref_user %}{{ref_user.username}} invites you to {{SITE_NAME}}{% else %}Sign up - {{SITE_NAME}}{% endif %}</title>
|
||||||
|
|
||||||
<style>:root{--primary:#{{config('DEFAULT_COLOR')}}</style>
|
<style>:root{--primary:#{{config('DEFAULT_COLOR')}}</style>
|
||||||
<link rel="stylesheet" href="/assets/css/main.css?v=266">
|
<link rel="stylesheet" href="/assets/css/main.css?v=267">
|
||||||
<link rel="stylesheet" href="/assets/css/{{config('DEFAULT_THEME')}}.css?v=57">
|
<link rel="stylesheet" href="/assets/css/{{config('DEFAULT_THEME')}}.css?v=57">
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
<title>{% if ref_user %}{{ref_user.username}} invites you to {{SITE_NAME}}{% else %}{{SITE_NAME}}{% endif %}</title>
|
<title>{% if ref_user %}{{ref_user.username}} invites you to {{SITE_NAME}}{% else %}{{SITE_NAME}}{% endif %}</title>
|
||||||
|
|
||||||
<style>:root{--primary:#{{config('DEFAULT_COLOR')}}</style>
|
<style>:root{--primary:#{{config('DEFAULT_COLOR')}}</style>
|
||||||
<link rel="stylesheet" href="/assets/css/main.css?v=266">
|
<link rel="stylesheet" href="/assets/css/main.css?v=267">
|
||||||
<link rel="stylesheet" href="/assets/css/{{config('DEFAULT_THEME')}}.css?v=57">
|
<link rel="stylesheet" href="/assets/css/{{config('DEFAULT_THEME')}}.css?v=57">
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
|
@ -57,6 +57,12 @@
|
||||||
</script>
|
</script>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
{% if SITE_NAME == 'PCM' %}
|
||||||
|
{% set wholesome = '/assets/images/wholesome.webp' %}
|
||||||
|
{% else %}
|
||||||
|
{% set wholesome = '/e/marseywholesome.webp' %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{% if g.inferior_browser %}
|
{% if g.inferior_browser %}
|
||||||
{% if p.award_count("wholesome") %}
|
{% if p.award_count("wholesome") %}
|
||||||
<style>
|
<style>
|
||||||
|
@ -93,7 +99,7 @@
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<div class="seal seal1" height="100%" width="100%">
|
<div class="seal seal1" height="100%" width="100%">
|
||||||
<img alt=":#marseywholesome:" class="sealimg" src="/e/marseywholesome.webp">
|
<img alt=":#marseywholesome:" class="sealimg" src="{{wholesome}}">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% if p.award_count("wholesome") > 1 %}
|
{% if p.award_count("wholesome") > 1 %}
|
||||||
|
@ -104,7 +110,7 @@
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<div class="seal seal2" height="100%" width="100%">
|
<div class="seal seal2" height="100%" width="100%">
|
||||||
<img alt=":#marseywholesome:" class="sealimg" src="/e/marseywholesome.webp">
|
<img alt=":#marseywholesome:" class="sealimg" src="{{wholesome}}">
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
@ -116,7 +122,7 @@
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<div class="seal seal3" height="100%" width="100%">
|
<div class="seal seal3" height="100%" width="100%">
|
||||||
<img alt=":#marseywholesome:" class="sealimg" src="/e/marseywholesome.webp">
|
<img alt=":#marseywholesome:" class="sealimg" src="{{wholesome}}">
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
@ -128,7 +134,7 @@
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<div class="seal seal4" height="100%" width="100%">
|
<div class="seal seal4" height="100%" width="100%">
|
||||||
<img alt=":#marseywholesome:" class="sealimg" src="/e/marseywholesome.webp">
|
<img alt=":#marseywholesome:" class="sealimg" src="{{wholesome}}">
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -231,7 +237,7 @@
|
||||||
<div class="seal" height="100%" width="100%">
|
<div class="seal" height="100%" width="100%">
|
||||||
<marquee class="seal" scrollamount=10 behavior="alternate" direction="up" height="100%" width="100%">
|
<marquee class="seal" scrollamount=10 behavior="alternate" direction="up" height="100%" width="100%">
|
||||||
<marquee direction="right" scrollamount=10 behavior="alternate" height="100%" width="100%">
|
<marquee direction="right" scrollamount=10 behavior="alternate" height="100%" width="100%">
|
||||||
<img alt=":#marseywholesome:" class="sealimg" src="/e/marseywholesome.webp">
|
<img alt=":#marseywholesome:" class="sealimg" src="{{wholesome}}">
|
||||||
</marquee>
|
</marquee>
|
||||||
</marquee>
|
</marquee>
|
||||||
</div>
|
</div>
|
||||||
|
@ -239,7 +245,7 @@
|
||||||
{% if p.award_count("wholesome") > 1 %}
|
{% if p.award_count("wholesome") > 1 %}
|
||||||
<marquee class="seal" scrollamount=10 behavior="alternate" direction="down" height="100%">
|
<marquee class="seal" scrollamount=10 behavior="alternate" direction="down" height="100%">
|
||||||
<marquee direction="right" scrollamount=10 behavior="alternate" width="100%">
|
<marquee direction="right" scrollamount=10 behavior="alternate" width="100%">
|
||||||
<img alt=":#marseywholesome:" class="sealimg" src="/e/marseywholesome.webp">
|
<img alt=":#marseywholesome:" class="sealimg" src="{{wholesome}}">
|
||||||
</marquee>
|
</marquee>
|
||||||
</marquee>
|
</marquee>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -247,7 +253,7 @@
|
||||||
{% if p.award_count("wholesome") > 2 %}
|
{% if p.award_count("wholesome") > 2 %}
|
||||||
<marquee class="seal" scrollamount=10 behavior="alternate" direction="up" height="100%">
|
<marquee class="seal" scrollamount=10 behavior="alternate" direction="up" height="100%">
|
||||||
<marquee direction="left" scrollamount=10 behavior="alternate" width="100%">
|
<marquee direction="left" scrollamount=10 behavior="alternate" width="100%">
|
||||||
<img alt=":#marseywholesome:" class="sealimg" src="/e/marseywholesome.webp">
|
<img alt=":#marseywholesome:" class="sealimg" src="{{wholesome}}">
|
||||||
</marquee>
|
</marquee>
|
||||||
</marquee>
|
</marquee>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -255,7 +261,7 @@
|
||||||
{% if p.award_count("wholesome") > 3 %}
|
{% if p.award_count("wholesome") > 3 %}
|
||||||
<marquee class="seal" scrollamount=10 behavior="alternate" direction="down" height="100%">
|
<marquee class="seal" scrollamount=10 behavior="alternate" direction="down" height="100%">
|
||||||
<marquee direction="left" scrollamount=10 behavior="alternate" width="100%">
|
<marquee direction="left" scrollamount=10 behavior="alternate" width="100%">
|
||||||
<img alt=":#marseywholesome:" class="sealimg" src="/e/marseywholesome.webp">
|
<img alt=":#marseywholesome:" class="sealimg" src="{{wholesome}}">
|
||||||
</marquee>
|
</marquee>
|
||||||
</marquee>
|
</marquee>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
{% block stylesheets %}
|
{% block stylesheets %}
|
||||||
{% if v %}
|
{% if v %}
|
||||||
<style>:root{--primary:#{{v.themecolor}}}</style>
|
<style>:root{--primary:#{{v.themecolor}}}</style>
|
||||||
<link rel="stylesheet" href="/assets/css/main.css?v=266">
|
<link rel="stylesheet" href="/assets/css/main.css?v=267">
|
||||||
<link rel="stylesheet" href="/assets/css/{{v.theme}}.css?v=49">
|
<link rel="stylesheet" href="/assets/css/{{v.theme}}.css?v=49">
|
||||||
{% if v.agendaposter %}
|
{% if v.agendaposter %}
|
||||||
<style>
|
<style>
|
||||||
|
@ -51,7 +51,7 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% else %}
|
{% else %}
|
||||||
<style>:root{--primary:#{{config('DEFAULT_COLOR')}}</style>
|
<style>:root{--primary:#{{config('DEFAULT_COLOR')}}</style>
|
||||||
<link rel="stylesheet" href="/assets/css/main.css?v=266">
|
<link rel="stylesheet" href="/assets/css/main.css?v=267">
|
||||||
<link rel="stylesheet" href="/assets/css/{{config('DEFAULT_THEME')}}.css?v=49">
|
<link rel="stylesheet" href="/assets/css/{{config('DEFAULT_THEME')}}.css?v=49">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
[![Build status](https://img.shields.io/github/workflow/status/TheMotte/rDrama/run_tests.py/frost)](https://github.com/Aevann1/rDrama/actions?query=workflow%3Arun_tests.py+branch%3Afrost)
|
[![Build status](https://img.shields.io/github/workflow/status/TheMotte/rDrama/run_tests.py/frost)](https://github.com/Aevann1/rDrama/actions?query=workflow%3Arun_tests.py+branch%3Afrost)
|
||||||
|
|
||||||
|
|
||||||
This code runs https://rdrama.net and https://pcmemes.net
|
This code runs https://rdrama.net, https://pcmemes.net, https://cringetopia.org, and https://watchpeopledie.co
|
||||||
|
|
||||||
# Installation (Windows/Linux/MacOS)
|
# Installation (Windows/Linux/MacOS)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue