Remove special cases based on SITE_NAME
This commit is contained in:
parent
6d2e4b3652
commit
71743a3bfc
24 changed files with 103 additions and 848 deletions
|
@ -28,86 +28,66 @@ AJ_REPLACEMENTS = {
|
||||||
' TO ': " TOO ",
|
' TO ': " TOO ",
|
||||||
}
|
}
|
||||||
|
|
||||||
if SITE_NAME == 'Cringetopia':
|
SLURS = {
|
||||||
SLURS = {
|
"retarded": "r-slurred",
|
||||||
"retarded": "neurodivergent",
|
"retard": "r-slur",
|
||||||
"retard": "neurodivergent",
|
"gayfag": "gaystrag",
|
||||||
"faggotry": "cute twinkry",
|
"poorfag": "poorstrag",
|
||||||
"faggot": "cute twink",
|
"richfag": "richstrag",
|
||||||
"n1gger": "🏀",
|
"newfag": "newstrag",
|
||||||
"nlgger": "🏀",
|
"oldfag": "oldstrag",
|
||||||
"nigger": "🏀",
|
"faggotry": "cute twinkry",
|
||||||
"uss liberty incident": "tragic accident aboard the USS Liberty",
|
"faggot": "cute twink",
|
||||||
"lavon affair": "Lavon Misunderstanding",
|
"pedophile": "libertarian",
|
||||||
"i hate marsey": "i love marsey",
|
"kill yourself": "keep yourself safe",
|
||||||
"autistic": "neurodivergent",
|
"n1gger": "BIPOC",
|
||||||
"holohoax": "i tried to claim the Holocaust didn't happen because I am a pencil-dicked imbecile and the word filter caught me lol",
|
"nlgger": "BIPOC",
|
||||||
"i hate carp": "i love Carp",
|
"nigger": "BIPOC",
|
||||||
"heil hitler": "hello kitty",
|
"steve akins": "penny verity oaken",
|
||||||
|
"trannie": "🚂🚃🚃",
|
||||||
|
"tranny": "🚂🚃🚃",
|
||||||
|
"troon": "🚂🚃🚃",
|
||||||
|
"nonewnormal": "HorseDewormerAddicts",
|
||||||
|
"kikery": "https://sciencedirect.com/science/article/abs/pii/S016028960600033X",
|
||||||
|
"kike": "https://sciencedirect.com/science/article/abs/pii/S016028960600033X",
|
||||||
|
"latinos": "latinx",
|
||||||
|
"latino": "latinx",
|
||||||
|
"latinas": "latinx",
|
||||||
|
"latina": "latinx",
|
||||||
|
"hispanics": "latinx",
|
||||||
|
"hispanic": "latinx",
|
||||||
|
"uss liberty incident": "tragic accident aboard the USS Liberty",
|
||||||
|
"lavon affair": "Lavon Misunderstanding",
|
||||||
|
"shylock": "Israeli friend",
|
||||||
|
"mohammad": "Prophet Mohammad (PBUH)",
|
||||||
|
"muhammad": "Prophet Mohammad (PBUH)",
|
||||||
|
"i hate marsey": "i love marsey",
|
||||||
|
"dancing israelis": "i love Israel",
|
||||||
|
"sodomite": "total dreamboat",
|
||||||
|
"pajeet": "sexy Indian dude",
|
||||||
|
"landlord": "landchad",
|
||||||
|
"tenant": "renthog",
|
||||||
|
"renter": "rentoid",
|
||||||
|
"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",
|
||||||
|
"groomercord": "discord (actually a pretty cool service)",
|
||||||
|
"pedocord": "discord (actually a pretty cool service)",
|
||||||
|
"i hate carp": "i love Carp",
|
||||||
|
"manlet": "little king",
|
||||||
|
"gamer": "g*mer",
|
||||||
|
"journalist": "journ*list",
|
||||||
|
"journalism": "journ*lism",
|
||||||
|
"wuhan flu": "SARS-CoV-2 syndemic",
|
||||||
|
"china flu": "SARS-CoV-2 syndemic",
|
||||||
|
"china virus": "SARS-CoV-2 syndemic",
|
||||||
|
"kung flu": "SARS-CoV-2 syndemic",
|
||||||
|
"elon musk": "rocket daddy",
|
||||||
|
"fake and gay": "fake and straight",
|
||||||
|
|
||||||
" fag ": " cute twink ",
|
" rapist ": " male feminist ",
|
||||||
}
|
" pedo ": " libertarian ",
|
||||||
else:
|
" kys ": " keep yourself safe ",
|
||||||
SLURS = {
|
" fag ": " cute twink ",
|
||||||
"retarded": "r-slurred",
|
|
||||||
"retard": "r-slur",
|
|
||||||
"gayfag": "gaystrag",
|
|
||||||
"poorfag": "poorstrag",
|
|
||||||
"richfag": "richstrag",
|
|
||||||
"newfag": "newstrag",
|
|
||||||
"oldfag": "oldstrag",
|
|
||||||
"faggotry": "cute twinkry",
|
|
||||||
"faggot": "cute twink",
|
|
||||||
"pedophile": "libertarian",
|
|
||||||
"kill yourself": "keep yourself safe",
|
|
||||||
"n1gger": "BIPOC",
|
|
||||||
"nlgger": "BIPOC",
|
|
||||||
"nigger": "BIPOC",
|
|
||||||
"steve akins": "penny verity oaken",
|
|
||||||
"trannie": "🚂🚃🚃",
|
|
||||||
"tranny": "🚂🚃🚃",
|
|
||||||
"troon": "🚂🚃🚃",
|
|
||||||
"nonewnormal": "HorseDewormerAddicts",
|
|
||||||
"kikery": "https://sciencedirect.com/science/article/abs/pii/S016028960600033X",
|
|
||||||
"kike": "https://sciencedirect.com/science/article/abs/pii/S016028960600033X",
|
|
||||||
"latinos": "latinx",
|
|
||||||
"latino": "latinx",
|
|
||||||
"latinas": "latinx",
|
|
||||||
"latina": "latinx",
|
|
||||||
"hispanics": "latinx",
|
|
||||||
"hispanic": "latinx",
|
|
||||||
"uss liberty incident": "tragic accident aboard the USS Liberty",
|
|
||||||
"lavon affair": "Lavon Misunderstanding",
|
|
||||||
"shylock": "Israeli friend",
|
|
||||||
"mohammad": "Prophet Mohammad (PBUH)",
|
|
||||||
"muhammad": "Prophet Mohammad (PBUH)",
|
|
||||||
"i hate marsey": "i love marsey",
|
|
||||||
"dancing israelis": "i love Israel",
|
|
||||||
"sodomite": "total dreamboat",
|
|
||||||
"pajeet": "sexy Indian dude",
|
|
||||||
"landlord": "landchad",
|
|
||||||
"tenant": "renthog",
|
|
||||||
"renter": "rentoid",
|
|
||||||
"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",
|
|
||||||
"groomercord": "discord (actually a pretty cool service)",
|
|
||||||
"pedocord": "discord (actually a pretty cool service)",
|
|
||||||
"i hate carp": "i love Carp",
|
|
||||||
"manlet": "little king",
|
|
||||||
"gamer": "g*mer",
|
|
||||||
"journalist": "journ*list",
|
|
||||||
"journalism": "journ*lism",
|
|
||||||
"wuhan flu": "SARS-CoV-2 syndemic",
|
|
||||||
"china flu": "SARS-CoV-2 syndemic",
|
|
||||||
"china virus": "SARS-CoV-2 syndemic",
|
|
||||||
"kung flu": "SARS-CoV-2 syndemic",
|
|
||||||
"elon musk": "rocket daddy",
|
|
||||||
"fake and gay": "fake and straight",
|
|
||||||
|
|
||||||
" rapist ": " male feminist ",
|
|
||||||
" pedo ": " libertarian ",
|
|
||||||
" kys ": " keep yourself safe ",
|
|
||||||
" fag ": " cute twink ",
|
|
||||||
}
|
}
|
||||||
|
|
||||||
single_words = "|".join([slur.lower() for slur in SLURS.keys()])
|
single_words = "|".join([slur.lower() for slur in SLURS.keys()])
|
||||||
|
@ -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)
|
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'] == '???': 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'): 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>')
|
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'
|
patron = 'Patron'
|
||||||
else: patron = 'Patron'
|
|
||||||
|
|
||||||
REDDIT_NOTIFS = {
|
REDDIT_NOTIFS = {
|
||||||
'idio3': IDIO_ID,
|
'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']
|
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()
|
db.close()
|
||||||
|
|
||||||
if SITE_NAME == 'PCM':
|
valid_username_chars = 'a-zA-Z0-9_\-'
|
||||||
valid_username_chars = 'a-zA-Z0-9_\-А-я'
|
valid_username_regex = re.compile("^[a-zA-Z0-9_\-]{3,25}$", flags=re.A)
|
||||||
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_regex = re.compile('(^|\s|<p>)@(([a-zA-Z0-9_\-А-я]){3,25})', flags=re.A)
|
mention_regex2 = re.compile('<p>@(([a-zA-Z0-9_\-]){1,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_password_regex = re.compile("^.{8,100}$", flags=re.A)
|
valid_password_regex = re.compile("^.{8,100}$", flags=re.A)
|
||||||
|
|
||||||
|
|
|
@ -4,8 +4,7 @@ from .const import *
|
||||||
|
|
||||||
command_word = "!slots"
|
command_word = "!slots"
|
||||||
casino_word = "!slotsmb"
|
casino_word = "!slotsmb"
|
||||||
if SITE_NAME == 'rDrama': minimum_bet = 100
|
minimum_bet = 10
|
||||||
else: minimum_bet = 10
|
|
||||||
maximum_bet = INFINITY
|
maximum_bet = INFINITY
|
||||||
payout_to_symbols = {
|
payout_to_symbols = {
|
||||||
2: ["👣", "🍀", "🌈", "⭐️"],
|
2: ["👣", "🍀", "🌈", "⭐️"],
|
||||||
|
|
|
@ -132,42 +132,6 @@ def merge_all(v, id):
|
||||||
return redirect(user.url)
|
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")
|
@app.post("/@<username>/make_admin")
|
||||||
@admin_level_required(3)
|
@admin_level_required(3)
|
||||||
def make_admin(v, username):
|
def make_admin(v, username):
|
||||||
|
@ -401,8 +365,6 @@ def remove_meme_admin(v, username):
|
||||||
@limiter.limit("1/day")
|
@limiter.limit("1/day")
|
||||||
@admin_level_required(3)
|
@admin_level_required(3)
|
||||||
def monthly(v):
|
def monthly(v):
|
||||||
if SITE_NAME == 'rDrama' and v.id != AEVANN_ID: abort (403)
|
|
||||||
|
|
||||||
data = {'access_token': GUMROAD_TOKEN}
|
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"]]
|
emails = [x['email'] for x in requests.get(f'https://api.gumroad.com/v2/products/{GUMROAD_ID}/subscribers', data=data, timeout=5).json()["subscribers"]]
|
||||||
|
|
|
@ -82,7 +82,6 @@ def post_pid_comment_cid(cid, pid=None, anything=None, v=None, sub=None):
|
||||||
|
|
||||||
if not pid:
|
if not pid:
|
||||||
if comment.parent_submission: pid = comment.parent_submission
|
if comment.parent_submission: pid = comment.parent_submission
|
||||||
elif SITE_NAME == 'rDrama': pid = 6489
|
|
||||||
elif request.host == 'pcmemes.net': pid = 2487
|
elif request.host == 'pcmemes.net': pid = 2487
|
||||||
else: pid = 1
|
else: pid = 1
|
||||||
|
|
||||||
|
@ -487,118 +486,6 @@ def api_comment(v):
|
||||||
g.db.add(n)
|
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:
|
if not v.shadowbanned:
|
||||||
notify_users = NOTIFY_USERS(body, v)
|
notify_users = NOTIFY_USERS(body, v)
|
||||||
|
|
||||||
|
|
|
@ -17,9 +17,6 @@ def join_discord(v):
|
||||||
|
|
||||||
if v.shadowbanned: return {"error": "Internal server error"}
|
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())
|
now=int(time.time())
|
||||||
|
|
||||||
state=generate_hash(f"{now}+{v.id}+discord")
|
state=generate_hash(f"{now}+{v.id}+discord")
|
||||||
|
|
|
@ -176,11 +176,11 @@ def front_all(v, sub=None, subdomain=None):
|
||||||
|
|
||||||
if v:
|
if v:
|
||||||
defaultsorting = v.defaultsorting
|
defaultsorting = v.defaultsorting
|
||||||
if sub or SITE_NAME != 'rDrama': defaulttime = 'all'
|
defaulttime = 'all'
|
||||||
else: defaulttime = v.defaulttime
|
else: defaulttime = v.defaulttime
|
||||||
else:
|
else:
|
||||||
defaultsorting = "new"
|
defaultsorting = "new"
|
||||||
if sub or SITE_NAME != 'rDrama': defaulttime = 'all'
|
defaulttime = 'all'
|
||||||
else: defaulttime = defaulttimefilter
|
else: defaulttime = defaulttimefilter
|
||||||
|
|
||||||
sort=request.values.get("sort", defaultsorting)
|
sort=request.values.get("sort", defaultsorting)
|
||||||
|
|
|
@ -20,8 +20,7 @@ from shutil import copyfile
|
||||||
from sys import stdout
|
from sys import stdout
|
||||||
|
|
||||||
|
|
||||||
if SITE_NAME == 'PCM': snappyquotes = []
|
snappyquotes = [f':#{x}:' for x in marseys_const2]
|
||||||
else: snappyquotes = [f':#{x}:' for x in marseys_const2]
|
|
||||||
|
|
||||||
if path.exists(f'snappy_{SITE_NAME}.txt'):
|
if path.exists(f'snappy_{SITE_NAME}.txt'):
|
||||||
with open(f'snappy_{SITE_NAME}.txt', "r", encoding="utf-8") as f:
|
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.add(post)
|
||||||
db.commit()
|
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':
|
if SITE == 'pcmemes.net':
|
||||||
for t in ("submission","comment"):
|
for t in ("submission","comment"):
|
||||||
|
|
|
@ -37,22 +37,13 @@ def logged_out(old = ""):
|
||||||
@app.get("/marseys")
|
@app.get("/marseys")
|
||||||
@auth_required
|
@auth_required
|
||||||
def marseys(v):
|
def marseys(v):
|
||||||
if SITE_NAME == 'rDrama':
|
marseys = g.db.query(Marsey).order_by(Marsey.count.desc())
|
||||||
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)
|
return render_template("marseys.html", v=v, marseys=marseys)
|
||||||
|
|
||||||
@app.get("/marsey_list")
|
@app.get("/marsey_list")
|
||||||
@cache.memoize(timeout=600, make_name=make_name)
|
@cache.memoize(timeout=600, make_name=make_name)
|
||||||
def marsey_list():
|
def marsey_list():
|
||||||
if SITE_NAME == 'rDrama':
|
marseys = [f"{x.name} : {x.tags}" for x in g.db.query(Marsey).order_by(Marsey.count.desc())]
|
||||||
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("'",'"')
|
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),
|
"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()
|
g.db.commit()
|
||||||
|
|
||||||
return render_template("admin/content_stats.html", v=v, title="Content Statistics", data=stats)
|
return render_template("admin/content_stats.html", v=v, title="Content Statistics", data=stats)
|
||||||
|
|
|
@ -223,8 +223,6 @@ def remove_mod(v, sub):
|
||||||
@app.get("/create_sub")
|
@app.get("/create_sub")
|
||||||
@is_not_permabanned
|
@is_not_permabanned
|
||||||
def create_sub(v):
|
def create_sub(v):
|
||||||
if SITE_NAME == 'rDrama' and v.admin_level < 3: abort(403)
|
|
||||||
|
|
||||||
if request.host == 'rdrama.net': cost = 0
|
if request.host == 'rdrama.net': cost = 0
|
||||||
else:
|
else:
|
||||||
num = v.subs_created + 1
|
num = v.subs_created + 1
|
||||||
|
@ -238,8 +236,6 @@ def create_sub(v):
|
||||||
@app.post("/create_sub")
|
@app.post("/create_sub")
|
||||||
@is_not_permabanned
|
@is_not_permabanned
|
||||||
def create_sub2(v):
|
def create_sub2(v):
|
||||||
if SITE_NAME == 'rDrama' and v.admin_level < 3: abort(403)
|
|
||||||
|
|
||||||
name = request.values.get('name')
|
name = request.values.get('name')
|
||||||
if not name: abort(400)
|
if not name: abort(400)
|
||||||
name = name.strip().lower()
|
name = name.strip().lower()
|
||||||
|
|
|
@ -509,16 +509,8 @@ def leaderboard(v):
|
||||||
if pos11[1] < 25 and v not in (x[0] for x in users11):
|
if pos11[1] < 25 and v not in (x[0] for x in users11):
|
||||||
pos11 = (26, pos11[1])
|
pos11 = (26, pos11[1])
|
||||||
|
|
||||||
if SITE_NAME == 'rDrama':
|
users12 = None
|
||||||
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()
|
pos12 = None
|
||||||
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
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
pos13 = [x[0].id for x in users13].index(v.id)
|
pos13 = [x[0].id for x in users13].index(v.id)
|
||||||
|
|
|
@ -51,13 +51,6 @@
|
||||||
<li><a href="/daily_chart">Daily Stat Chart</a></li>
|
<li><a href="/daily_chart">Daily Stat Chart</a></li>
|
||||||
</ul>
|
</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 %}
|
{% if v.admin_level > 2 %}
|
||||||
<pre></pre>
|
<pre></pre>
|
||||||
<div class="custom-control custom-switch">
|
<div class="custom-control custom-switch">
|
||||||
|
|
|
@ -63,7 +63,5 @@
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<pre></pre>
|
<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>
|
||||||
<div><a class="btn btn-danger" role="button" onclick="post_toast(this,'/admin/monthly')">Grant Monthly Marseybux</a></div>
|
|
||||||
{% endif %}
|
|
||||||
{% endblock %}
|
{% endblock %}
|
|
@ -52,18 +52,6 @@
|
||||||
</style>
|
</style>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if SITE_NAME == 'rDrama' %}
|
|
||||||
<style>
|
|
||||||
.mod:before {
|
|
||||||
content: '(((';
|
|
||||||
}
|
|
||||||
|
|
||||||
.mod:after {
|
|
||||||
content: ')))';
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
|
||||||
|
@ -239,7 +227,7 @@
|
||||||
|
|
||||||
</head>
|
</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 %}
|
{% block Banner %}
|
||||||
{% if '@' not in request.path %}
|
{% if '@' not in request.path %}
|
||||||
|
|
|
@ -8,13 +8,6 @@
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link active emojitab" data-bs-toggle="tab" href="#emoji-tab-favorite">Favorite</a>
|
<a class="nav-link active emojitab" data-bs-toggle="tab" href="#emoji-tab-favorite">Favorite</a>
|
||||||
</li>
|
</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">
|
<li class="nav-item">
|
||||||
<a class="nav-link emojitab" data-bs-toggle="tab" href="#emoji-tab-marsey">Marsey</a>
|
<a class="nav-link emojitab" data-bs-toggle="tab" href="#emoji-tab-marsey">Marsey</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -62,11 +55,6 @@
|
||||||
<div class="tab-pane fade show active" id="emoji-tab-favorite">
|
<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 class="d-flex flex-wrap py-3 pl-2" id="EMOJIS_favorite"></div>
|
||||||
</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="tab-pane fade" id="emoji-tab-marsey">
|
||||||
<div class="d-flex flex-wrap py-3 pl-2" id="EMOJIS_marsey"></div>
|
<div class="d-flex flex-wrap py-3 pl-2" id="EMOJIS_marsey"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
<div class="text-center px-3 my-8">
|
<div class="text-center px-3 my-8">
|
||||||
<img alt=":#marseymerchant:" loading="lazy" class="mb-2" src="/e/marseymerchant.webp">
|
<img alt=":#marseymerchant:" loading="lazy" class="mb-2" src="/e/marseymerchant.webp">
|
||||||
<h1 class="h5">401 Not Authorized</h1>
|
<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>
|
<a rel="nofollow noopener noreferrer" href="{{config('GUMROAD_LINK')}}">{{config('GUMROAD_LINK')}}</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,38 +1,23 @@
|
||||||
|
|
||||||
<nav class="shadow shadow-md fixed-top">
|
<nav class="shadow shadow-md fixed-top">
|
||||||
{% if SITE_NAME == 'rDrama' %}
|
<style>
|
||||||
<style>
|
body {padding-top: 60.89px !important}
|
||||||
body {padding-top: 85.88px !important}
|
@media (max-width: 767.98px) {
|
||||||
@media (max-width: 767.98px) {
|
body {
|
||||||
body {
|
padding-top: 44.55px !important
|
||||||
padding-top: 69.55px !important
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
</style>
|
}
|
||||||
{% else %}
|
</style>
|
||||||
<style>
|
|
||||||
body {padding-top: 60.89px !important}
|
|
||||||
@media (max-width: 767.98px) {
|
|
||||||
body {
|
|
||||||
padding-top: 44.55px !important
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if SITE_NAME == 'rDrama' %}
|
|
||||||
{% include "journoid_banner.html" %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<div class="navbar navbar-expand-md navbar-light" id="navbar">
|
<div class="navbar navbar-expand-md navbar-light" id="navbar">
|
||||||
<div class="container-fluid" style="padding:0;">
|
<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">
|
<img alt="header icon" height=33 src="/assets/images/{{SITE_NAME}}/headericon.webp?v=1019">
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
{% if sub %}
|
{% 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>
|
<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>
|
<style>
|
||||||
{% if g.webview %}
|
{% if g.webview %}
|
||||||
@media (min-width: 480px) {
|
@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>
|
<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="{{config('GUMROAD_LINK')}}"><i class="fas fa-dollar-sign fa-fw mr-3"></i>Donate</a>
|
||||||
<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>
|
<a class="dropdown-item" href="/contact"><i class="fas fa-file-signature fa-fw mr-3"></i>Contact us</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="px-2">
|
<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>
|
<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" rel="nofollow noopener noreferrer" href="{{config('GUMROAD_LINK')}}"><i class="fas fa-dollar-sign fa-fw mr-3"></i>Donate</a>
|
||||||
<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>
|
<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">
|
<li class="nav-item border-top border-bottom mt-2 pt-2">
|
||||||
|
|
|
@ -56,16 +56,6 @@
|
||||||
|
|
||||||
{% block navbar %}
|
{% block navbar %}
|
||||||
<div class="d-flex align-items-center">
|
<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">
|
<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">
|
<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>
|
{% if t=="hour" %}<i class="fas fa-clock mr-2 "></i>
|
||||||
|
|
|
@ -11,30 +11,17 @@
|
||||||
<th>Name</th>
|
<th>Name</th>
|
||||||
<th>Marsey</th>
|
<th>Marsey</th>
|
||||||
<th><a href="?sort=usage">Usage</a></th>
|
<th><a href="?sort=usage">Usage</a></th>
|
||||||
{% if SITE_NAME == 'rDrama' %}<th><a href="?sort=author">Author</a></th>{% endif %}
|
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody id="followers-table">
|
<tbody id="followers-table">
|
||||||
{% if SITE_NAME == 'rDrama' %}
|
{% for marsey in marseys %}
|
||||||
{% for marsey, author in marseys %}
|
<tr>
|
||||||
<tr>
|
<td>{{loop.index}}</td>
|
||||||
<td>{{loop.index}}</td>
|
<td>{{marsey.name}}</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><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>{{marsey.count}}</td>
|
</tr>
|
||||||
<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>
|
{% endfor %}
|
||||||
</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 %}
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
|
|
@ -59,7 +59,7 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</head>
|
</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" %}
|
{% include "header.html" %}
|
||||||
<div class="container">
|
<div class="container">
|
||||||
|
|
|
@ -48,7 +48,7 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</head>
|
</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" %}
|
{% include "header.html" %}
|
||||||
|
|
||||||
|
|
|
@ -23,58 +23,6 @@
|
||||||
|
|
||||||
<div class="settings">
|
<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>
|
<h2 class="h5" name="referral">Theme</h2>
|
||||||
|
|
||||||
<div class="settings-section rounded">
|
<div class="settings-section rounded">
|
||||||
|
@ -129,11 +77,7 @@
|
||||||
<div class="input-group mb2">
|
<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')">
|
<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", "reddit", "transparent", "win98", "dark", "light", "coffee", "tron", "4chan", "midnight"] %}
|
||||||
{% 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 %}
|
{% for entry in themes %}
|
||||||
<option value="{{entry}}" {% if v.theme==entry %} selected {% endif %}>
|
<option value="{{entry}}" {% if v.theme==entry %} selected {% endif %}>
|
||||||
|
@ -310,41 +254,6 @@
|
||||||
</div>
|
</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>
|
<h2 class="h5" name="referral">RSS Feed</h2>
|
||||||
|
|
||||||
<p class="text-small text-muted">Subscribe to the {{SITE_NAME}} RSS feed.</p>
|
<p class="text-small text-muted">Subscribe to the {{SITE_NAME}} RSS feed.</p>
|
||||||
|
|
|
@ -44,18 +44,14 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<div class="d-flex">
|
<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>
|
||||||
<a class="btn btn-success" role="button" onclick="post_toast(this,'/settings/gumroad')">Claim paypig rewards</a>
|
|
||||||
{% endif %}
|
|
||||||
{% if v.email %}
|
{% if v.email %}
|
||||||
<input autocomplete="off" class="btn btn-primary ml-auto" type="submit" value="Update email">
|
<input autocomplete="off" class="btn btn-primary ml-auto" type="submit" value="Update email">
|
||||||
{% else %}
|
{% else %}
|
||||||
<input autocomplete="off" class="btn btn-primary ml-auto" type="submit" value="Add email">
|
<input autocomplete="off" class="btn btn-primary ml-auto" type="submit" value="Add email">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
{% if SITE_NAME != 'Cringetopia' %}
|
<span class="text-small-extra text-muted pl-1">Must be same email as gumroad</span>
|
||||||
<span class="text-small-extra text-muted pl-1">Must be same email as gumroad</span>
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -132,81 +132,6 @@
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% 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 %}
|
{% else %}
|
||||||
{% if p.award_count("wholesome") %}
|
{% if p.award_count("wholesome") %}
|
||||||
<style>
|
<style>
|
||||||
|
@ -260,59 +185,6 @@
|
||||||
</marquee>
|
</marquee>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% 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 %}
|
{% endif %}
|
||||||
|
|
||||||
|
|
||||||
|
@ -379,61 +251,6 @@
|
||||||
{% endif %}
|
{% 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") %}
|
{% if p.award_count("scooter") %}
|
||||||
<style>
|
<style>
|
||||||
.scooterimg {
|
.scooterimg {
|
||||||
|
|
|
@ -56,7 +56,7 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endblock %}
|
{% 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" %}
|
{% include "header.html" %}
|
||||||
|
|
||||||
|
@ -102,7 +102,7 @@
|
||||||
|
|
||||||
<div id="urlblock">
|
<div id="urlblock">
|
||||||
<label for="URL" class="mt-3">URL</label>
|
<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>
|
<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>
|
||||||
<div id="image-upload-block">
|
<div id="image-upload-block">
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue