rename "agendaposter" to "chud"
parent
7f44f290f6
commit
a15d5eabef
|
@ -7295,7 +7295,7 @@ button, .btn {
|
|||
animation: rb 8s linear infinite;
|
||||
}
|
||||
|
||||
.agendaposter-img:after {
|
||||
.chud-img:after {
|
||||
content: "";
|
||||
display: inline-block;
|
||||
margin-top: 10px;
|
||||
|
@ -7306,40 +7306,40 @@ button, .btn {
|
|||
background-repeat: no-repeat !important;
|
||||
}
|
||||
|
||||
.agendaposter-0:after {
|
||||
.chud-0:after {
|
||||
background: url("/i/chud/0.webp?x=2");
|
||||
}
|
||||
.agendaposter-1:after {
|
||||
.chud-1:after {
|
||||
background: url("/i/chud/1.webp?x=2");
|
||||
}
|
||||
.agendaposter-2:after {
|
||||
.chud-2:after {
|
||||
background: url("/i/chud/2.webp?x=2");
|
||||
}
|
||||
.agendaposter-3:after {
|
||||
.chud-3:after {
|
||||
background: url("/i/chud/3.webp?x=2");
|
||||
}
|
||||
.agendaposter-4:after {
|
||||
.chud-4:after {
|
||||
background: url("/i/chud/4.webp?x=2");
|
||||
}
|
||||
.agendaposter-5:after {
|
||||
.chud-5:after {
|
||||
background: url("/i/chud/5.webp?x=2");
|
||||
height: 100px;
|
||||
}
|
||||
.agendaposter-6:after {
|
||||
.chud-6:after {
|
||||
background: url("/i/chud/6.webp?x=2");
|
||||
}
|
||||
.agendaposter-7:after, .agendaposter-8:after, .agendaposter-9:after {
|
||||
.chud-7:after, .chud-8:after, .chud-9:after {
|
||||
background: url("/i/chud/7.webp?x=2");
|
||||
}
|
||||
|
||||
|
||||
@media (max-width: 410px) {
|
||||
.agendaposter-img:after {
|
||||
.chud-img:after {
|
||||
margin-bottom: 0;
|
||||
width: 50vw;
|
||||
height: 100px;
|
||||
}
|
||||
.agendaposter-5:after {
|
||||
.chud-5:after {
|
||||
height: 65px;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -119,7 +119,7 @@ function pick(kind, price, coins, marseybux) {
|
|||
}
|
||||
document.getElementById(kind).classList.toggle('picked')
|
||||
|
||||
if (kind == "agendaposter") {
|
||||
if (kind == "chud") {
|
||||
document.getElementById('phrase_section').classList.remove("d-none")
|
||||
document.getElementById('note_section').classList.add("d-none")
|
||||
}
|
||||
|
@ -176,7 +176,7 @@ function buy() {
|
|||
function giveaward(t) {
|
||||
const kind = document.getElementById('kind').value;
|
||||
|
||||
const note_id = (kind == "agendaposter" ? "agendaposter_phrase" : "note")
|
||||
const note_id = (kind == "chud" ? "chud_phrase" : "note")
|
||||
|
||||
postToast(t, t.dataset.action,
|
||||
{
|
||||
|
|
|
@ -55,7 +55,7 @@ class Badge(Base):
|
|||
@property
|
||||
@lazy
|
||||
def until(self):
|
||||
if self.badge_id == 58 and self.user.agendaposter != 1: return self.user.agendaposter
|
||||
if self.badge_id == 58 and self.user.chud != 1: return self.user.chud
|
||||
if self.badge_id == 170 and self.user.marsify != 1: return self.user.marsify
|
||||
|
||||
if self.badge_id == 94: return self.user.progressivestack
|
||||
|
|
|
@ -95,9 +95,9 @@ class User(Base):
|
|||
coins_spent = Column(Integer, default=0)
|
||||
coins_spent_on_hats = Column(Integer, default=0)
|
||||
lootboxes_bought = Column(Integer, default=0)
|
||||
agendaposter = Column(Integer, default=0)
|
||||
chud = Column(Integer, default=0)
|
||||
queen = Column(Integer, default=0)
|
||||
agendaposter_phrase = Column(String)
|
||||
chud_phrase = Column(String)
|
||||
is_activated = Column(Boolean, default=False)
|
||||
shadowbanned = Column(Integer, ForeignKey("users.id"))
|
||||
chudded_by = Column(Integer, ForeignKey("users.id"))
|
||||
|
@ -305,7 +305,7 @@ class User(Base):
|
|||
user_forced_hats = []
|
||||
for k, val in forced_hats.items():
|
||||
if getattr(self, k) and getattr(self, k) > 1:
|
||||
if k == 'agendaposter':
|
||||
if k == 'chud':
|
||||
user_forced_hats.append(random.choice(val))
|
||||
else:
|
||||
user_forced_hats.append(val)
|
||||
|
@ -348,7 +348,7 @@ class User(Base):
|
|||
def is_votes_real(self):
|
||||
if self.patron: return True
|
||||
if self.is_suspended_permanently or self.shadowbanned: return False
|
||||
if self.agendaposter: return False
|
||||
if self.chud: return False
|
||||
if self.profile_url.startswith('/e/') and not self.customtitle and self.namecolor == DEFAULT_COLOR: return False
|
||||
return True
|
||||
|
||||
|
@ -373,7 +373,7 @@ class User(Base):
|
|||
def all_blocks(self):
|
||||
stealth = set([x[0] for x in g.db.query(Sub.name).filter_by(stealth=True).all()])
|
||||
stealth = stealth - set([x[0] for x in g.db.query(SubJoin.sub).filter_by(user_id=self.id).all()])
|
||||
if self.agendaposter == 1: stealth = stealth - {'chudrama'}
|
||||
if self.chud == 1: stealth = stealth - {'chudrama'}
|
||||
|
||||
return list(stealth) + [x[0] for x in g.db.query(SubBlock.sub).filter_by(user_id=self.id).all()]
|
||||
|
||||
|
@ -813,7 +813,7 @@ class User(Base):
|
|||
@property
|
||||
@lazy
|
||||
def profile_url(self):
|
||||
if self.agendaposter:
|
||||
if self.chud:
|
||||
return f"{SITE_FULL}/e/chudsey.webp"
|
||||
if self.rainbow:
|
||||
return f"{SITE_FULL}/e/marseysalutepride.webp"
|
||||
|
@ -889,7 +889,7 @@ class User(Base):
|
|||
'coins': self.coins,
|
||||
'post_count': self.real_post_count(g.v),
|
||||
'comment_count': self.real_comment_count(g.v),
|
||||
'agendaposter_phrase': self.agendaposter_phrase,
|
||||
'chud_phrase': self.chud_phrase,
|
||||
}
|
||||
|
||||
|
||||
|
@ -1080,14 +1080,14 @@ class User(Base):
|
|||
if self.can_see_restricted_holes != None:
|
||||
return self.can_see_restricted_holes
|
||||
|
||||
if self.agendaposter: return True
|
||||
if self.chud: return True
|
||||
if self.patron: return True
|
||||
return False
|
||||
|
||||
@property
|
||||
@lazy
|
||||
def can_see_countryclub(self):
|
||||
if self.agendaposter == 1: return False
|
||||
if self.chud == 1: return False
|
||||
|
||||
if self.can_see_restricted_holes != None:
|
||||
return self.can_see_restricted_holes
|
||||
|
|
|
@ -531,8 +531,8 @@ AWARDS = {
|
|||
"ghost": False,
|
||||
"enabled": True,
|
||||
},
|
||||
"agendaposter": {
|
||||
"kind": "agendaposter",
|
||||
"chud": {
|
||||
"kind": "chud",
|
||||
"title": "Chud",
|
||||
"description": "Chuds the recipient for 24 hours.",
|
||||
"icon": "fas fa-snooze",
|
||||
|
|
|
@ -420,7 +420,7 @@ profanity_single_words = "|".join([profanity.lower() for profanity in PROFANITIE
|
|||
|
||||
LONGPOST_REPLIES = ('Wow, you must be a JP fan.', 'This is one of the worst posts I have EVER seen. Delete it.', "No, don't reply like this, please do another wall of unhinged rant please.", '# 😴😴😴', "Ma'am we've been over this before. You need to stop.", "I've known more coherent downies.", "Your pulitzer's in the mail", "That's great and all, but I asked for my burger without cheese.", 'That degree finally paying off', "That's nice sweaty. Why don't you have a seat in the time out corner with Pizzashill until you calm down, then you can have your Capri Sun.", "All them words won't bring your pa back.", "You had a chance to not be completely worthless, but it looks like you threw it away. At least you're consistent.", 'Some people are able to display their intelligence by going on at length on a subject and never actually saying anything. This ability is most common in trades such as politics, public relations, and law. You have impressed me by being able to best them all, while still coming off as an absolute idiot.', "You can type 10,000 characters and you decided that these were the one's that you wanted.", 'Have you owned the libs yet?', "I don't know what you said, because I've seen another human naked.", 'Impressive. Normally people with such severe developmental disabilities struggle to write much more than a sentence or two. He really has exceded our expectations for the writing portion. Sadly the coherency of his writing, along with his abilities in the social skills and reading portions, are far behind his peers with similar disabilities.', "This is a really long way of saying you don't fuck.", "Sorry ma'am, looks like his delusions have gotten worse. We'll have to admit him.", 'If only you could put that energy into your relationships', 'Posts like this is why I do Heroine.', 'still unemployed then?', 'K', 'look im gunna have 2 ask u 2 keep ur giant dumps in the toilet not in my replys 😷😷😷', "Mommy is soooo proud of you, sweaty. Let's put this sperg out up on the fridge with all your other failures.", "Good job bobby, here's a star", "That was a mistake. You're about to find out the hard way why.", 'You sat down and wrote all this shit. You could have done so many other things with your life. What happened to your life that made you decide writing novels of bullshit here was the best option?', "I don't have enough spoons to read this shit", "All those words won't bring daddy back.", 'OUT!', "Damn, you're really mad over this, but thanks for the effort you put into typing that all out! Sadly I won't read it all.", "Jesse what the fuck are you talking about??", "▼you're fucking bananas if you think I'm reading all that, take my downvote and shut up idiot", "Are you feeling okay bud?", ':#marseywoah:', 'At no point in your rambling, incoherent post were you even close to anything that could be considered a rational thought. Everyone on this site is now dumber for having read it. May God have mercy on your soul.', 'https://rdrama.net/videos/1671169024815045.mp4', 'https://i.rdrama.net/images/16766675896248007.webp', 'https://i.rdrama.net/images/1683531328305875.webp')
|
||||
|
||||
AGENDAPOSTER_MSG = """:marseypirate: : Avast, ye scurvy cur! Yer {type} be walkin' the plank for forgettin' to include `{AGENDAPOSTER_PHRASE}`! We be helpin' ye, right enough - we'll ne'er let ye post or comment anythin' that doesn't be expressin' yer love an' acceptance o' minorities! Heave to an' resubmit yer {type} with `{AGENDAPOSTER_PHRASE}` included, or it'll be the deep six for ye, savvy? This be an automated message; if ye need help, ye can message us ['ere](/contact). Arrr!"""
|
||||
CHUD_MSG = """:marseypirate: : Avast, ye scurvy cur! Yer {type} be walkin' the plank for forgettin' to include `{CHUD_PHRASE}`! We be helpin' ye, right enough - we'll ne'er let ye post or comment anythin' that doesn't be expressin' yer love an' acceptance o' minorities! Heave to an' resubmit yer {type} with `{CHUD_PHRASE}` included, or it'll be the deep six for ye, savvy? This be an automated message; if ye need help, ye can message us ['ere](/contact). Arrr!"""
|
||||
|
||||
PIN_AWARD_TEXT = " (pin award)"
|
||||
|
||||
|
@ -470,7 +470,7 @@ PERMS = { # Minimum admin_level to perform action.
|
|||
'POST_COMMENT_MODERATION': 1,
|
||||
'USER_BAN': 1,
|
||||
'USER_SHADOWBAN': 1,
|
||||
'USER_AGENDAPOSTER': 1,
|
||||
'USER_CHUD': 1,
|
||||
'USER_MODERATION_TOOLS_VISIBLE': 1,
|
||||
'VIEW_MODMAIL': 1,
|
||||
'NOTIFICATIONS_MODMAIL': 1,
|
||||
|
@ -1107,7 +1107,7 @@ forced_hats = {
|
|||
"marsify": ("Marsified", "I can't pick my own Marseys, help!"),
|
||||
"is_suspended": ("Behind Bars", "This user is banned and needs to do better!"),
|
||||
"queen": ("Emoji Crown (hearts and shooting stars)", "This user is getting in touch with her feminine side 🥰"),
|
||||
"agendaposter": (("Egg_irl", "This user is getting in touch with xir identity!"),
|
||||
"chud": (("Egg_irl", "This user is getting in touch with xir identity!"),
|
||||
("Trans Flag", "Just in case you forgot, trans lives matter."),
|
||||
("Trans Flag II", "Your egg is cracked; wear it with pride!"),
|
||||
("Pride Flag", "Never forget that this is a primarily gay community. Dude bussy lmao."),
|
||||
|
|
|
@ -227,8 +227,8 @@ def _award_timers_task():
|
|||
_process_timer(User.patron_utc, [22,23,24,25,26,27,28], f"Your {patron} status has expired!", {
|
||||
User.patron: 0,
|
||||
})
|
||||
_process_timer(User.agendaposter, [58], "Your temporary chud status has expired!", {
|
||||
User.agendaposter_phrase: None,
|
||||
_process_timer(User.chud, [58], "Your temporary chud status has expired!", {
|
||||
User.chud_phrase: None,
|
||||
User.chudded_by: None,
|
||||
})
|
||||
_process_timer(User.flairchanged, [96], "Your temporary flair-lock has expired. You can now change your flair!")
|
||||
|
|
|
@ -486,7 +486,7 @@ def sanitize(sanitized, golden=True, limit_pings=0, showmore=False, count_emojis
|
|||
|
||||
sanitized = sanitized.replace('<p></p>', '')
|
||||
|
||||
if g.v and g.v.agendaposter:
|
||||
if g.v and g.v.chud:
|
||||
allowed_css_properties = allowed_styles
|
||||
else:
|
||||
allowed_css_properties = allowed_styles + ["filter"]
|
||||
|
@ -723,13 +723,13 @@ def torture_object(obj, torture_method):
|
|||
tag.string.replace_with(torture_method(tag.string, key))
|
||||
obj.body_html = str(soup).replace('<html><body>','').replace('</body></html>','')
|
||||
|
||||
#torture title_html and check for agendaposter_phrase in plain title and leave if it's there
|
||||
#torture title_html and check for chud_phrase in plain title and leave if it's there
|
||||
if isinstance(obj, Post):
|
||||
obj.title_html = obj.title_html
|
||||
|
||||
def complies_with_chud(obj):
|
||||
#check for cases where u should leave
|
||||
if not (obj.author.agendaposter or obj.author.queen): return True
|
||||
if not (obj.author.chud or obj.author.queen): return True
|
||||
if obj.author.marseyawarded: return True
|
||||
if isinstance(obj, Post):
|
||||
if obj.id in ADMIGGER_THREADS: return True
|
||||
|
@ -738,7 +738,7 @@ def complies_with_chud(obj):
|
|||
if obj.parent_submission in ADMIGGER_THREADS: return True
|
||||
if obj.post.sub == "chudrama": return True
|
||||
|
||||
if obj.author.agendaposter:
|
||||
if obj.author.chud:
|
||||
#perserve old body_html to be used in checking for chud phrase
|
||||
old_body_html = obj.body_html
|
||||
|
||||
|
@ -751,20 +751,20 @@ def complies_with_chud(obj):
|
|||
tag.string.replace_with(torture_ap(tag.string, obj.author.username))
|
||||
obj.body_html = str(soup).replace('<html><body>','').replace('</body></html>','')
|
||||
|
||||
#torture title_html and check for agendaposter_phrase in plain title and leave if it's there
|
||||
#torture title_html and check for chud_phrase in plain title and leave if it's there
|
||||
if isinstance(obj, Post):
|
||||
obj.title_html = torture_ap(obj.title_html, obj.author.username)
|
||||
if obj.author.agendaposter_phrase in obj.title.lower():
|
||||
if obj.author.chud_phrase in obj.title.lower():
|
||||
return True
|
||||
|
||||
#check for agendaposter_phrase in body_html
|
||||
#check for chud_phrase in body_html
|
||||
if old_body_html:
|
||||
excluded_tags = {'del','sub','sup','marquee','spoiler','lite-youtube','video','audio'}
|
||||
soup = BeautifulSoup(old_body_html, 'lxml')
|
||||
tags = soup.html.body.find_all(lambda tag: tag.name not in excluded_tags and not tag.attrs, recursive=False)
|
||||
for tag in tags:
|
||||
for text in tag.find_all(text=True, recursive=False):
|
||||
if obj.author.agendaposter_phrase in text.lower():
|
||||
if obj.author.chud_phrase in text.lower():
|
||||
return True
|
||||
|
||||
return False
|
||||
|
|
|
@ -781,8 +781,8 @@ def admin_removed_comments(v):
|
|||
@limiter.limit('1/second', scope=rpath, key_func=get_ID)
|
||||
@limiter.limit(DEFAULT_RATELIMIT)
|
||||
@limiter.limit(DEFAULT_RATELIMIT, key_func=get_ID)
|
||||
@admin_level_required(PERMS['USER_AGENDAPOSTER'])
|
||||
def unagendaposter(id, v):
|
||||
@admin_level_required(PERMS['USER_CHUD'])
|
||||
def unchud(id, v):
|
||||
|
||||
if id.startswith('p_'):
|
||||
post_id = id.split('p_')[1]
|
||||
|
@ -798,8 +798,8 @@ def unagendaposter(id, v):
|
|||
if not user.chudded_by:
|
||||
abort(403, "Jannies can't undo chud awards anymore!")
|
||||
|
||||
user.agendaposter = 0
|
||||
user.agendaposter_phrase = None
|
||||
user.chud = 0
|
||||
user.chud_phrase = None
|
||||
user.chudded_by = None
|
||||
g.db.add(user)
|
||||
|
||||
|
@ -1032,8 +1032,8 @@ def ban_user(id, v):
|
|||
@limiter.limit('1/second', scope=rpath, key_func=get_ID)
|
||||
@limiter.limit(DEFAULT_RATELIMIT)
|
||||
@limiter.limit(DEFAULT_RATELIMIT, key_func=get_ID)
|
||||
@admin_level_required(PERMS['USER_AGENDAPOSTER'])
|
||||
def agendaposter(id, v):
|
||||
@admin_level_required(PERMS['USER_CHUD'])
|
||||
def chud(id, v):
|
||||
|
||||
if id.startswith('p_'):
|
||||
post_id = id.split('p_')[1]
|
||||
|
@ -1049,7 +1049,7 @@ def agendaposter(id, v):
|
|||
if user.admin_level > v.admin_level:
|
||||
abort(403)
|
||||
|
||||
if user.agendaposter == 1:
|
||||
if user.chud == 1:
|
||||
abort(403, f"@{user.username} is already chudded permanently!")
|
||||
|
||||
if user.marsify:
|
||||
|
@ -1072,24 +1072,24 @@ def agendaposter(id, v):
|
|||
reason = reason_regex_comment.sub(r'<a href="\1#context">\1</a>', reason)
|
||||
|
||||
if days:
|
||||
if user.agendaposter:
|
||||
user.agendaposter += days * 86400
|
||||
if user.chud:
|
||||
user.chud += days * 86400
|
||||
else:
|
||||
user.agendaposter = int(time.time()) + (days * 86400)
|
||||
user.chud = int(time.time()) + (days * 86400)
|
||||
|
||||
days_txt = str(days)
|
||||
if days_txt.endswith('.0'): days_txt = days_txt[:-2]
|
||||
duration = f"for {days_txt} day"
|
||||
if days != 1: duration += "s"
|
||||
else:
|
||||
user.agendaposter = 1
|
||||
user.chud = 1
|
||||
duration = "permanently"
|
||||
|
||||
user.agendaposter_phrase = "trans lives matter"
|
||||
user.chud_phrase = "trans lives matter"
|
||||
|
||||
text = f"@{v.username} (a site admin) has chudded you **{duration}**"
|
||||
if reason: text += f" for the following reason:\n\n> {reason}"
|
||||
text += f"\n\n**You now have to say this phrase in all posts and comments you make {duration}:**\n\n> {user.agendaposter_phrase}"
|
||||
text += f"\n\n**You now have to say this phrase in all posts and comments you make {duration}:**\n\n> {user.chud_phrase}"
|
||||
|
||||
user.chudded_by = v.id
|
||||
g.db.add(user)
|
||||
|
|
|
@ -236,7 +236,7 @@ def award_thing(v, thing_type, id):
|
|||
msg += "!"
|
||||
if note:
|
||||
note = '\n\n> '.join(note.splitlines())
|
||||
if kind == "agendaposter":
|
||||
if kind == "chud":
|
||||
msg += f"\n\n**You now have to say this phrase in all posts and comments you make for 24 hours:**"
|
||||
msg += f"\n\n> {note}"
|
||||
send_repeatable_notification(author.id, msg)
|
||||
|
@ -314,7 +314,7 @@ def award_thing(v, thing_type, id):
|
|||
else: thing.stickied_utc = t
|
||||
g.db.add(thing)
|
||||
elif kind == "queen":
|
||||
if author.agendaposter:
|
||||
if author.chud:
|
||||
abort(409, f"{safe_username} is under the effect of a conflicting award: Chud award!")
|
||||
|
||||
if author.namechanged:
|
||||
|
@ -351,7 +351,7 @@ def award_thing(v, thing_type, id):
|
|||
|
||||
badge_grant(user=author, badge_id=285)
|
||||
|
||||
elif kind == "agendaposter":
|
||||
elif kind == "chud":
|
||||
if thing_type == 'post' and thing.sub == 'chudrama' \
|
||||
or thing_type == 'comment' and thing.post and thing.post.sub == 'chudrama':
|
||||
abort(403, "You can't give the chud award in /h/chudrama")
|
||||
|
@ -368,18 +368,18 @@ def award_thing(v, thing_type, id):
|
|||
if author.owoify:
|
||||
abort(409, f"{safe_username} is under the effect of a conflicting award: OwOify award!")
|
||||
|
||||
if author.agendaposter == 1:
|
||||
if author.chud == 1:
|
||||
abort(409, f"{safe_username} is already chudded permanently!")
|
||||
|
||||
if author.agendaposter and time.time() < author.agendaposter: author.agendaposter += 86400
|
||||
else: author.agendaposter = int(time.time()) + 86400
|
||||
if author.chud and time.time() < author.chud: author.chud += 86400
|
||||
else: author.chud = int(time.time()) + 86400
|
||||
|
||||
if not note: abort(400, "Missing phrase!")
|
||||
|
||||
if note not in CHUD_PHRASES:
|
||||
abort(400, "Invalid phrase!")
|
||||
|
||||
author.agendaposter_phrase = note.lower()
|
||||
author.chud_phrase = note.lower()
|
||||
|
||||
badge_grant(user=author, badge_id=58)
|
||||
elif kind == "flairlock":
|
||||
|
@ -421,7 +421,7 @@ def award_thing(v, thing_type, id):
|
|||
elif kind == "unpausable":
|
||||
badge_grant(badge_id=67, user=author)
|
||||
elif kind == "marsey":
|
||||
if author.agendaposter:
|
||||
if author.chud:
|
||||
abort(409, f"{safe_username} is under the effect of a conflicting award: Chud award!")
|
||||
if author.queen:
|
||||
abort(409, f"{safe_username} is under the effect of a conflicting award: Queen award!")
|
||||
|
@ -479,7 +479,7 @@ def award_thing(v, thing_type, id):
|
|||
author.verified = "Verified"
|
||||
badge_grant(user=author, badge_id=150)
|
||||
elif kind == 'marsify':
|
||||
if author.agendaposter:
|
||||
if author.chud:
|
||||
abort(409, f"{safe_username} is under the effect of a conflicting award: Chud award!")
|
||||
if author.queen:
|
||||
abort(409, f"{safe_username} is under the effect of a conflicting award: Queen award!")
|
||||
|
@ -511,7 +511,7 @@ def award_thing(v, thing_type, id):
|
|||
else: author.earlylife = int(time.time()) + 86400
|
||||
badge_grant(user=author, badge_id=169)
|
||||
elif ("Furry" in kind and kind == v.house) or kind == 'owoify':
|
||||
if author.agendaposter:
|
||||
if author.chud:
|
||||
abort(409, f"{safe_username} is under the effect of a conflicting award: Chud award!")
|
||||
if author.queen:
|
||||
abort(409, f"{safe_username} is under the effect of a conflicting award: Queen award!")
|
||||
|
|
|
@ -242,7 +242,7 @@ def comment(v:User):
|
|||
|
||||
body_html = sanitize(body_for_sanitize, limit_pings=5, showmore=True, count_emojis=not v.marsify)
|
||||
|
||||
if post_target.id not in ADMIGGER_THREADS and not (v.agendaposter and v.agendaposter_phrase in body.lower()):
|
||||
if post_target.id not in ADMIGGER_THREADS and not (v.chud and v.chud_phrase in body.lower()):
|
||||
existing = g.db.query(Comment.id).filter(
|
||||
Comment.author_id == v.id,
|
||||
Comment.deleted_utc == 0,
|
||||
|
@ -294,7 +294,7 @@ def comment(v:User):
|
|||
c.ban_reason = "AutoJanny"
|
||||
g.db.add(c)
|
||||
|
||||
body = AGENDAPOSTER_MSG.format(username=v.username, type='comment', AGENDAPOSTER_PHRASE=v.agendaposter_phrase)
|
||||
body = CHUD_MSG.format(username=v.username, type='comment', CHUD_PHRASE=v.chud_phrase)
|
||||
body_jannied_html = sanitize(body)
|
||||
|
||||
c_jannied = Comment(author_id=AUTOJANNY_ID,
|
||||
|
@ -658,7 +658,7 @@ def edit_comment(cid, v):
|
|||
execute_blackjack(v, c, c.body, "comment")
|
||||
|
||||
if not complies_with_chud(c):
|
||||
abort(403, f'You have to include "{v.agendaposter_phrase}" in your comment!')
|
||||
abort(403, f'You have to include "{v.chud_phrase}" in your comment!')
|
||||
|
||||
|
||||
if int(time.time()) - c.created_utc > 60 * 3: c.edited_utc = int(time.time())
|
||||
|
|
|
@ -676,7 +676,7 @@ def submit_post(v:User, sub=None):
|
|||
p.is_banned = True
|
||||
p.ban_reason = "AutoJanny"
|
||||
|
||||
body = AGENDAPOSTER_MSG.format(username=v.username, type='post', AGENDAPOSTER_PHRASE=v.agendaposter_phrase)
|
||||
body = CHUD_MSG.format(username=v.username, type='post', CHUD_PHRASE=v.chud_phrase)
|
||||
body_jannied_html = sanitize(body)
|
||||
|
||||
|
||||
|
@ -1062,7 +1062,7 @@ def edit_post(pid, v):
|
|||
|
||||
|
||||
if not complies_with_chud(p):
|
||||
abort(403, f'You have to include "{v.agendaposter_phrase}" in your post!')
|
||||
abort(403, f'You have to include "{v.chud_phrase}" in your post!')
|
||||
|
||||
|
||||
if v.id == p.author_id:
|
||||
|
|
|
@ -615,7 +615,7 @@ def settings_css_get(v:User):
|
|||
@limiter.limit(DEFAULT_RATELIMIT, key_func=get_ID)
|
||||
@auth_required
|
||||
def settings_css(v):
|
||||
if v.agendaposter: abort(400, "Agendapostered users can't edit CSS!")
|
||||
if v.chud: abort(400, "Chuded users can't edit CSS!")
|
||||
css = request.values.get("css", v.css).strip().replace('\\', '').strip()[:CSS_LENGTH_LIMIT]
|
||||
v.css = css
|
||||
g.db.add(v)
|
||||
|
|
|
@ -403,5 +403,5 @@ def transfers(v:User):
|
|||
@limiter.limit(DEFAULT_RATELIMIT)
|
||||
@is_not_permabanned
|
||||
def donate(v):
|
||||
if v.shadowbanned or v.agendaposter == 1: abort(404)
|
||||
if v.shadowbanned or v.chud == 1: abort(404)
|
||||
return render_template(f'donate.html', v=v)
|
||||
|
|
|
@ -234,7 +234,7 @@ def grassed(v:User):
|
|||
@auth_required
|
||||
def chuds(v:User):
|
||||
users = g.db.query(User).filter(
|
||||
or_(User.agendaposter == 1, User.agendaposter > time.time()),
|
||||
or_(User.chud == 1, User.chud > time.time()),
|
||||
)
|
||||
if v.admin_level >= PERMS['VIEW_LAST_ACTIVE']:
|
||||
users = users.order_by(User.truescore.desc())
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
<td {% if user.last_active %}data-time="{{user.last_active}}"{% endif %}></td>
|
||||
{%- endif %}
|
||||
<td>{{user.truescore}}</td>
|
||||
<td {% if user.agendaposter != 1 %}data-time="{{user.agendaposter}}"{% endif %}></td>
|
||||
<td {% if user.chud != 1 %}data-time="{{user.chud}}"{% endif %}></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
|
|
|
@ -242,7 +242,7 @@
|
|||
{% endif %}
|
||||
|
||||
{% set realbody = c.realbody(v) %}
|
||||
<div id="comment-text-{{c.id}}" class="comment-text mb-0 {% if c.author.agendaposter and not (c.parent_submission and c.post.sub == 'chudrama') %}text-uppercase agendaposter-img agendaposter-{{c.id_last_num}}{% endif %} {% if c.author.rainbow %}rainbow-text{% endif %} {%if c.author.queen%}queen{%endif%}">
|
||||
<div id="comment-text-{{c.id}}" class="comment-text mb-0 {% if c.author.chud and not (c.parent_submission and c.post.sub == 'chudrama') %}text-uppercase chud-img chud-{{c.id_last_num}}{% endif %} {% if c.author.rainbow %}rainbow-text{% endif %} {%if c.author.queen%}queen{%endif%}">
|
||||
{{realbody | safe}}
|
||||
</div>
|
||||
{% if c.parent_submission or c.wall_user_id %}
|
||||
|
@ -473,10 +473,10 @@
|
|||
<button type="button" class="{% if c.author.is_suspended_permanently %}d-none{% endif %} dropdown-item list-inline-item d-mob-none text-danger" data-bs-toggle="modal" data-bs-target="#banModal" data-nonce="{{g.nonce}}" data-onclick="punishModal(this, 'ban', '/comment/{{c.id}}', '{{c.author_name}}', '{{c.fullname}}')"><i class="fas fa-user-slash text-danger fa-fw"></i>Ban user</button>
|
||||
{% endif %}
|
||||
|
||||
{% if v.admin_level >= PERMS['USER_AGENDAPOSTER'] and v.id != c.author_id %}
|
||||
<button type="button" id="unchud-{{c.fullname}}" class="dropdown-item list-inline-item d-mob-none {% if not c.author.agendaposter %}d-none{% endif %} text-success" data-nonce="{{g.nonce}}" data-onclick="unchud_or_unban(this,'/unchud_user/{{c.fullname}}')"><i class="fas fa-face-sleeping text-success fa-fw"></i>Unchud user</button>
|
||||
{% if v.admin_level >= PERMS['USER_CHUD'] and v.id != c.author_id %}
|
||||
<button type="button" id="unchud-{{c.fullname}}" class="dropdown-item list-inline-item d-mob-none {% if not c.author.chud %}d-none{% endif %} text-success" data-nonce="{{g.nonce}}" data-onclick="unchud_or_unban(this,'/unchud_user/{{c.fullname}}')"><i class="fas fa-face-sleeping text-success fa-fw"></i>Unchud user</button>
|
||||
|
||||
<button type="button" class="{% if c.author.agendaposter == 1 %}d-none{% endif %} dropdown-item list-inline-item d-mob-none text-danger" data-bs-toggle="modal" data-bs-target="#chudModal" data-nonce="{{g.nonce}}" data-onclick="punishModal(this, 'chud', '/comment/{{c.id}}', '{{c.author_name}}', '{{c.fullname}}')"><i class="fas fa-face-sleeping text-danger fa-fw"></i>Chud user</button>
|
||||
<button type="button" class="{% if c.author.chud == 1 %}d-none{% endif %} dropdown-item list-inline-item d-mob-none text-danger" data-bs-toggle="modal" data-bs-target="#chudModal" data-nonce="{{g.nonce}}" data-onclick="punishModal(this, 'chud', '/comment/{{c.id}}', '{{c.author_name}}', '{{c.fullname}}')"><i class="fas fa-face-sleeping text-danger fa-fw"></i>Chud user</button>
|
||||
{% endif %}
|
||||
|
||||
</ul>
|
||||
|
@ -686,10 +686,10 @@
|
|||
<button type="button" class="list-group-item text-danger {% if c.author.is_suspended_permanently %}d-none{% endif %}" data-bs-dismiss="modal" data-bs-toggle="modal" data-bs-target="#banModal" data-nonce="{{g.nonce}}" data-onclick="punishModal(this, 'ban', '/comment/{{c.id}}', '{{c.author_name}}', '{{c.fullname}}')"><i class="fas fa-user-slash text-danger fa-fw mr-2"></i>Ban user</button>
|
||||
{% endif %}
|
||||
|
||||
{% if v.id != c.author_id and v.admin_level >= PERMS['USER_AGENDAPOSTER'] %}
|
||||
<button type="button" id="unchud2-{{c.fullname}}" class="{% if not c.author.agendaposter %}d-none{% endif %} list-group-item text-success" data-nonce="{{g.nonce}}" data-onclick="unchud_or_unban(this,'/unchud_user/{{c.fullname}}')" data-bs-dismiss="modal"><i class="fas fa-face-sleeping fa-fw text-success mr-2"></i>Unchud user</button>
|
||||
{% if v.id != c.author_id and v.admin_level >= PERMS['USER_CHUD'] %}
|
||||
<button type="button" id="unchud2-{{c.fullname}}" class="{% if not c.author.chud %}d-none{% endif %} list-group-item text-success" data-nonce="{{g.nonce}}" data-onclick="unchud_or_unban(this,'/unchud_user/{{c.fullname}}')" data-bs-dismiss="modal"><i class="fas fa-face-sleeping fa-fw text-success mr-2"></i>Unchud user</button>
|
||||
|
||||
<button type="button" class="list-group-item text-danger {% if c.author.agendaposter == 1 %}d-none{% endif %}" data-bs-dismiss="modal" data-bs-toggle="modal" data-bs-target="#chudModal" data-nonce="{{g.nonce}}" data-onclick="punishModal(this, 'chud', '/comment/{{c.id}}', '{{c.author_name}}', '{{c.fullname}}')"><i class="fas fa-face-sleeping text-danger fa-fw mr-2"></i>Chud user</button>
|
||||
<button type="button" class="list-group-item text-danger {% if c.author.chud == 1 %}d-none{% endif %}" data-bs-dismiss="modal" data-bs-toggle="modal" data-bs-target="#chudModal" data-nonce="{{g.nonce}}" data-onclick="punishModal(this, 'chud', '/comment/{{c.id}}', '{{c.author_name}}', '{{c.fullname}}')"><i class="fas fa-face-sleeping text-danger fa-fw mr-2"></i>Chud user</button>
|
||||
{% endif %}
|
||||
|
||||
{% if v.admin_level >= PERMS['POST_COMMENT_MODERATION'] %}
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
<link rel="stylesheet" href="{{('css/classic.css') | asset}}">
|
||||
{% endif %}
|
||||
<link rel="stylesheet" href="{{('css/'~v.theme~'.css') | asset}}">
|
||||
{% if v.agendaposter %}
|
||||
<link rel="stylesheet" href="{{('css/agendaposter.css') | asset}}">
|
||||
{% if v.chud %}
|
||||
<link rel="stylesheet" href="{{('css/chud.css') | asset}}">
|
||||
{% elif v.css or v.background %}
|
||||
<link rel="stylesheet" href="/{{v.id}}/css">
|
||||
{% endif %}
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
<label for="note" class="pt-4">The phrase the recipient will have to say:</label>
|
||||
|
||||
<div class="input-group">
|
||||
<select autocomplete="off" id='agendaposter_phrase' class="form-control">
|
||||
<select autocomplete="off" id='chud_phrase' class="form-control">
|
||||
{% for entry in CHUD_PHRASES %}
|
||||
<option value="{{entry}}">
|
||||
{{entry}}
|
||||
|
|
|
@ -80,14 +80,14 @@
|
|||
{{macros.flags(p, 'post')}}
|
||||
|
||||
{% if p.realurl(v) and not v_forbid_deleted %}
|
||||
<h1 id="post-title" class="card-title post-title text-left mb-md-3 {% if p.author.agendaposter and p.sub != 'chudrama' %}text-uppercase{% endif %}">
|
||||
<h1 id="post-title" class="card-title post-title text-left mb-md-3 {% if p.author.chud and p.sub != 'chudrama' %}text-uppercase{% endif %}">
|
||||
<a {% if p.author.rainbow %}class="rainbow-text"{% endif %} {%if p.author.queen%}queen{%endif%} {% if not v or v.newtabexternal %}target="_blank"{% endif %} rel="nofollow noopener" href="{{p.realurl(v)}}">
|
||||
{% if p.flair %}<span class="patron font-weight-bolder mr-1" style="background-color:var(--primary); font-size:12px; line-height:2;">{{p.flair | safe}}</span>{% endif %}
|
||||
{{p.realtitle(v) | safe}}
|
||||
</a>
|
||||
</h1>
|
||||
{% else %}
|
||||
<h1 id="post-title" class="card-title post-title text-left mb-md-3 {% if p.author.agendaposter and p.sub != 'chudrama' %}text-uppercase{% endif %} {% if p.author.rainbow %}rainbow-text{% endif %} {%if p.author.queen%}queen{%endif%}">
|
||||
<h1 id="post-title" class="card-title post-title text-left mb-md-3 {% if p.author.chud and p.sub != 'chudrama' %}text-uppercase{% endif %} {% if p.author.rainbow %}rainbow-text{% endif %} {%if p.author.queen%}queen{%endif%}">
|
||||
{% if p.flair %}<span class="patron font-weight-bolder mr-1" style="background-color:var(--primary); font-size:12px; line-height:2;">{{p.flair | safe}}</span>{% endif %}
|
||||
{{p.realtitle(v) | safe}}
|
||||
</h1>
|
||||
|
@ -117,7 +117,7 @@
|
|||
{% endif %}
|
||||
|
||||
|
||||
<div id="post-text" class="{% if p.author.agendaposter and p.sub != 'chudrama' %}text-uppercase agendaposter-img agendaposter-{{p.id_last_num}}{% endif %} {% if p.author.rainbow %}rainbow-text{% endif %} {%if p.author.queen%}queen{%endif%}">
|
||||
<div id="post-text" class="{% if p.author.chud and p.sub != 'chudrama' %}text-uppercase chud-img chud-{{p.id_last_num}}{% endif %} {% if p.author.rainbow %}rainbow-text{% endif %} {%if p.author.queen%}queen{%endif%}">
|
||||
{% if p.is_image %}
|
||||
<div class="row no-gutters mb-4">
|
||||
<div class="col">
|
||||
|
|
|
@ -91,10 +91,10 @@
|
|||
|
||||
<button type="button" class="dropdown-item list-inline-item text-danger" data-bs-toggle="modal" data-bs-target="#banModal" data-nonce="{{g.nonce}}" data-onclick="punishModal(this, 'ban', '/post/{{p.id}}', '{{p.author_name}}', '{{p.fullname}}')"><i class="fas fa-user-slash text-danger fa-fw"></i>Ban user</button>
|
||||
{% endif %}
|
||||
{% if v.admin_level >= PERMS['USER_AGENDAPOSTER'] and v.id != p.author_id %}
|
||||
<button type="button" id="unchud-{{p.fullname}}" class="dropdown-item {% if not p.author.agendaposter %}d-none{% endif %} list-inline-item text-success" id="unexile2-user-{{p.id}}" data-nonce="{{g.nonce}}" data-onclick="unchud_or_unban(this,'/unchud_user/{{p.fullname}}')"><i class="fas fa-face-sleeping"></i>Unchud user</button>
|
||||
{% if v.admin_level >= PERMS['USER_CHUD'] and v.id != p.author_id %}
|
||||
<button type="button" id="unchud-{{p.fullname}}" class="dropdown-item {% if not p.author.chud %}d-none{% endif %} list-inline-item text-success" id="unexile2-user-{{p.id}}" data-nonce="{{g.nonce}}" data-onclick="unchud_or_unban(this,'/unchud_user/{{p.fullname}}')"><i class="fas fa-face-sleeping"></i>Unchud user</button>
|
||||
|
||||
<button type="button" class="dropdown-item list-inline-item text-danger {% if p.author.agendaposter == 1 %}d-none{% endif %}" data-bs-toggle="modal" data-bs-target="#chudModal" data-nonce="{{g.nonce}}" data-onclick="punishModal(this, 'chud', '/post/{{p.id}}', '{{p.author_name}}', '{{p.fullname}}')"><i class="fas fa-face-sleeping text-danger fa-fw"></i>Chud user</button>
|
||||
<button type="button" class="dropdown-item list-inline-item text-danger {% if p.author.chud == 1 %}d-none{% endif %}" data-bs-toggle="modal" data-bs-target="#chudModal" data-nonce="{{g.nonce}}" data-onclick="punishModal(this, 'chud', '/post/{{p.id}}', '{{p.author_name}}', '{{p.fullname}}')"><i class="fas fa-face-sleeping text-danger fa-fw"></i>Chud user</button>
|
||||
{% endif %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
|
|
@ -45,10 +45,10 @@
|
|||
|
||||
<button type="button" data-bs-dismiss="modal" data-bs-toggle="modal" data-bs-target="#banModal" data-nonce="{{g.nonce}}" data-onclick="punishModal(this, 'ban', '/post/{{p.id}}', '{{p.author_name}}', '{{p.fullname}}')" class="nobackground btn btn-link btn-block btn-lg text-danger text-left {% if p.author.is_suspended_permanently %}d-none{% endif %}"><i class="fas fa-user-minus mr-2"></i>Ban user</button>
|
||||
{% endif %}
|
||||
{% if v.id != p.author_id and v.admin_level >= PERMS['USER_AGENDAPOSTER'] %}
|
||||
<button type="button" id="unchud2-{{p.fullname}}" class="{% if not p.author.agendaposter %}d-none{% endif %} nobackground btn btn-link btn-block btn-lg text-success text-left" data-nonce="{{g.nonce}}" data-onclick="unchud_or_unban(this,'/unchud_user/{{p.fullname}}')" data-bs-dismiss="modal"><i class="fas fa-face-sleeping mr-2"></i>Unchud user</button>
|
||||
{% if v.id != p.author_id and v.admin_level >= PERMS['USER_CHUD'] %}
|
||||
<button type="button" id="unchud2-{{p.fullname}}" class="{% if not p.author.chud %}d-none{% endif %} nobackground btn btn-link btn-block btn-lg text-success text-left" data-nonce="{{g.nonce}}" data-onclick="unchud_or_unban(this,'/unchud_user/{{p.fullname}}')" data-bs-dismiss="modal"><i class="fas fa-face-sleeping mr-2"></i>Unchud user</button>
|
||||
|
||||
<button type="button" data-bs-dismiss="modal" data-bs-toggle="modal" data-bs-target="#chudModal" data-nonce="{{g.nonce}}" data-onclick="punishModal(this, 'chud', '/post/{{p.id}}', '{{p.author_name}}', '{{p.fullname}}')" class="nobackground btn btn-link btn-block btn-lg text-danger text-left {% if p.author.agendaposter == 1 %}d-none{% endif %}"><i class="fas fa-face-sleeping mr-2"></i>Chud user</button>
|
||||
<button type="button" data-bs-dismiss="modal" data-bs-toggle="modal" data-bs-target="#chudModal" data-nonce="{{g.nonce}}" data-onclick="punishModal(this, 'chud', '/post/{{p.id}}', '{{p.author_name}}', '{{p.fullname}}')" class="nobackground btn btn-link btn-block btn-lg text-danger text-left {% if p.author.chud == 1 %}d-none{% endif %}"><i class="fas fa-face-sleeping mr-2"></i>Chud user</button>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -96,7 +96,7 @@
|
|||
{{ macros.post_meta(p) }}
|
||||
</div>
|
||||
<h5 class="card-title post-title text-left w-lg-95 pb-0 pb-md-1">
|
||||
<a id="{{p.id}}-title" {% if v and v.newtab %}data-target="t" target="_blank"{% endif %} href="{{p.permalink}}" class="{% if p.sub %}sub{% endif %} stretched-link {% if p.author.agendaposter and p.sub != 'chudrama' %}text-uppercase{% endif %}">
|
||||
<a id="{{p.id}}-title" {% if v and v.newtab %}data-target="t" target="_blank"{% endif %} href="{{p.permalink}}" class="{% if p.sub %}sub{% endif %} stretched-link {% if p.author.chud and p.sub != 'chudrama' %}text-uppercase{% endif %}">
|
||||
{% if p.flair %}<span class="patron font-weight-bolder mr-1" style="background-color:var(--primary); font-size:12px; line-height:2;">{{p.flair | safe}}</span>{% endif %}
|
||||
{{p.realtitle(v) | safe}}
|
||||
</a></h5>
|
||||
|
@ -208,7 +208,7 @@
|
|||
|
||||
{% if not v_forbid_deleted %}
|
||||
{% if p.realbody(v, listing=True) %}
|
||||
<div class="d-none card rounded border {% if p.author.agendaposter and p.sub != 'chudrama' %}text-uppercase agendaposter-img agendaposter-{{p.id_last_num}}{% endif %} {% if p.author.rainbow %}rainbow-text{% endif %} {%if p.author.queen%}queen{%endif%} post-preview" id="post-text-{{p.id}}">
|
||||
<div class="d-none card rounded border {% if p.author.chud and p.sub != 'chudrama' %}text-uppercase chud-img chud-{{p.id_last_num}}{% endif %} {% if p.author.rainbow %}rainbow-text{% endif %} {%if p.author.queen%}queen{%endif%} post-preview" id="post-text-{{p.id}}">
|
||||
{{p.realbody(v, listing=True) | safe}}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
{% endif %}
|
||||
|
||||
{% if request.path != '/sidebar' %}
|
||||
{% if v and (v.is_banned or v.agendaposter) %}
|
||||
{% if v and (v.is_banned or v.chud) %}
|
||||
<a href="{{SITE_FULL_IMAGES}}/i/{{SITE_NAME}}/sidebar2.webp">
|
||||
<img class="mb-4 sidebar-img" alt="sidebar image" data-nonce="{{g.nonce}}" data-onclick="expandImage()" loading="lazy" src="{{SITE_FULL_IMAGES}}/i/{{SITE_NAME}}/sidebar2.webp">
|
||||
</a>
|
||||
|
|
|
@ -64,10 +64,10 @@
|
|||
<input autocomplete="off" id="user-shadowban-submit-{{deviceType}}" type="submit" class="btn btn-danger" value="Shadowban user" disabled>
|
||||
</form>
|
||||
{% endif %}
|
||||
{% if v.admin_level >= PERMS['USER_AGENDAPOSTER'] %}
|
||||
<button type="button" id="unagendaposter-{{deviceType}}" class="mt-1 {% if not u.agendaposter %}d-none{% endif %} btn btn-success" data-nonce="{{g.nonce}}" data-onclick="unchud_or_unban(this,'/unchud_user/{{u.id}}')">Unchud</button>
|
||||
{% if v.admin_level >= PERMS['USER_CHUD'] %}
|
||||
<button type="button" id="unchud-{{deviceType}}" class="mt-1 {% if not u.chud %}d-none{% endif %} btn btn-success" data-nonce="{{g.nonce}}" data-onclick="unchud_or_unban(this,'/unchud_user/{{u.id}}')">Unchud</button>
|
||||
|
||||
<form class="my-3 {% if u.agendaposter == 1 %}d-none{% endif %}" action="/chud_user/{{u.id}}" method="post" data-nonce="{{g.nonce}}" data-onsubmit="sendFormXHRSwitch(this)">
|
||||
<form class="my-3 {% if u.chud == 1 %}d-none{% endif %}" action="/chud_user/{{u.id}}" method="post" data-nonce="{{g.nonce}}" data-onsubmit="sendFormXHRSwitch(this)">
|
||||
<input hidden name="formkey" value="{{v|formkey}}">
|
||||
<input autocomplete="off" type="number" step="any" name="days" max="{{max_days()}}" class="form-control" placeholder="Days (0 or blank = permanent)">
|
||||
<input type="submit" class="btn btn-danger" value="Chud">
|
||||
|
|
|
@ -100,8 +100,8 @@
|
|||
{% macro stylesheets(include_user_css) %}
|
||||
<link rel="stylesheet" href="{{'css/main.css' | asset}}">
|
||||
{% if v %}
|
||||
{% if v.agendaposter %}
|
||||
<link rel="stylesheet" href="{{('css/agendaposter.css') | asset}}">
|
||||
{% if v.chud %}
|
||||
<link rel="stylesheet" href="{{('css/chud.css') | asset}}">
|
||||
{% endif %}
|
||||
{% if include_user_css and not IS_FISTMAS() %}
|
||||
{% if v.theme == 'classic_dark' %}
|
||||
|
@ -144,7 +144,7 @@
|
|||
|
||||
{% macro stylesheets_lower() %}
|
||||
{% if not (request.path.startswith('/@') and u) %}
|
||||
{% if SITE_NAME == 'rDrama' and v and v.agendaposter %}
|
||||
{% if SITE_NAME == 'rDrama' and v and v.chud %}
|
||||
{% set background = '/i/backgrounds/anime/1.webp?x=2' %}
|
||||
{% elif v and v.background %}
|
||||
{% set background = v.background %}
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
alter table users rename column agendaposter to chud;
|
||||
alter table users rename column agendaposter_phrase to chud_phrase;
|
||||
alter index users_agendaposter_idx rename to users_chud_idx;
|
||||
update award_relationships set kind='chud' where kind='agendaposter';
|
Loading…
Reference in New Issue