misc
This commit is contained in:
parent
5be6b3e635
commit
cce43afbe5
13 changed files with 43 additions and 22 deletions
2
env
2
env
|
@ -1,4 +1,4 @@
|
||||||
export DATABASE_URL="postgresql://postgres@127.0.0.1:5432"
|
export DATABASE_URL="postgresql://postgres@0.0.0.0:5432"
|
||||||
export MASTER_KEY="-KTVciAUQFpFh2WdJ/oiHJlxl6FvzRZp8kYzAAv3l2OA="
|
export MASTER_KEY="-KTVciAUQFpFh2WdJ/oiHJlxl6FvzRZp8kYzAAv3l2OA="
|
||||||
export DOMAIN="localhost"
|
export DOMAIN="localhost"
|
||||||
export SITE_NAME="Drama"
|
export SITE_NAME="Drama"
|
||||||
|
|
|
@ -41,7 +41,7 @@ app.config["SESSION_REFRESH_EACH_REQUEST"] = True
|
||||||
app.config["SLOGAN"] = environ.get("SLOGAN", "").strip()
|
app.config["SLOGAN"] = environ.get("SLOGAN", "").strip()
|
||||||
app.config["DEFAULT_COLOR"] = environ.get("DEFAULT_COLOR", "ff0000").strip()
|
app.config["DEFAULT_COLOR"] = environ.get("DEFAULT_COLOR", "ff0000").strip()
|
||||||
app.config["DEFAULT_THEME"] = environ.get("DEFAULT_THEME", "midnight").strip()
|
app.config["DEFAULT_THEME"] = environ.get("DEFAULT_THEME", "midnight").strip()
|
||||||
app.config["FORCE_HTTPS"] = int(environ.get("FORCE_HTTPS", 1)) if ("localhost" not in app.config["SERVER_NAME"] and "127.0.0.1" not in app.config["SERVER_NAME"]) else 0
|
app.config["FORCE_HTTPS"] = int(environ.get("FORCE_HTTPS", 1)) if ("localhost" not in app.config["SERVER_NAME"] and "0.0.0.0" not in app.config["SERVER_NAME"]) else 0
|
||||||
app.config["UserAgent"] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36"
|
app.config["UserAgent"] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36"
|
||||||
app.config["HCAPTCHA_SITEKEY"] = environ.get("HCAPTCHA_SITEKEY","").strip()
|
app.config["HCAPTCHA_SITEKEY"] = environ.get("HCAPTCHA_SITEKEY","").strip()
|
||||||
app.config["HCAPTCHA_SECRET"] = environ.get("HCAPTCHA_SECRET","").strip()
|
app.config["HCAPTCHA_SECRET"] = environ.get("HCAPTCHA_SECRET","").strip()
|
||||||
|
@ -60,14 +60,14 @@ app.config["RATELIMIT_DEFAULTS_EXEMPT_WHEN"]=lambda:False
|
||||||
app.config["RATELIMIT_HEADERS_ENABLED"]=True
|
app.config["RATELIMIT_HEADERS_ENABLED"]=True
|
||||||
app.config["CACHE_TYPE"] = "filesystem"
|
app.config["CACHE_TYPE"] = "filesystem"
|
||||||
app.config["CACHE_DIR"] = "cache"
|
app.config["CACHE_DIR"] = "cache"
|
||||||
app.config["RATELIMIT_STORAGE_URL"] = environ.get("REDIS_URL", "redis://127.0.0.1")
|
app.config["RATELIMIT_STORAGE_URL"] = environ.get("REDIS_URL", "redis://0.0.0.0")
|
||||||
app.config['MAIL_SERVER'] = 'smtp.gmail.com'
|
app.config['MAIL_SERVER'] = 'smtp.gmail.com'
|
||||||
app.config['MAIL_PORT'] = 587
|
app.config['MAIL_PORT'] = 587
|
||||||
app.config['MAIL_USE_TLS'] = True
|
app.config['MAIL_USE_TLS'] = True
|
||||||
app.config['MAIL_USERNAME'] = environ.get("MAIL_USERNAME", "").strip()
|
app.config['MAIL_USERNAME'] = environ.get("MAIL_USERNAME", "").strip()
|
||||||
app.config['MAIL_PASSWORD'] = environ.get("MAIL_PASSWORD", "").strip()
|
app.config['MAIL_PASSWORD'] = environ.get("MAIL_PASSWORD", "").strip()
|
||||||
|
|
||||||
r=redis.Redis(host=environ.get("REDIS_URL", "redis://127.0.0.1"), decode_responses=True, ssl_cert_reqs=None)
|
r=redis.Redis(host=environ.get("REDIS_URL", "redis://0.0.0.0"), decode_responses=True, ssl_cert_reqs=None)
|
||||||
|
|
||||||
limiter = Limiter(
|
limiter = Limiter(
|
||||||
app,
|
app,
|
||||||
|
|
|
@ -9,7 +9,7 @@ from sqlalchemy import *
|
||||||
from sqlalchemy.orm import relationship, deferred
|
from sqlalchemy.orm import relationship, deferred
|
||||||
|
|
||||||
from files.__main__ import Base
|
from files.__main__ import Base
|
||||||
from files.helpers.const import AUTOPOLLER_ACCOUNT, censor_slurs
|
from files.helpers.const import AUTOPOLLER_ACCOUNT, censor_slurs, TROLLTITLES
|
||||||
from files.helpers.lazy import lazy
|
from files.helpers.lazy import lazy
|
||||||
from .flags import Flag
|
from .flags import Flag
|
||||||
|
|
||||||
|
@ -331,7 +331,7 @@ class Submission(Base):
|
||||||
@lazy
|
@lazy
|
||||||
def realtitle(self, v):
|
def realtitle(self, v):
|
||||||
if self.club and not (v and v.paid_dues) and not (v and v.admin_level == 6):
|
if self.club and not (v and v.paid_dues) and not (v and v.admin_level == 6):
|
||||||
if v: return f'{v.username} dox'
|
if v: return random.choice(TROLLTITLES).format(username=v.username)
|
||||||
else: return 'COUNTRY CLUB MEMBERS ONLY'
|
else: return 'COUNTRY CLUB MEMBERS ONLY'
|
||||||
elif self.title_html: title = self.title_html
|
elif self.title_html: title = self.title_html
|
||||||
else: title = self.title
|
else: title = self.title
|
||||||
|
@ -343,7 +343,7 @@ class Submission(Base):
|
||||||
@lazy
|
@lazy
|
||||||
def plaintitle(self, v):
|
def plaintitle(self, v):
|
||||||
if self.club and not (v and v.paid_dues) and not (v and v.admin_level == 6):
|
if self.club and not (v and v.paid_dues) and not (v and v.admin_level == 6):
|
||||||
if v: return f'{v.username} dox'
|
if v: return random.choice(TROLLTITLES).format(username=v.username)
|
||||||
else: return 'COUNTRY CLUB MEMBERS ONLY'
|
else: return 'COUNTRY CLUB MEMBERS ONLY'
|
||||||
else: title = self.title
|
else: title = self.title
|
||||||
|
|
||||||
|
|
|
@ -302,4 +302,12 @@ else:
|
||||||
"color": "text-success",
|
"color": "text-success",
|
||||||
"price": 40000
|
"price": 40000
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TROLLTITLES = [
|
||||||
|
"how will @{username} ever recover?",
|
||||||
|
"@{username} BTFO",
|
||||||
|
"[META] Getting really sick of @{username}’s shit",
|
||||||
|
"Pretty sure this is @{username}'s Reddit account",
|
||||||
|
"Hey jannies can you please ban @{username}",
|
||||||
|
]
|
|
@ -500,13 +500,13 @@ def api_comment(v):
|
||||||
if not v.shadowbanned:
|
if not v.shadowbanned:
|
||||||
notify_users = set()
|
notify_users = set()
|
||||||
|
|
||||||
for x in g.db.query(Subscription.user_id).options(lazyload('*')).filter_by(submission_id=c.parent_submission).all():
|
for x in g.db.query(Subscription.user_id).options(lazyload('*')).filter_by(submission_id=c.parent_submission).all(): notify_users.add(x[0])
|
||||||
notify_users.add(x[0])
|
|
||||||
|
|
||||||
if parent.author.id != v.id: notify_users.add(parent.author.id)
|
if parent.author.id != v.id: notify_users.add(parent.author.id)
|
||||||
|
|
||||||
soup = BeautifulSoup(body_html, features="html.parser")
|
soup = BeautifulSoup(body_html, features="html.parser")
|
||||||
mentions = soup.find_all("a", href=re.compile("^/@(\w+)"))
|
mentions = soup.find_all("a", href=re.compile("^/@(\w+)"))
|
||||||
|
|
||||||
for mention in mentions:
|
for mention in mentions:
|
||||||
username = mention["href"].split("@")[1]
|
username = mention["href"].split("@")[1]
|
||||||
|
|
||||||
|
@ -517,6 +517,10 @@ def api_comment(v):
|
||||||
continue
|
continue
|
||||||
if user.id != v.id:
|
if user.id != v.id:
|
||||||
notify_users.add(user.id)
|
notify_users.add(user.id)
|
||||||
|
|
||||||
|
if request.host == 'rdrama.net' and 'aevann' in body_html.lower() and 1 not in notify_users:
|
||||||
|
notify_users.append(1)
|
||||||
|
|
||||||
for x in notify_users:
|
for x in notify_users:
|
||||||
n = Notification(comment_id=c.id, user_id=x)
|
n = Notification(comment_id=c.id, user_id=x)
|
||||||
g.db.add(n)
|
g.db.add(n)
|
||||||
|
@ -745,6 +749,8 @@ def edit_comment(cid, v):
|
||||||
if user.id != v.id:
|
if user.id != v.id:
|
||||||
notify_users.add(user.id)
|
notify_users.add(user.id)
|
||||||
|
|
||||||
|
if request.host == 'rdrama.net' and 'aevann' in body_html.lower() and 1 not in notify_users: notify_users.append(1)
|
||||||
|
|
||||||
for x in notify_users:
|
for x in notify_users:
|
||||||
notif = notifs.filter_by(comment_id=c.id, user_id=x).first()
|
notif = notifs.filter_by(comment_id=c.id, user_id=x).first()
|
||||||
if not notif:
|
if not notif:
|
||||||
|
|
|
@ -66,6 +66,8 @@ def publish(pid, v):
|
||||||
user = g.db.query(User).options(lazyload('*')).filter_by(username=username).first()
|
user = g.db.query(User).options(lazyload('*')).filter_by(username=username).first()
|
||||||
if user and not v.any_block_exists(user) and user.id != v.id: notify_users.add(user)
|
if user and not v.any_block_exists(user) and user.id != v.id: notify_users.add(user)
|
||||||
|
|
||||||
|
if request.host == 'rdrama.net' and 'aevann' in post.body_html.lower() and 1 not in notify_users: notify_users.append(1)
|
||||||
|
|
||||||
for x in notify_users: send_notification(x.id, f"@{v.username} has mentioned you: http://{site}{new_post.permalink}")
|
for x in notify_users: send_notification(x.id, f"@{v.username} has mentioned you: http://{site}{new_post.permalink}")
|
||||||
|
|
||||||
for follow in v.followers:
|
for follow in v.followers:
|
||||||
|
@ -309,6 +311,9 @@ def edit_post(pid, v):
|
||||||
if user and not v.any_block_exists(user) and user.id != v.id: notify_users.add(user)
|
if user and not v.any_block_exists(user) and user.id != v.id: notify_users.add(user)
|
||||||
|
|
||||||
message = f"@{v.username} has mentioned you: http://{site}{p.permalink}"
|
message = f"@{v.username} has mentioned you: http://{site}{p.permalink}"
|
||||||
|
|
||||||
|
if request.host == 'rdrama.net' and 'aevann' in body_html.lower() and 1 not in notify_users: notify_users.append(1)
|
||||||
|
|
||||||
for x in notify_users:
|
for x in notify_users:
|
||||||
existing = g.db.query(Comment).options(lazyload('*')).filter(Comment.author_id == NOTIFICATIONS_ACCOUNT, Comment.body == message, Comment.notifiedto == x.id).first()
|
existing = g.db.query(Comment).options(lazyload('*')).filter(Comment.author_id == NOTIFICATIONS_ACCOUNT, Comment.body == message, Comment.notifiedto == x.id).first()
|
||||||
if not existing: send_notification(x.id, message)
|
if not existing: send_notification(x.id, message)
|
||||||
|
@ -742,7 +747,9 @@ def submit_post(v):
|
||||||
username = mention["href"].split("@")[1]
|
username = mention["href"].split("@")[1]
|
||||||
user = g.db.query(User).options(lazyload('*')).filter_by(username=username).first()
|
user = g.db.query(User).options(lazyload('*')).filter_by(username=username).first()
|
||||||
if user and not v.any_block_exists(user) and user.id != v.id: notify_users.add(user)
|
if user and not v.any_block_exists(user) and user.id != v.id: notify_users.add(user)
|
||||||
|
|
||||||
|
if request.host == 'rdrama.net' and 'aevann' in body_html.lower() and 1 not in notify_users: notify_users.append(1)
|
||||||
|
|
||||||
for x in notify_users: send_notification(x.id, f"@{v.username} has mentioned you: http://{site}{new_post.permalink}")
|
for x in notify_users: send_notification(x.id, f"@{v.username} has mentioned you: http://{site}{new_post.permalink}")
|
||||||
|
|
||||||
for follow in v.followers:
|
for follow in v.followers:
|
||||||
|
|
|
@ -278,7 +278,7 @@
|
||||||
{% if c.is_blocking %}<i class="fas fa-user-minus text-warning" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{% if v and v.admin_level >= 2 %}You're blocking this user, but you can see this comment because {{'it\'s pinned' if c.is_pinned else 'you\'re an admin'}}.{% else %}Comment author is banned{% endif %}"></i>{% endif %}
|
{% if c.is_blocking %}<i class="fas fa-user-minus text-warning" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{% if v and v.admin_level >= 2 %}You're blocking this user, but you can see this comment because {{'it\'s pinned' if c.is_pinned else 'you\'re an admin'}}.{% else %}Comment author is banned{% endif %}"></i>{% endif %}
|
||||||
{% if c.is_blocked %}<i class="fas fa-user-minus text-danger" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="This user is blocking you."></i>{% endif %}
|
{% if c.is_blocked %}<i class="fas fa-user-minus text-danger" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="This user is blocking you."></i>{% endif %}
|
||||||
|
|
||||||
{% if c.author.verified %}<i class="fas fa-badge-check align-middle ml-1" style="color:{% if 'rdrama.net' in request.host and c.author.id in [541,1387] %}#62ca56{% elif 'rdrama.net' in request.host and c.author.id in [30,2256] %}#ff0000{% else %}#1DA1F2{% endif %}" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{{c.author.verified}}"></i>
|
{% if c.author.verified %}<i class="fas fa-badge-check align-middle ml-1" style="color:{% if request.host == 'rdrama.net' and c.author.id in [541,1387] %}#62ca56{% elif request.host == 'rdrama.net' and c.author.id in [30,2256] %}#ff0000{% else %}#1DA1F2{% endif %}" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{{c.author.verified}}"></i>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<a class="user-name text-decoration-none" data-bs-placement="bottom" data-bs-toggle="popover" data-bs-trigger="focus" data-content-id="popover-{{c.id}}" href="javascript:void(0)" tabindex="0" style="color:#{{c.author.namecolor}}; font-size:12px; font-weight:bold;"><img loading="lazy" src="{{c.author.profile_url}}" class="profile-pic-25 mr-2"><span {% if c.author.patron and not c.distinguish_level %}class="patron" style="background-color:#{{c.author.namecolor}};"{% elif c.distinguish_level and 'rama' in request.host %}class="mod"{% endif %}>{{c.author.username}}</span></a>
|
<a class="user-name text-decoration-none" data-bs-placement="bottom" data-bs-toggle="popover" data-bs-trigger="focus" data-content-id="popover-{{c.id}}" href="javascript:void(0)" tabindex="0" style="color:#{{c.author.namecolor}}; font-size:12px; font-weight:bold;"><img loading="lazy" src="{{c.author.profile_url}}" class="profile-pic-25 mr-2"><span {% if c.author.patron and not c.distinguish_level %}class="patron" style="background-color:#{{c.author.namecolor}};"{% elif c.distinguish_level and 'rama' in request.host %}class="mod"{% endif %}>{{c.author.username}}</span></a>
|
||||||
|
|
|
@ -424,7 +424,7 @@
|
||||||
{% if p.over_18 %}<span class="badge badge-danger text-small-extra mr-1">+18</span>{% endif %}
|
{% if p.over_18 %}<span class="badge badge-danger text-small-extra mr-1">+18</span>{% endif %}
|
||||||
{% if p.private %}<span class="badge border-warning border-1 text-small-extra">Draft</span>{% endif %}
|
{% if p.private %}<span class="badge border-warning border-1 text-small-extra">Draft</span>{% endif %}
|
||||||
{% if p.active_flags %}<a class="btn btn-primary" href="javascript:void(0)" style="padding:1px 5px; font-size:10px;" onclick="document.getElementById('flaggers').classList.toggle('d-none')">{{p.active_flags}} Reports</a>{% endif %}
|
{% if p.active_flags %}<a class="btn btn-primary" href="javascript:void(0)" style="padding:1px 5px; font-size:10px;" onclick="document.getElementById('flaggers').classList.toggle('d-none')">{{p.active_flags}} Reports</a>{% endif %}
|
||||||
{% if p.author.verified %}<i class="fas fa-badge-check align-middle ml-1" style="color:{% if 'rdrama.net' in request.host and p.author.id in [541,1387] %}#62ca56{% elif 'rdrama.net' in request.host and p.author.id in [30,2256] %}#ff0000{% else %}#1DA1F2{% endif %}" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{{p.author.verified}}"></i>
|
{% if p.author.verified %}<i class="fas fa-badge-check align-middle ml-1" style="color:{% if request.host == 'rdrama.net' and p.author.id in [541,1387] %}#62ca56{% elif request.host == 'rdrama.net' and p.author.id in [30,2256] %}#ff0000{% else %}#1DA1F2{% endif %}" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{{p.author.verified}}"></i>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<a class="user-name text-decoration-none" data-bs-placement="bottom" data-bs-toggle="popover" data-bs-trigger="focus" data-content-id="popover-{{p.id}}" href="javascript:void(0)" tabindex="0" style="color: #{{p.author.namecolor}}; font-weight: bold;" class="user-name"><img loading="lazy" src="{{p.author.profile_url}}" class="profile-pic-25 mr-2"><span {% if p.author.patron and not p.distinguish_level %}class="patron" style="background-color:#{{p.author.namecolor}};"{% elif p.distinguish_level and 'rama' in request.host %}class="mod"{% endif %}>{{p.author.username}}</span></a>{% if p.author.customtitle %} <bdi style="color: #{{p.author.titlecolor}}"> {% if p.author.quadrant %}<img loading="lazy" height="20" src="/assets/images/PCM/quadrants/{{p.author.quadrant}}.gif">{% endif %}{{p.author.customtitle | safe}}</bdi>{% endif %}
|
<a class="user-name text-decoration-none" data-bs-placement="bottom" data-bs-toggle="popover" data-bs-trigger="focus" data-content-id="popover-{{p.id}}" href="javascript:void(0)" tabindex="0" style="color: #{{p.author.namecolor}}; font-weight: bold;" class="user-name"><img loading="lazy" src="{{p.author.profile_url}}" class="profile-pic-25 mr-2"><span {% if p.author.patron and not p.distinguish_level %}class="patron" style="background-color:#{{p.author.namecolor}};"{% elif p.distinguish_level and 'rama' in request.host %}class="mod"{% endif %}>{{p.author.username}}</span></a>{% if p.author.customtitle %} <bdi style="color: #{{p.author.titlecolor}}"> {% if p.author.quadrant %}<img loading="lazy" height="20" src="/assets/images/PCM/quadrants/{{p.author.quadrant}}.gif">{% endif %}{{p.author.customtitle | safe}}</bdi>{% endif %}
|
||||||
<span data-bs-toggle="tooltip" data-bs-placement="bottom" id="timestamp"> {{p.age_string}}</span>
|
<span data-bs-toggle="tooltip" data-bs-placement="bottom" id="timestamp"> {{p.age_string}}</span>
|
||||||
|
|
|
@ -192,7 +192,7 @@
|
||||||
{% if p.is_blocked %}<i class="fas fa-user-minus text-danger" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="This user is blocking you."></i>{% endif %}
|
{% if p.is_blocked %}<i class="fas fa-user-minus text-danger" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="This user is blocking you."></i>{% endif %}
|
||||||
{% if p.private %}<span class="badge border-warning border-1 text-small-extra">Draft</span>{% endif %}
|
{% if p.private %}<span class="badge border-warning border-1 text-small-extra">Draft</span>{% endif %}
|
||||||
{% if p.active_flags %}<a class="btn btn-primary" href="javascript:void(0)" style="padding:1px 5px; font-size:10px;" onclick="document.getElementById('flaggers-{{p.id}}').classList.toggle('d-none')">{{p.active_flags}} Reports</a>{% endif %}
|
{% if p.active_flags %}<a class="btn btn-primary" href="javascript:void(0)" style="padding:1px 5px; font-size:10px;" onclick="document.getElementById('flaggers-{{p.id}}').classList.toggle('d-none')">{{p.active_flags}} Reports</a>{% endif %}
|
||||||
{% if p.author.verified %}<i class="fas fa-badge-check align-middle ml-1" style="color:{% if 'rdrama.net' in request.host and p.author.id in [541,1387] %}#62ca56{% elif 'rdrama.net' in request.host and p.author.id in [30,2256] %}#ff0000{% else %}#1DA1F2{% endif %}" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{{p.author.verified}}"></i>
|
{% if p.author.verified %}<i class="fas fa-badge-check align-middle ml-1" style="color:{% if request.host == 'rdrama.net' and p.author.id in [541,1387] %}#62ca56{% elif request.host == 'rdrama.net' and p.author.id in [30,2256] %}#ff0000{% else %}#1DA1F2{% endif %}" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{{p.author.verified}}"></i>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<a class="user-name text-decoration-none" data-bs-placement="bottom" data-bs-toggle="popover" data-bs-trigger="focus" data-content-id="popover-{{p.id}}" href="javascript:void(0)" tabindex="0" style="color: #{{p.author.namecolor}}; font-weight: bold;"><img loading="lazy" src="{{p.author.profile_url}}" class="profile-pic-25 mr-2"><span {% if p.author.patron and not p.distinguish_level %}class="patron" style="background-color:#{{p.author.namecolor}};"{% elif p.distinguish_level and 'rama' in request.host %}class="mod"{% endif %}>{{p.author.username}}</span></a>{% if p.author.customtitle %}<bdi style="color: #{{p.author.titlecolor}}"> {% if p.author.quadrant %}<img loading="lazy" height="20" src="/assets/images/PCM/quadrants/{{p.author.quadrant}}.gif">{% endif %}{{p.author.customtitle | safe}}</bdi>{% endif %}
|
<a class="user-name text-decoration-none" data-bs-placement="bottom" data-bs-toggle="popover" data-bs-trigger="focus" data-content-id="popover-{{p.id}}" href="javascript:void(0)" tabindex="0" style="color: #{{p.author.namecolor}}; font-weight: bold;"><img loading="lazy" src="{{p.author.profile_url}}" class="profile-pic-25 mr-2"><span {% if p.author.patron and not p.distinguish_level %}class="patron" style="background-color:#{{p.author.namecolor}};"{% elif p.distinguish_level and 'rama' in request.host %}class="mod"{% endif %}>{{p.author.username}}</span></a>{% if p.author.customtitle %}<bdi style="color: #{{p.author.titlecolor}}"> {% if p.author.quadrant %}<img loading="lazy" height="20" src="/assets/images/PCM/quadrants/{{p.author.quadrant}}.gif">{% endif %}{{p.author.customtitle | safe}}</bdi>{% endif %}
|
||||||
<span data-bs-toggle="tooltip" data-bs-placement="bottom" id="timestamp-{{p.id}}"> {{p.age_string}}</span>
|
<span data-bs-toggle="tooltip" data-bs-placement="bottom" id="timestamp-{{p.id}}"> {{p.age_string}}</span>
|
||||||
|
|
|
@ -71,7 +71,7 @@
|
||||||
|
|
||||||
<div id="urlblock">
|
<div id="urlblock">
|
||||||
<label for="URL" class="mt-3">URL</label>
|
<label for="URL" class="mt-3">URL</label>
|
||||||
<input class="form-control" id="post-URL" aria-describedby="URLHelp" type="url" name="url" placeholder="Optional if you have text." value="{{request.values.get('url','')}}" required oninput="checkForRequired();autoSuggestTitle();hide_image()">
|
<input class="form-control" id="post-URL" aria-describedby="URLHelp" name="url" placeholder="Optional if you have text." value="{{request.values.get('url','')}}" required oninput="checkForRequired();autoSuggestTitle();hide_image()">
|
||||||
<small class="form-text text-muted">To post an image, use a direct image link such as i.imgur.com</small>
|
<small class="form-text text-muted">To post an image, use a direct image link such as i.imgur.com</small>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -117,7 +117,7 @@
|
||||||
<i class="fad fa-user-tag text-info align-middle ml-2" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="Original Username: @{{u.original_username}}"></i>
|
<i class="fad fa-user-tag text-info align-middle ml-2" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="Original Username: @{{u.original_username}}"></i>
|
||||||
</span>
|
</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if u.verified %}<span><i class="fas fa-badge-check align-middle ml-1" style="color:{% if 'rdrama.net' in request.host and u.id in [541,1387] %}#62ca56{% elif 'rdrama.net' in request.host and u.id in [30,2256] %}#ff0000{% else %}#1DA1F2{% endif %}" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{{u.verified}}"></i></span>{% endif %}
|
{% if u.verified %}<span><i class="fas fa-badge-check align-middle ml-1" style="color:{% if request.host == 'rdrama.net' and u.id in [541,1387] %}#62ca56{% elif request.host == 'rdrama.net' and u.id in [30,2256] %}#ff0000{% else %}#1DA1F2{% endif %}" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{{u.verified}}"></i></span>{% endif %}
|
||||||
{% if u.admin_level > 1 or (u.admin_level == 1 and (not v or v.admin_level < 2)) %}
|
{% if u.admin_level > 1 or (u.admin_level == 1 and (not v or v.admin_level < 2)) %}
|
||||||
<span>
|
<span>
|
||||||
<i class="fas fa-broom text-admin align-middle ml-2" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="Admin"></i>
|
<i class="fas fa-broom text-admin align-middle ml-2" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="Admin"></i>
|
||||||
|
@ -404,7 +404,7 @@
|
||||||
<h5 style="color:#ff66ac;">BANNED USER{% if u.ban_reason %}: {{u.ban_reason}}{% endif %}</h5>
|
<h5 style="color:#ff66ac;">BANNED USER{% if u.ban_reason %}: {{u.ban_reason}}{% endif %}</h5>
|
||||||
{% if u.unban_utc %}<h5 style="color:#ff66ac;">{{u.unban_string}}</h5>{% endif %}
|
{% if u.unban_utc %}<h5 style="color:#ff66ac;">{{u.unban_string}}</h5>{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if u.verified %}<span><i class="fas fa-badge-check align-middle ml-1" style="color:{% if 'rdrama.net' in request.host and u.id in [541,1387] %}#62ca56{% elif 'rdrama.net' in request.host and u.id in [30,2256] %}#ff0000{% else %}#1DA1F2{% endif %}" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{{u.verified}}"></i></span> {% endif %}
|
{% if u.verified %}<span><i class="fas fa-badge-check align-middle ml-1" style="color:{% if request.host == 'rdrama.net' and u.id in [541,1387] %}#62ca56{% elif request.host == 'rdrama.net' and u.id in [30,2256] %}#ff0000{% else %}#1DA1F2{% endif %}" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{{u.verified}}"></i></span> {% endif %}
|
||||||
<a class="text-black"><h1 class="h5 d-inline-block" style="color: #{{u.namecolor}}"><span {% if u.patron %}class="patron" style="background-color:#{{u.namecolor}};"{% endif %}>{{u.username}}</span></h1></a>
|
<a class="text-black"><h1 class="h5 d-inline-block" style="color: #{{u.namecolor}}"><span {% if u.patron %}class="patron" style="background-color:#{{u.namecolor}};"{% endif %}>{{u.username}}</span></h1></a>
|
||||||
{% if u.username != u.original_username %}
|
{% if u.username != u.original_username %}
|
||||||
<span>
|
<span>
|
||||||
|
|
|
@ -34,11 +34,11 @@ local all postgres trust
|
||||||
# "local" is for Unix domain socket connections only
|
# "local" is for Unix domain socket connections only
|
||||||
local all all trust
|
local all all trust
|
||||||
# IPv4 local connections:
|
# IPv4 local connections:
|
||||||
host all all 127.0.0.1/32 trust
|
host all all 0.0.0.0/32 trust
|
||||||
# IPv6 local connections:
|
# IPv6 local connections:
|
||||||
host all all ::1/128 trust
|
host all all ::1/128 trust
|
||||||
# Allow replication connections from localhost, by a user with the
|
# Allow replication connections from localhost, by a user with the
|
||||||
# replication privilege.
|
# replication privilege.
|
||||||
local replication all trust
|
local replication all trust
|
||||||
host replication all 127.0.0.1/32 trust
|
host replication all 0.0.0.0/32 trust
|
||||||
host replication all ::1/128 trust
|
host replication all ::1/128 trust
|
|
@ -53,7 +53,7 @@
|
||||||
# Examples:
|
# Examples:
|
||||||
#
|
#
|
||||||
# bind 192.168.1.100 10.0.0.1
|
# bind 192.168.1.100 10.0.0.1
|
||||||
# bind 127.0.0.1 ::1
|
# bind 0.0.0.0 ::1
|
||||||
#
|
#
|
||||||
# ~~~ WARNING ~~~ If the computer running Redis is directly exposed to the
|
# ~~~ WARNING ~~~ If the computer running Redis is directly exposed to the
|
||||||
# internet, binding to all the interfaces is dangerous and will expose the
|
# internet, binding to all the interfaces is dangerous and will expose the
|
||||||
|
@ -66,7 +66,7 @@
|
||||||
# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES
|
# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES
|
||||||
# JUST COMMENT THE FOLLOWING LINE.
|
# JUST COMMENT THE FOLLOWING LINE.
|
||||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
bind 127.0.0.1 ::1
|
bind 0.0.0.0 ::1
|
||||||
|
|
||||||
# Protected mode is a layer of security protection, in order to avoid that
|
# Protected mode is a layer of security protection, in order to avoid that
|
||||||
# Redis instances left open on the internet are accessed and exploited.
|
# Redis instances left open on the internet are accessed and exploited.
|
||||||
|
@ -78,7 +78,7 @@ bind 127.0.0.1 ::1
|
||||||
# 2) No password is configured.
|
# 2) No password is configured.
|
||||||
#
|
#
|
||||||
# The server only accepts connections from clients connecting from the
|
# The server only accepts connections from clients connecting from the
|
||||||
# IPv4 and IPv6 loopback addresses 127.0.0.1 and ::1, and from Unix domain
|
# IPv4 and IPv6 loopback addresses 0.0.0.0 and ::1, and from Unix domain
|
||||||
# sockets.
|
# sockets.
|
||||||
#
|
#
|
||||||
# By default protected mode is enabled. You should disable it only if
|
# By default protected mode is enabled. You should disable it only if
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue