Remove special cases based on SITE_NAME

This commit is contained in:
iro84657 2022-05-09 01:26:02 -04:00
parent 6d2e4b3652
commit 71743a3bfc
24 changed files with 103 additions and 848 deletions

View file

@ -28,27 +28,7 @@ AJ_REPLACEMENTS = {
' TO ': " TOO ",
}
if SITE_NAME == 'Cringetopia':
SLURS = {
"retarded": "neurodivergent",
"retard": "neurodivergent",
"faggotry": "cute twinkry",
"faggot": "cute twink",
"n1gger": "🏀",
"nlgger": "🏀",
"nigger": "🏀",
"uss liberty incident": "tragic accident aboard the USS Liberty",
"lavon affair": "Lavon Misunderstanding",
"i hate marsey": "i love marsey",
"autistic": "neurodivergent",
"holohoax": "i tried to claim the Holocaust didn't happen because I am a pencil-dicked imbecile and the word filter caught me lol",
"i hate carp": "i love Carp",
"heil hitler": "hello kitty",
" fag ": " cute twink ",
}
else:
SLURS = {
SLURS = {
"retarded": "r-slurred",
"retard": "r-slur",
"gayfag": "gaystrag",
@ -615,38 +595,9 @@ AWARDS = {
},
}
if SITE_NAME == 'PCM':
PCM_AWARDS = {
"croag": {
"kind": "croag",
"title": "Croag",
"description": "Summons Croag on the post.",
"icon": "fas fa-head-side",
"color": "text-gold",
"price": 500
},
"toe": {
"kind": "toe",
"title": "Toe Hype",
"description": "Summons Blade's toe on the post.",
"icon": "fas fa-socks",
"color": "text-blue",
"price": 500
},
"crab": {
"kind": "crab",
"title": "Crab",
"description": "Rave time!",
"icon": "fas fa-crab",
"color": "text-danger",
"price": 4000
}
}
AWARDS = {**PCM_AWARDS, **AWARDS}
AWARDS2 = deepcopy(AWARDS)
for k, val in AWARDS.items():
if val['description'] == '???' and not (k == 'ghost' and SITE_NAME == 'PCM'): AWARDS2.pop(k)
if val['description'] == '???': AWARDS2.pop(k)
if SITE == 'pcmemes.net' and k in ('ban','pizzashill','marsey','bird','grass','chud'): AWARDS2.pop(k)
@ -682,8 +633,7 @@ NOTIFIED_USERS = {
FORTUNE_REPLIES = ('<b style="color:#6023f8">Your fortune: Allah Wills It</b>','<b style="color:#d302a7">Your fortune: Inshallah, Only Good Things Shall Come To Pass</b>','<b style="color:#e7890c">Your fortune: Allah Smiles At You This Day</b>','<b style="color:#7fec11">Your fortune: Your Bussy Is In For A Blasting</b>','<b style="color:#43fd3b">Your fortune: You Will Be Propositioned By A High-Tier Twink</b>','<b style="color:#9d05da">Your fortune: Repent, You Have Displeased Allah And His Vengeance Is Nigh</b>','<b style="color:#f51c6a">Your fortune: Reply Hazy, Try Again</b>','<b style="color:#00cbb0">Your fortune: lmao you just lost 100 coins</b>','<b style="color:#2a56fb">Your fortune: Yikes 😬</b>','<b style="color:#0893e1">Your fortune: You Will Be Blessed With Many Black Bulls</b>','<b style="color:#16f174">Your fortune: NEETmax, The Day Is Lost If You Venture Outside</b>','<b style="color:#fd4d32">Your fortune: A Taste Of Jannah Awaits You Today</b>','<b style="color:#bac200">Your fortune: Watch Your Back</b>','<b style="color:#6023f8">Your fortune: Outlook good</b>','<b style="color:#d302a7">Your fortune: Godly Luck</b>','<b style="color:#e7890c">Your fortune: Good Luck</b>','<b style="color:#7fec11">Your fortune: Bad Luck</b>','<b style="color:#43fd3b">Your fortune: Good news will come to you by mail</b>','<b style="color:#9d05da">Your fortune: Very Bad Luck</b>','<b style="color:#00cbb0">Your fortune: キタ━━━━━━(゚∀゚)━━━━━━ !!!!</b>','<b style="color:#2a56fb">Your fortune: Better not tell you now</b>','<b style="color:#0893e1">Your fortune: You will meet a dark handsome stranger</b>','<b style="color:#16f174">Your fortune:  ´_ゝ`)フーン</b>','<b style="color:#fd4d32">Your fortune: Excellent Luck</b>','<b style="color:#bac200">Your fortune: Average Luck</b>')
if SITE_NAME == 'rDrama': patron = 'Paypig'
else: patron = 'Patron'
patron = 'Patron'
REDDIT_NOTIFS = {
'idio3': IDIO_ID,
@ -717,16 +667,10 @@ marseys_const = [x[0] for x in db.query(Marsey.name).filter(Marsey.name!='chudse
marseys_const2 = marseys_const + ['chudsey','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','0','1','2','3','4','5','6','7','8','9','exclamationpoint','period','questionmark']
db.close()
if SITE_NAME == 'PCM':
valid_username_chars = 'a-zA-Z0-9_\-А'
valid_username_regex = re.compile("^[a-zA-Z0-9_\-А-я]{3,25}$", flags=re.A)
mention_regex = re.compile('(^|\s|<p>)@(([a-zA-Z0-9_\-А-я]){3,25})', flags=re.A)
mention_regex2 = re.compile('<p>@(([a-zA-Z0-9_\-А-я]){3,25})', flags=re.A)
else:
valid_username_chars = 'a-zA-Z0-9_\-'
valid_username_regex = re.compile("^[a-zA-Z0-9_\-]{3,25}$", flags=re.A)
mention_regex = re.compile('(^|\s|<p>)@(([a-zA-Z0-9_\-]){1,25})', flags=re.A)
mention_regex2 = re.compile('<p>@(([a-zA-Z0-9_\-]){1,25})', flags=re.A)
valid_username_chars = 'a-zA-Z0-9_\-'
valid_username_regex = re.compile("^[a-zA-Z0-9_\-]{3,25}$", flags=re.A)
mention_regex = re.compile('(^|\s|<p>)@(([a-zA-Z0-9_\-]){1,25})', flags=re.A)
mention_regex2 = re.compile('<p>@(([a-zA-Z0-9_\-]){1,25})', flags=re.A)
valid_password_regex = re.compile("^.{8,100}$", flags=re.A)

View file

@ -4,8 +4,7 @@ from .const import *
command_word = "!slots"
casino_word = "!slotsmb"
if SITE_NAME == 'rDrama': minimum_bet = 100
else: minimum_bet = 10
minimum_bet = 10
maximum_bet = INFINITY
payout_to_symbols = {
2: ["👣", "🍀", "🌈", "⭐️"],

View file

@ -132,42 +132,6 @@ def merge_all(v, id):
return redirect(user.url)
if SITE_NAME == 'PCM':
@app.get('/admin/sidebar')
@admin_level_required(3)
def get_sidebar(v):
try:
with open(f'files/templates/sidebar_{SITE_NAME}.html', 'r', encoding="utf-8") as f: sidebar = f.read()
except:
sidebar = None
return render_template('admin/sidebar.html', v=v, sidebar=sidebar)
@app.post('/admin/sidebar')
@limiter.limit("1/second;30/minute;200/hour;1000/day")
@admin_level_required(3)
def post_sidebar(v):
text = request.values.get('sidebar', '').strip()
with open(f'files/templates/sidebar_{SITE_NAME}.html', 'w+', encoding="utf-8") as f: f.write(text)
with open(f'files/templates/sidebar_{SITE_NAME}.html', 'r', encoding="utf-8") as f: sidebar = f.read()
ma = ModAction(
kind="change_sidebar",
user_id=v.id,
)
g.db.add(ma)
g.db.commit()
return render_template('admin/sidebar.html', v=v, sidebar=sidebar, msg='Sidebar edited successfully!')
@app.post("/@<username>/make_admin")
@admin_level_required(3)
def make_admin(v, username):
@ -401,8 +365,6 @@ def remove_meme_admin(v, username):
@limiter.limit("1/day")
@admin_level_required(3)
def monthly(v):
if SITE_NAME == 'rDrama' and v.id != AEVANN_ID: abort (403)
data = {'access_token': GUMROAD_TOKEN}
emails = [x['email'] for x in requests.get(f'https://api.gumroad.com/v2/products/{GUMROAD_ID}/subscribers', data=data, timeout=5).json()["subscribers"]]

View file

@ -82,7 +82,6 @@ def post_pid_comment_cid(cid, pid=None, anything=None, v=None, sub=None):
if not pid:
if comment.parent_submission: pid = comment.parent_submission
elif SITE_NAME == 'rDrama': pid = 6489
elif request.host == 'pcmemes.net': pid = 2487
else: pid = 1
@ -487,118 +486,6 @@ def api_comment(v):
g.db.add(n)
if SITE_NAME == 'rDrama' and len(c.body) >= 1000 and "<" not in body and "</blockquote>" not in body_html:
body = random.choice(LONGPOST_REPLIES)
if body.startswith(''):
body = body[1:]
vote = CommentVote(user_id=LONGPOSTBOT_ID,
vote_type=-1,
comment_id=c.id,
real = True
)
g.db.add(vote)
c.downvotes = 1
body_html2 = sanitize(body)
c2 = Comment(author_id=LONGPOSTBOT_ID,
parent_submission=parent_submission,
parent_comment_id=c.id,
level=level+1,
is_bot=True,
body_html=body_html2,
top_comment_id=c.top_comment_id,
ghost=parent_post.ghost
)
g.db.add(c2)
longpostbot = g.db.query(User).filter_by(id = LONGPOSTBOT_ID).one_or_none()
longpostbot.comment_count += 1
longpostbot.coins += 1
g.db.add(longpostbot)
g.db.flush()
n = Notification(comment_id=c2.id, user_id=v.id)
g.db.add(n)
if SITE_NAME == 'rDrama' and random.random() < 0.001:
body = "zoz"
body_html2 = sanitize(body)
c2 = Comment(author_id=ZOZBOT_ID,
parent_submission=parent_submission,
parent_comment_id=c.id,
level=level+1,
is_bot=True,
body_html=body_html2,
top_comment_id=c.top_comment_id,
ghost=parent_post.ghost,
distinguish_level=6
)
g.db.add(c2)
g.db.flush()
n = Notification(comment_id=c2.id, user_id=v.id)
g.db.add(n)
body = "zle"
body_html2 = sanitize(body)
c3 = Comment(author_id=ZOZBOT_ID,
parent_submission=parent_submission,
parent_comment_id=c2.id,
level=level+2,
is_bot=True,
body_html=body_html2,
top_comment_id=c.top_comment_id,
ghost=parent_post.ghost,
distinguish_level=6
)
g.db.add(c3)
g.db.flush()
body = "zozzle"
body_html2 = sanitize(body)
c4 = Comment(author_id=ZOZBOT_ID,
parent_submission=parent_submission,
parent_comment_id=c3.id,
level=level+3,
is_bot=True,
body_html=body_html2,
top_comment_id=c.top_comment_id,
ghost=parent_post.ghost,
distinguish_level=6
)
g.db.add(c4)
zozbot = g.db.query(User).filter_by(id = ZOZBOT_ID).one_or_none()
zozbot.comment_count += 3
zozbot.coins += 3
g.db.add(zozbot)
if not v.shadowbanned:
notify_users = NOTIFY_USERS(body, v)

View file

@ -17,9 +17,6 @@ def join_discord(v):
if v.shadowbanned: return {"error": "Internal server error"}
if SITE_NAME == 'rDrama' and v.admin_level < 2 and v.patron == 0 and v.truecoins < 150:
return "You must receive 150 upvotes/downvotes from other users before being able to join the Discord server."
now=int(time.time())
state=generate_hash(f"{now}+{v.id}+discord")

View file

@ -176,11 +176,11 @@ def front_all(v, sub=None, subdomain=None):
if v:
defaultsorting = v.defaultsorting
if sub or SITE_NAME != 'rDrama': defaulttime = 'all'
defaulttime = 'all'
else: defaulttime = v.defaulttime
else:
defaultsorting = "new"
if sub or SITE_NAME != 'rDrama': defaulttime = 'all'
defaulttime = 'all'
else: defaulttime = defaulttimefilter
sort=request.values.get("sort", defaultsorting)

View file

@ -20,8 +20,7 @@ from shutil import copyfile
from sys import stdout
if SITE_NAME == 'PCM': snappyquotes = []
else: snappyquotes = [f':#{x}:' for x in marseys_const2]
snappyquotes = [f':#{x}:' for x in marseys_const2]
if path.exists(f'snappy_{SITE_NAME}.txt'):
with open(f'snappy_{SITE_NAME}.txt', "r", encoding="utf-8") as f:
@ -703,67 +702,6 @@ def thumbnail_thread(pid):
db.add(post)
db.commit()
if SITE_NAME == 'rDrama':
for t in ("submission","comment"):
word = random.choice(('rdrama','marsey'))
try:
data = requests.get(f'https://api.pushshift.io/reddit/{t}/search?html_decode=true&q={word}&size=1', timeout=5).json()["data"]
except: break
for i in data:
if i["subreddit"] == 'PokemonGoRaids': continue
body_html = f'''<p>New site mention: <a href="https://old.reddit.com{i["permalink"]}?context=89" rel="nofollow noopener noreferrer" target="_blank">https://old.reddit.com{i["permalink"]}?context=89</a></p>'''
existing_comment = db.query(Comment.id).filter_by(author_id=NOTIFICATIONS_ID, parent_submission=None, body_html=body_html).one_or_none()
if existing_comment: break
new_comment = Comment(author_id=NOTIFICATIONS_ID,
parent_submission=None,
body_html=body_html,
distinguish_level=6
)
db.add(new_comment)
db.flush()
new_comment.top_comment_id = new_comment.id
admins = db.query(User).filter(User.admin_level > 0).all()
for admin in admins:
notif = Notification(comment_id=new_comment.id, user_id=admin.id)
db.add(notif)
k,val = random.choice(tuple(REDDIT_NOTIFS.items()))
try:
data = requests.get(f'https://api.pushshift.io/reddit/{t}/search?html_decode=true&q={k}&size=1', timeout=5).json()["data"]
except: break
for i in data:
body_html = f'''<p>New mention of you: <a href="https://old.reddit.com{i["permalink"]}?context=89" rel="nofollow noopener noreferrer" target="_blank">https://old.reddit.com{i["permalink"]}?context=89</a></p>'''
existing_comment = db.query(Comment.id).filter_by(author_id=NOTIFICATIONS_ID, parent_submission=None,body_html=body_html).one_or_none()
if existing_comment: break
new_comment = Comment(author_id=NOTIFICATIONS_ID,
parent_submission=None,
body_html=body_html,
distinguish_level=6
)
db.add(new_comment)
db.flush()
new_comment.top_comment_id = new_comment.id
notif = Notification(comment_id=new_comment.id, user_id=val)
db.add(notif)
if SITE == 'pcmemes.net':
for t in ("submission","comment"):

View file

@ -37,21 +37,12 @@ def logged_out(old = ""):
@app.get("/marseys")
@auth_required
def marseys(v):
if SITE_NAME == 'rDrama':
marseys = g.db.query(Marsey, User).join(User, User.id==Marsey.author_id)
sort = request.values.get("sort", "usage")
if sort == "usage": marseys = marseys.order_by(Marsey.count.desc(), User.username)
else: marseys = marseys.order_by(User.username, Marsey.count.desc())
else:
marseys = g.db.query(Marsey).order_by(Marsey.count.desc())
return render_template("marseys.html", v=v, marseys=marseys)
@app.get("/marsey_list")
@cache.memoize(timeout=600, make_name=make_name)
def marsey_list():
if SITE_NAME == 'rDrama':
marseys = [f"{x.name} : {y} {x.tags}" for x, y in g.db.query(Marsey, User.username).join(User, User.id==Marsey.author_id).order_by(Marsey.count.desc())]
else:
marseys = [f"{x.name} : {x.tags}" for x in g.db.query(Marsey).order_by(Marsey.count.desc())]
return str(marseys).replace("'",'"')
@ -112,94 +103,6 @@ def participation_stats(v):
"users who posted, commented, or voted in the past 7 days": len(active_users),
}
if SITE_NAME == 'rDrama':
furries1 = g.db.query(User.id).filter(User.house.like('Furry%')).count()
femboys1 = g.db.query(User.id).filter(User.house.like('Femboy%')).count()
vampires1 = g.db.query(User.id).filter(User.house.like('Vampire%')).count()
racists1 = g.db.query(User.id).filter(User.house.like('Racist%')).count()
furries2 = g.db.query(func.sum(User.truecoins)).filter(User.house.like('Furry%')).scalar()
femboys2 = g.db.query(func.sum(User.truecoins)).filter(User.house.like('Femboy%')).scalar()
vampires2 = g.db.query(func.sum(User.truecoins)).filter(User.house.like('Vampire%')).scalar()
racists2 = g.db.query(func.sum(User.truecoins)).filter(User.house.like('Racist%')).scalar()
stats2 = {"House furry members": furries1,
"House femboy members": femboys1,
"House vampire members": vampires1,
"House racist members": racists1,
"House furry total truescore": furries2,
"House femboy total truescore": femboys2,
"House vampire total truescore": vampires2,
"House racist total truescore": racists2,
}
stats.update(stats2)
ids = (NOTIFICATIONS_ID, AUTOJANNY_ID, SNAPPY_ID, LONGPOSTBOT_ID, ZOZBOT_ID)
bots = g.db.query(User).filter(User.id.in_(ids))
for u in bots:
g.db.add(u)
if u.patron_utc and u.patron_utc < time.time():
u.patron = 0
u.patron_utc = 0
send_repeatable_notification(u.id, "Your paypig status has expired!")
if u.discord_id: remove_role(v, "1")
if u.unban_utc and u.unban_utc < time.time():
u.is_banned = 0
u.unban_utc = 0
u.ban_evade = 0
send_repeatable_notification(u.id, "You have been unbanned!")
if u.agendaposter and u.agendaposter < time.time():
u.agendaposter = 0
send_repeatable_notification(u.id, "Your chud theme has expired!")
badge = u.has_badge(28)
if badge: g.db.delete(badge)
if u.flairchanged and u.flairchanged < time.time():
u.flairchanged = None
send_repeatable_notification(u.id, "Your flair lock has expired. You can now change your flair!")
badge = u.has_badge(96)
if badge: g.db.delete(badge)
if u.marseyawarded and u.marseyawarded < time.time():
u.marseyawarded = None
send_repeatable_notification(u.id, "Your marsey award has expired!")
badge = u.has_badge(98)
if badge: g.db.delete(badge)
if u.longpost and u.longpost < time.time():
u.longpost = None
send_repeatable_notification(u.id, "Your pizzashill award has expired!")
badge = u.has_badge(97)
if badge: g.db.delete(badge)
if u.bird and u.bird < time.time():
u.bird = None
send_repeatable_notification(u.id, "Your bird site award has expired!")
badge = u.has_badge(95)
if badge: g.db.delete(badge)
if u.progressivestack and u.progressivestack < time.time():
u.progressivestack = None
send_repeatable_notification(u.id, "Your progressive stack has expired!")
badge = u.has_badge(94)
if badge: g.db.delete(badge)
if u.rehab and u.rehab < time.time():
u.rehab = None
send_repeatable_notification(u.id, "Your rehab has finished!")
badge = u.has_badge(109)
if badge: g.db.delete(badge)
if u.deflector and u.deflector < time.time():
u.deflector = None
send_repeatable_notification(u.id, "Your deflector has expired!")
g.db.commit()
return render_template("admin/content_stats.html", v=v, title="Content Statistics", data=stats)

View file

@ -223,8 +223,6 @@ def remove_mod(v, sub):
@app.get("/create_sub")
@is_not_permabanned
def create_sub(v):
if SITE_NAME == 'rDrama' and v.admin_level < 3: abort(403)
if request.host == 'rdrama.net': cost = 0
else:
num = v.subs_created + 1
@ -238,8 +236,6 @@ def create_sub(v):
@app.post("/create_sub")
@is_not_permabanned
def create_sub2(v):
if SITE_NAME == 'rDrama' and v.admin_level < 3: abort(403)
name = request.values.get('name')
if not name: abort(400)
name = name.strip().lower()

View file

@ -509,14 +509,6 @@ def leaderboard(v):
if pos11[1] < 25 and v not in (x[0] for x in users11):
pos11 = (26, pos11[1])
if SITE_NAME == 'rDrama':
sq = g.db.query(Marsey.author_id, func.count(Marsey.author_id).label("count"), func.rank().over(order_by=func.count(Marsey.author_id).desc()).label("rank")).group_by(Marsey.author_id).subquery()
users12 = g.db.query(User, sq.c.count).join(sq, User.id==sq.c.author_id).order_by(sq.c.count.desc())
pos12 = g.db.query(User.id, sq.c.rank, sq.c.count).join(sq, User.id==sq.c.author_id).filter(User.id == v.id).one_or_none()
if pos12: pos12 = (pos12[1],pos12[2])
else: pos12 = (users12.count()+1, 0)
users12 = users12.limit(25).all()
else:
users12 = None
pos12 = None

View file

@ -51,13 +51,6 @@
<li><a href="/daily_chart">Daily Stat Chart</a></li>
</ul>
{% if SITE_NAME == 'PCM' %}
<h4>Configuration</h4>
<ul>
<li><a href="/admin/sidebar">Edit Sidebar</a></li>
</ul>
{% endif %}
{% if v.admin_level > 2 %}
<pre></pre>
<div class="custom-control custom-switch">

View file

@ -63,7 +63,5 @@
</form>
<pre></pre>
{% if SITE_NAME != 'rDrama' or v.id == AEVANN_ID %}
<div><a class="btn btn-danger" role="button" onclick="post_toast(this,'/admin/monthly')">Grant Monthly Marseybux</a></div>
{% endif %}
{% endblock %}

View file

@ -52,18 +52,6 @@
</style>
{% endif %}
{% if SITE_NAME == 'rDrama' %}
<style>
.mod:before {
content: '(((';
}
.mod:after {
content: ')))';
}
</style>
{% endif %}
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
@ -239,7 +227,7 @@
</head>
<body id="{% if request.path != '/comments' %}{% block pagetype %}frontpage{% endblock %}{% endif %}" {% if SITE_NAME == 'rDrama' and v and (v.is_banned or v.agendaposter) %}style="overflow-x: hidden;background:url(/assets/images/backgrounds/anime/1.webp?v=3) center center fixed; background-color: var(--background)"{% elif v and v.background %}style="{% if path != '/formatting' %}overflow-x: hidden; {% endif %} background:url(/assets/images/backgrounds/{{v.background}}?v=3) center center fixed; background-color: var(--background){% if 'anime' not in v.background %};background-size: cover{% endif %}"{% endif %}>
<body id="{% if request.path != '/comments' %}{% block pagetype %}frontpage{% endblock %}{% endif %}" {% if v and v.background %}style="{% if path != '/formatting' %}overflow-x: hidden; {% endif %} background:url(/assets/images/backgrounds/{{v.background}}?v=3) center center fixed; background-color: var(--background){% if 'anime' not in v.background %};background-size: cover{% endif %}"{% endif %}>
{% block Banner %}
{% if '@' not in request.path %}

View file

@ -8,13 +8,6 @@
<li class="nav-item">
<a class="nav-link active emojitab" data-bs-toggle="tab" href="#emoji-tab-favorite">Favorite</a>
</li>
{% if SITE_NAME == 'Cringetopia' %}
<li class="nav-item">
<a class="nav-link emojitab" data-bs-toggle="tab" href="#emoji-tab-cringetopia">Cringetopia</a>
</li>
{% endif %}
<li class="nav-item">
<a class="nav-link emojitab" data-bs-toggle="tab" href="#emoji-tab-marsey">Marsey</a>
</li>
@ -62,11 +55,6 @@
<div class="tab-pane fade show active" id="emoji-tab-favorite">
<div class="d-flex flex-wrap py-3 pl-2" id="EMOJIS_favorite"></div>
</div>
{% if SITE_NAME == 'Cringetopia' %}
<div class="tab-pane fade" id="emoji-tab-cringetopia">
<div class="d-flex flex-wrap py-3 pl-2" id="EMOJIS_cringetopia"></div>
</div>
{% endif %}
<div class="tab-pane fade" id="emoji-tab-marsey">
<div class="d-flex flex-wrap py-3 pl-2" id="EMOJIS_marsey"></div>
</div>

View file

@ -12,7 +12,7 @@
<div class="text-center px-3 my-8">
<img alt=":#marseymerchant:" loading="lazy" class="mb-2" src="/e/marseymerchant.webp">
<h1 class="h5">401 Not Authorized</h1>
<p class="text-muted">This page is only available to {% if SITE_NAME == 'rDrama' %}paypigs{% else %}patrons{% endif %}:</p>
<p class="text-muted">This page is only available to patrons:</p>
<a rel="nofollow noopener noreferrer" href="{{config('GUMROAD_LINK')}}">{{config('GUMROAD_LINK')}}</a>
</div>
</div>

View file

@ -1,15 +1,5 @@
<nav class="shadow shadow-md fixed-top">
{% if SITE_NAME == 'rDrama' %}
<style>
body {padding-top: 85.88px !important}
@media (max-width: 767.98px) {
body {
padding-top: 69.55px !important
}
}
</style>
{% else %}
<style>
body {padding-top: 60.89px !important}
@media (max-width: 767.98px) {
@ -18,21 +8,16 @@
}
}
</style>
{% endif %}
{% if SITE_NAME == 'rDrama' %}
{% include "journoid_banner.html" %}
{% endif %}
<div class="navbar navbar-expand-md navbar-light" id="navbar">
<div class="container-fluid" style="padding:0;">
<a href="/" class="navbar-brand mr-auto {% if SITE_NAME in ('PCM','WPD') and not sub %}flex-grow-1{% endif %}">
<a href="/" class="navbar-brand mr-auto">
<img alt="header icon" height=33 src="/assets/images/{{SITE_NAME}}/headericon.webp?v=1019">
</a>
{% if sub %}
<a href="/h/{{sub.name}}" class="font-weight-bold ml-1 flex-grow-1 mt-1" style="font-size:max(14px,1.2vw)">/h/{{sub.name}}</a>
{% elif SITE_NAME not in ('PCM','WPD') %}
{% else %}
<style>
{% if g.webview %}
@media (min-width: 480px) {
@ -173,17 +158,8 @@
<a class="dropdown-item" rel="nofollow noopener noreferrer" href="https://github.com/Aevann1/rDrama"><i class="fab fa-github fa-fw mr-3"></i>Source code</a>
{% if SITE_NAME in ['rDrama', 'PCM'] %}
<a class="dropdown-item" rel="nofollow noopener noreferrer" href="/report_bugs"><i class="fas fa-bug fa-fw mr-3"></i>Bugs/Suggestions</a>
{% endif %}
{% if SITE_NAME == 'rDrama' %}
<a class="dropdown-item" href="/discord"><i class="fab fa-discord fa-fw mr-3"></i>Discord</a>
{% endif %}
{% if SITE_NAME != 'Cringetopia' %}
<a class="dropdown-item" rel="nofollow noopener noreferrer" href="{{config('GUMROAD_LINK')}}"><i class="fas fa-dollar-sign fa-fw mr-3"></i>Donate</a>
{% endif %}
{% if SITE_NAME == 'rDrama' %}<a class="dropdown-item" href="/archives"><i class="fas fa-book fa-fw mr-3"></i>Archives</a>{% endif %}
<a class="dropdown-item" href="/contact"><i class="fas fa-file-signature fa-fw mr-3"></i>Contact us</a>
</div>
<div class="px-2">
@ -233,13 +209,8 @@
<a class="nav-item nav-link" rel="nofollow noopener noreferrer" href="https://github.com/Aevann1/rDrama"><i class="fab fa-github fa-fw mr-3"></i>Source code</a>
{% if SITE_NAME == 'rDrama' %}
<a class="nav-item nav-link" href="/discord"><i class="fab fa-discord fa-fw mr-3"></i>Discord</a>
{% endif %}
{% if SITE_NAME != 'Cringetopia' %}
<a class="nav-item nav-link" rel="nofollow noopener noreferrer" href="{{config('GUMROAD_LINK')}}"><i class="fas fa-dollar-sign fa-fw mr-3"></i>Donate</a>
{% endif %}
{% if SITE_NAME == 'rDrama' %}<a class="nav-item nav-link" href="/archives"><i class="fas fa-book fa-fw mr-3"></i>Archives</a>{% endif %}
<a class="nav-item nav-link" href="/contact"><i class="fas fa-file-signature fa-fw mr-3"></i>Contact us</a>
<li class="nav-item border-top border-bottom mt-2 pt-2">

View file

@ -56,16 +56,6 @@
{% block navbar %}
<div class="d-flex align-items-center">
{% if v and SITE_NAME == 'rDrama' %}
{% if v.paid_dues %}
{% if ccmode=="true"%}
<a data-bs-toggle="tooltip" data-bs-placement="bottom" title="Only show country club posts" class="btn btn-primary text-primary mx-2" href="?sort={{sort}}&t={{t}}&ccmode=false"><i class="fas fa-golf-club mr-2 "></i>CC</a>
{% else %}
<a data-bs-toggle="tooltip" data-bs-placement="bottom" title="Only show country club posts" class="btn btn-secondary mx-2" href="?sort={{sort}}&t={{t}}&ccmode=true"><i class="fas fa-golf-club mr-2 "></i>CC</a>
{% endif %}
{% endif %}
{% endif %}
<div class="dropdown dropdown-actions mx-2">
<button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{% if t=="hour" %}<i class="fas fa-clock mr-2 "></i>

View file

@ -11,30 +11,17 @@
<th>Name</th>
<th>Marsey</th>
<th><a href="?sort=usage">Usage</a></th>
{% if SITE_NAME == 'rDrama' %}<th><a href="?sort=author">Author</a></th>{% endif %}
</tr>
</thead>
<tbody id="followers-table">
{% if SITE_NAME == 'rDrama' %}
{% for marsey, author in marseys %}
<tr>
{% for marsey in marseys %}
<tr>
<td>{{loop.index}}</td>
<td>{{marsey.name}}</td>
<td><img class="marsey" loading="lazy" data-bs-toggle="tooltip" alt=":{{marsey.name}}:" title=":{{marsey.name}}:" src="/e/{{marsey.name}}.webp"></td>
<td>{{marsey.count}}</td>
<td><a style="color:#{{author.namecolor}};font-weight:bold" href="/@{{author.username}}"><img loading="lazy" src="{{author.profile_url}}" class="pp20"><span {% if author.patron %}class="patron" style="background-color:#{{author.namecolor}}"{% endif %}>{{author.username}}</span></a></td>
</tr>
{% endfor %}
{% else %}
{% for marsey in marseys %}
<tr>
<td>{{loop.index}}</td>
<td>{{marsey.name}}</td>
<td><img class="marsey" loading="lazy" data-bs-toggle="tooltip" alt=":{{marsey.name}}:" title=":{{marsey.name}}:" src="/e/{{marsey.name}}.webp"></td>
<td>{{marsey.count}}</td>
</tr>
{% endfor %}
{% endif %}
</tr>
{% endfor %}
</tbody>
</table>

View file

@ -59,7 +59,7 @@
{% endif %}
</head>
<body id="settings" {% if SITE_NAME == 'rDrama' and v and (v.is_banned or v.agendaposter) %}style="overflow-x: hidden;background:url(/assets/images/backgrounds/anime/1.webp?v=3) center center fixed; background-color: var(--background)"{% elif v and v.background %}style="overflow-x: hidden;background:url(/assets/images/backgrounds/{{v.background}}?v=3) center center fixed; background-color: var(--background){% if 'anime' not in v.background %};background-size: cover{% endif %}"{% endif %}>
<body id="settings" {% if v and v.background %}style="overflow-x: hidden;background:url(/assets/images/backgrounds/{{v.background}}?v=3) center center fixed; background-color: var(--background){% if 'anime' not in v.background %};background-size: cover{% endif %}"{% endif %}>
{% include "header.html" %}
<div class="container">

View file

@ -48,7 +48,7 @@
{% endif %}
</head>
<body id="settings2" {% if SITE_NAME == 'rDrama' and v and (v.is_banned or v.agendaposter) %}style="overflow-x: hidden;background:url(/assets/images/backgrounds/anime/1.webp?v=3) center center fixed; background-color: var(--background)"{% elif v and v.background %}style="overflow-x: hidden;background:url(/assets/images/backgrounds/{{v.background}}?v=3) center center fixed; background-color: var(--background){% if 'anime' not in v.background %};background-size: cover{% endif %}"{% endif %}>
<body id="settings2" {% if v and v.background %}style="overflow-x: hidden;background:url(/assets/images/backgrounds/{{v.background}}?v=3) center center fixed; background-color: var(--background){% if 'anime' not in v.background %};background-size: cover{% endif %}"{% endif %}>
{% include "header.html" %}

View file

@ -23,58 +23,6 @@
<div class="settings">
{% if SITE_NAME == 'rDrama' %}
<h2 class="h5" name="referral">House</h2>
<div class="settings-section rounded">
<div class="d-lg-flex border-bottom">
<div class="title w-lg-25">
<label for="theme">House</label>
</div>
<div class="body w-lg-100">
{% if v.house %}
{% set cost=2000 %}
<p>Change your house (cost: {{cost}} coins or marseybux).</p>
{% else %}
{% set cost=500 %}
<p>Join a house (cost: {{cost}} coins or marseybux).</p>
{% endif %}
<div class="input-group mb2">
<select {% if v.coins < cost and v.procoins < cost %}disabled{% endif %} autocomplete="off" id='house' class="form-control" form="profile-settings" name="house" onchange="post_toast(this,'/settings/profile?house='+document.getElementById('house').value, '1')">
{% for entry in ("None","Furry","Femboy","Vampire","Racist") %}
<option value="{{entry}}" {% if v.house==entry %} selected {% endif %}>
{{entry}}
</option>
{% endfor %}
</select>
</div>
</div>
</div>
</div>
{% endif %}
<h2 class="h5" name="referral">Theme</h2>
<div class="settings-section rounded">
@ -129,11 +77,7 @@
<div class="input-group mb2">
<select autocomplete="off" id='theme' class="form-control" form="profile-settings" name="theme" onchange="post_toast(this,'/settings/profile?theme='+document.getElementById('theme').value, '1')">
{% if SITE_NAME == 'rDrama' %}
{% set themes = ["dramblr", "classic", "classic_dark", "transparent", "win98", "dark", "light", "coffee", "tron", "4chan", "midnight"] %}
{% else %}
{% set themes = ["dramblr", "reddit", "transparent", "win98", "dark", "light", "coffee", "tron", "4chan", "midnight"] %}
{% endif %}
{% for entry in themes %}
<option value="{{entry}}" {% if v.theme==entry %} selected {% endif %}>
@ -310,41 +254,6 @@
</div>
{% if SITE_NAME == 'rDrama' %}
<h2 class="h5" name="referral">Linked Accounts</h2>
<p class="text-small text-muted">Manage your connections to other services.</p>
<div class="settings-section rounded">
<div class="d-lg-flex">
<div class="title w-lg-25">
<label>Discord</label>
</div>
<div class="body w-lg-100">
{% if v.discord_id %}
<form action="/settings/remove_discord" method="post">
<input type="hidden" name="formkey" value="{{v.formkey}}">
<input type="submit" class="btn btn-secondary text-capitalize mr-2 mb-0 mt-2" value="Disconnect Discord">
</form>
<div class="text-small-extra text-muted mt-3">Disconnecting your Discord account will remove you from the {{SITE_NAME}} Discord server.</div>
{% else %}
<a href="/discord" class="btn btn-primary">Link Discord</a>
<div class="text-small-extra text-muted mt-3">Link your Discord account to join the {{SITE_NAME}} Discord server.</div>
{% endif %}
</div>
</div>
</div>
{% endif %}
<h2 class="h5" name="referral">RSS Feed</h2>
<p class="text-small text-muted">Subscribe to the {{SITE_NAME}} RSS feed.</p>

View file

@ -44,18 +44,14 @@
</div>
<div class="footer">
<div class="d-flex">
{% if SITE_NAME != 'Cringetopia' %}
<a class="btn btn-success" role="button" onclick="post_toast(this,'/settings/gumroad')">Claim paypig rewards</a>
{% endif %}
{% if v.email %}
<input autocomplete="off" class="btn btn-primary ml-auto" type="submit" value="Update email">
{% else %}
<input autocomplete="off" class="btn btn-primary ml-auto" type="submit" value="Add email">
{% endif %}
</div>
{% if SITE_NAME != 'Cringetopia' %}
<span class="text-small-extra text-muted pl-1">Must be same email as gumroad</span>
{% endif %}
</div>
</form>
</div>

View file

@ -132,81 +132,6 @@
</div>
{% endif %}
{% endif %}
{% if SITE_NAME == 'PCM' and p.award_count("toe") %}
<style>
.toeimg {
width: 100px;
height: auto;
}
@media (max-width: 992px) {
.toeimg {
width: 30px;
height: auto;
}
}
.toe {
position:fixed;
z-index:9999;
pointer-events: none;
width: 100% !important;
height: 100% !important;
}
@keyframes moveX {
from { left: 0; } to { left: 98%; }
}
@keyframes moveY {
from { top: 0; } to { top: 98%; }
}
.toe1 {
animation: moveX 4s linear 0s infinite alternate, moveY 6.8s linear 0s infinite alternate !important;
animation-delay:0s;
}
</style>
<div class="toe toe1" height="100%" width="100%">
<img alt="Blade's toe" class="toeimg" src="/assets/images/{{SITE_NAME}}/toe.webp?v=1">
</div>
{% if p.award_count("toe") > 1 %}
<style>
.toe2 {
animation: moveX 5s linear 0s infinite alternate, moveY 8s linear 0s infinite alternate !important;
animation-delay:1s;
}
</style>
<div class="toe toe2" height="100%" width="100%">
<img alt="Blade's toe" class="toeimg" src="/assets/images/{{SITE_NAME}}/toe.webp?v=1">
</div>
{% endif %}
{% if p.award_count("toe") > 2 %}
<style>
.toe3 {
animation: moveX 4s linear 0s infinite alternate, moveY 5s linear 0s infinite alternate !important;
animation-delay:2s;
}
</style>
<div class="toe toe3" height="100%" width="100%">
<img alt="Blade's toe" class="toeimg" src="/assets/images/{{SITE_NAME}}/toe.webp?v=1">
</div>
{% endif %}
{% if p.award_count("toe") > 3 %}
<style>
.toe4 {
animation: moveX 5s linear 0s infinite alternate, moveY 6.8s linear 0s infinite alternate !important;
animation-delay:3s;
}
</style>
<div class="toe toe4" height="100%" width="100%">
<img alt="Blade's toe" class="toeimg" src="/assets/images/{{SITE_NAME}}/toe.webp?v=1">
</div>
{% endif %}
{% endif %}
{% else %}
{% if p.award_count("wholesome") %}
<style>
@ -260,59 +185,6 @@
</marquee>
{% endif %}
{% endif %}
{% if SITE_NAME == 'PCM' and p.award_count("toe") %}
<style>
.toe {
position:fixed;
z-index:9999;
pointer-events: none;
width: 100% !important;
height: 100% !important;
}
.toeimg {
width: 100px;
height: auto;
}
@media (max-width: 992px) {
.toeimg {
width: 30px;
height: auto;
}
}
</style>
<div class="toe" height="100%" width="100%">
<marquee class="toe" scrollamount=10 behavior="alternate" direction="up" height="100%" width="100%">
<marquee direction="right" scrollamount=10 behavior="alternate" height="100%" width="100%">
<img alt="Blade's toe" class="toeimg" src="/assets/images/{{SITE_NAME}}/toe.webp?v=1">
</marquee>
</marquee>
</div>
{% if p.award_count("toe") > 1 %}
<marquee class="toe" scrollamount=10 behavior="alternate" direction="down" height="100%">
<marquee direction="right" scrollamount=10 behavior="alternate" width="100%">
<img alt="Blade's toe" class="toeimg" src="/assets/images/{{SITE_NAME}}/toe.webp?v=1">
</marquee>
</marquee>
{% endif %}
{% if p.award_count("toe") > 2 %}
<marquee class="toe" scrollamount=10 behavior="alternate" direction="up" height="100%">
<marquee direction="left" scrollamount=10 behavior="alternate" width="100%">
<img alt="Blade's toe" class="toeimg" src="/assets/images/{{SITE_NAME}}/toe.webp?v=1">
</marquee>
</marquee>
{% endif %}
{% if p.award_count("toe") > 3 %}
<marquee class="toe" scrollamount=10 behavior="alternate" direction="down" height="100%">
<marquee direction="left" scrollamount=10 behavior="alternate" width="100%">
<img alt="Blade's toe" class="toeimg" src="/assets/images/{{SITE_NAME}}/toe.webp?v=1">
</marquee>
</marquee>
{% endif %}
{% endif %}
{% endif %}
@ -379,61 +251,6 @@
{% endif %}
{% if SITE_NAME == 'PCM' and p.award_count("croag") %}
<style>
.croag {
position:fixed;
z-index:9999;
pointer-events: none;
}
.croag1 {
top: 15%
}
.croag2 {
top: 40%
}
.croag3 {
top: 65%
}
.croag4 {
top: 90%
}
.croagimg {
width: 169px;
height: 68px;
}
@media (max-width: 992px) {
.croagimg {
width: 100px;
height: 40px;
}
}
</style>
<marquee class="croag croag1" direction="left" scrollamount=10 width="100%">
<img alt="croag" class="croagimg mirrored" src="/assets/images/{{SITE_NAME}}/croag.webp?v=1">
</marquee>
{% if p.award_count("croag") > 1 %}
<marquee class="croag croag2" direction="right" scrollamount=10 width="100%">
<img alt="croag" class="croagimg" src="/assets/images/{{SITE_NAME}}/croag.webp?v=1">
</marquee>
{% endif %}
{% if p.award_count("croag") > 2 %}
<marquee class="croag croag3" direction="left" scrollamount=10 width="100%">
<img alt="croag" class="croagimg mirrored" src="/assets/images/{{SITE_NAME}}/croag.webp?v=1">
</marquee>
{% endif %}
{% if p.award_count("croag") > 3 %}
<marquee class="croag croag4" direction="right" scrollamount=10 width="100%">
<img alt="croag" class="croagimg" src="/assets/images/{{SITE_NAME}}/croag.webp?v=1">
</marquee>
{% endif %}
{% endif %}
{% if p.award_count("scooter") %}
<style>
.scooterimg {

View file

@ -56,7 +56,7 @@
{% endif %}
{% endblock %}
<body id="submit" {% if SITE_NAME == 'rDrama' and v and (v.is_banned or v.agendaposter) %}style="overflow-x: hidden;background:url(/assets/images/backgrounds/anime/1.webp?v=3) center center fixed; background-color: var(--background)"{% elif v and v.background %}style="overflow-x: hidden; background:url(/assets/images/backgrounds/{{v.background}}?v=3) center center fixed; background-color: var(--background)display: block{% if 'anime' not in v.background %};background-size: cover{% endif %}"{% endif %}>
<body id="submit" {% if v and v.background %}style="overflow-x: hidden; background:url(/assets/images/backgrounds/{{v.background}}?v=3) center center fixed; background-color: var(--background)display: block{% if 'anime' not in v.background %};background-size: cover{% endif %}"{% endif %}>
{% include "header.html" %}
@ -102,7 +102,7 @@
<div id="urlblock">
<label for="URL" class="mt-3">URL</label>
<input autocomplete="off" class="form-control" id="post-url" aria-describedby="URLHelp" name="url" type="url" placeholder="Optional if you have text." value="{{request.values.get('url','')}}" required oninput="checkForRequired();hide_image();savetext();checkRepost(this){% if SITE_NAME != 'PCM' %};autoSuggestTitle(){% endif %}">
<input autocomplete="off" class="form-control" id="post-url" aria-describedby="URLHelp" name="url" type="url" placeholder="Optional if you have text." value="{{request.values.get('url','')}}" required oninput="checkForRequired();hide_image();savetext();checkRepost(this);autoSuggestTitle()">
<small id="system" class="form-text text-muted">To post an image, use a direct image link such as i.imgur.com</small>
</div>
<div id="image-upload-block">