forked from rDrama/rDrama
fdMerge branch 'frost' of https://github.com/Aevann1/Drama into frost
commit
5ba6466903
|
@ -118,8 +118,8 @@ class Comment(Base):
|
|||
@property
|
||||
@lazy
|
||||
def age_string(self):
|
||||
if self.created_utc: timestamp = self.created_utc
|
||||
elif self.notif_utc: timestamp = self.notif_utc
|
||||
if self.notif_utc: timestamp = self.notif_utc
|
||||
elif self.created_utc: timestamp = self.created_utc
|
||||
else: return None
|
||||
|
||||
age = int(time.time()) - timestamp
|
||||
|
|
|
@ -9,7 +9,6 @@ def create_comment(text_html, autojanny=False):
|
|||
|
||||
new_comment = Comment(author_id=author_id,
|
||||
parent_submission=None,
|
||||
created_utc=0,
|
||||
body_html=text_html)
|
||||
g.db.add(new_comment)
|
||||
g.db.flush()
|
||||
|
@ -22,7 +21,7 @@ def send_repeatable_notification(uid, text, autojanny=False):
|
|||
|
||||
text_html = sanitize(text)
|
||||
|
||||
existing_comment = g.db.query(Comment.id).filter_by(author_id=author_id, parent_submission=None, body_html=text_html, created_utc=0).first()
|
||||
existing_comment = g.db.query(Comment.id).filter_by(author_id=author_id, parent_submission=None, body_html=text_html).first()
|
||||
|
||||
if existing_comment:
|
||||
cid = existing_comment[0]
|
||||
|
@ -47,7 +46,7 @@ def notif_comment(text, autojanny=False):
|
|||
|
||||
text_html = sanitize(text, alert=True)
|
||||
|
||||
existing = g.db.query(Comment.id).filter_by(author_id=author_id, parent_submission=None, body_html=text_html, created_utc=0).one_or_none()
|
||||
existing = g.db.query(Comment.id).filter_by(author_id=author_id, parent_submission=None, body_html=text_html).one_or_none()
|
||||
|
||||
if existing: return existing[0]
|
||||
else: return create_comment(text_html, autojanny)
|
||||
|
|
|
@ -142,7 +142,6 @@ if SITE in {'rdrama.net','devrama.xyz'}:
|
|||
LAWLZ_ID = 3833
|
||||
LLM_ID = 253
|
||||
DAD_ID = 2513
|
||||
SOREN_ID = 2546
|
||||
MOM_ID = 4588
|
||||
DONGER_ID = 541
|
||||
BUG_THREAD = 18459
|
||||
|
@ -175,7 +174,6 @@ elif SITE == "pcmemes.net":
|
|||
LAWLZ_ID = 0
|
||||
LLM_ID = 0
|
||||
DAD_ID = 0
|
||||
SOREN_ID = 0
|
||||
MOM_ID = 0
|
||||
DONGER_ID = 0
|
||||
BUG_THREAD = 4103
|
||||
|
@ -208,7 +206,6 @@ else:
|
|||
LAWLZ_ID = 0
|
||||
LLM_ID = 0
|
||||
DAD_ID = 0
|
||||
SOREN_ID = 0
|
||||
MOM_ID = 0
|
||||
DONGER_ID = 0
|
||||
BUG_THREAD = 0
|
||||
|
@ -591,7 +588,6 @@ NOTIFIED_USERS = {
|
|||
'dong': DONGER_ID,
|
||||
'kippy': KIPPY_ID,
|
||||
'the_homocracy': HOMO_ID,
|
||||
'soren': SOREN_ID
|
||||
}
|
||||
|
||||
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>')
|
||||
|
|
|
@ -61,7 +61,7 @@ def notifications(v):
|
|||
x.read = True
|
||||
c.unread = True
|
||||
g.db.add(x)
|
||||
if not c.created_utc: c.notif_utc = x.created_utc
|
||||
c.notif_utc = x.created_utc
|
||||
listing.append(c)
|
||||
|
||||
g.db.commit()
|
||||
|
@ -85,7 +85,7 @@ def notifications(v):
|
|||
try: c = comments[i]
|
||||
except: continue
|
||||
if not x.read: c.unread = True
|
||||
if not c.created_utc: c.notif_utc = x.created_utc
|
||||
c.notif_utc = x.created_utc
|
||||
x.read = True
|
||||
g.db.add(x)
|
||||
i += 1
|
||||
|
@ -556,7 +556,7 @@ def all_comments(v):
|
|||
@auth_required
|
||||
def transfers(v):
|
||||
|
||||
comments = g.db.query(Comment).filter(Comment.author_id == NOTIFICATIONS_ID, Comment.parent_submission == None, Comment.distinguish_level == 6, Comment.body_html.like("%</a> has transferred %"), Comment.created_utc == 0).order_by(Comment.id.desc())
|
||||
comments = g.db.query(Comment).filter(Comment.author_id == NOTIFICATIONS_ID, Comment.parent_submission == None, Comment.body_html.like("%</a> has transferred %")).order_by(Comment.id.desc())
|
||||
|
||||
if request.headers.get("Authorization"): return {"data": [x.json for x in comments.all()]}
|
||||
|
||||
|
|
|
@ -394,7 +394,7 @@ def viewmore(v, pid, sort, offset):
|
|||
else: offset += 1
|
||||
comments = comments2
|
||||
|
||||
return render_template("comments.html", v=v, comments=comments, ids=list(ids), render_replies=True, pid=pid, sort=sort, offset=offset, ajax=True)
|
||||
return render_template("comments.html", v=v, comments=comments, p=post, ids=list(ids), render_replies=True, pid=pid, sort=sort, offset=offset, ajax=True)
|
||||
|
||||
|
||||
@app.get("/morecomments/<cid>")
|
||||
|
@ -443,7 +443,8 @@ def morecomments(v, cid):
|
|||
c = g.db.query(Comment).filter_by(id=cid).one_or_none()
|
||||
comments = c.replies
|
||||
|
||||
return render_template("comments.html", v=v, comments=comments, render_replies=True, ajax=True)
|
||||
p = comments[0].post
|
||||
return render_template("comments.html", v=v, comments=comments, p=p, render_replies=True, ajax=True)
|
||||
|
||||
@app.post("/edit_post/<pid>")
|
||||
@limiter.limit("1/second;30/minute;200/hour;1000/day")
|
||||
|
|
|
@ -277,21 +277,22 @@ def create_sub2(v):
|
|||
if not name: abort(400)
|
||||
name = name.strip().lower()
|
||||
|
||||
if v.id == MENTION_ID: cost = 0
|
||||
else:
|
||||
num = v.subs_created + 1
|
||||
for a in v.alts:
|
||||
num += a.subs_created
|
||||
cost = num * 100
|
||||
|
||||
if not valid_sub_regex.fullmatch(name):
|
||||
return render_template("sub/create_sub.html", v=v, error="Sub name not allowed."), 400
|
||||
return render_template("sub/create_sub.html", v=v, cost=cost, error="Sub name not allowed."), 400
|
||||
|
||||
sub = g.db.query(Sub).filter_by(name=name).one_or_none()
|
||||
if not sub:
|
||||
if v.id != MENTION_ID:
|
||||
num = v.subs_created + 1
|
||||
for a in v.alts:
|
||||
num += a.subs_created
|
||||
cost = num * 100
|
||||
if v.coins < cost:
|
||||
return render_template("sub/create_sub.html", v=v, cost=cost, error="You don't have enough coins!"), 403
|
||||
|
||||
if v.coins < cost:
|
||||
return render_template("sub/create_sub.html", v=v, error="You don't have enough coins!"), 403
|
||||
|
||||
v.coins -= cost
|
||||
v.coins -= cost
|
||||
|
||||
v.subs_created += 1
|
||||
g.db.add(v)
|
||||
|
|
|
@ -231,10 +231,10 @@
|
|||
|
||||
{% if c.parent_comment_id and not standalone and level != 1 %}<a href="#comment-{{c.parent_comment_id}}-only" class="text-muted ml-2"><i class="fas fa-reply fa-sm fa-fw fa-flip-horizontal mr-1"></i>{{c.parent_comment.author_name}}</a>{% endif %}
|
||||
|
||||
{% if c.created_utc %}
|
||||
<span id="timestamp-{{c.id}}" onmouseover="timestamp('timestamp-{{c.id}}','{{c.created_utc}}')" data-bs-toggle="tooltip" data-bs-placement="bottom" class="time-stamp"> {{c.age_string}}</span>
|
||||
{% elif c.notif_utc %}
|
||||
{% if c.notif_utc %}
|
||||
<span id="timestamp-{{c.id}}" onmouseover="timestamp('timestamp-{{c.id}}','{{c.notif_utc}}')" data-bs-toggle="tooltip" data-bs-placement="bottom" class="time-stamp"> {{c.age_string}}</span>
|
||||
{% elif c.created_utc %}
|
||||
<span id="timestamp-{{c.id}}" onmouseover="timestamp('timestamp-{{c.id}}','{{c.created_utc}}')" data-bs-toggle="tooltip" data-bs-placement="bottom" class="time-stamp"> {{c.age_string}}</span>
|
||||
{% endif %}
|
||||
|
||||
{% if c.edited_utc %}
|
||||
|
@ -537,7 +537,7 @@
|
|||
|
||||
{% if c.post %}
|
||||
{% set sub = c.post.sub %}
|
||||
{% if sub and v.mods(sub) %}
|
||||
{% if sub and v.mods(sub) and not c.author.mods(sub) %}
|
||||
<button id="exile-{{c.id}}" class="d-none {% if not c.author.exiled_from(sub) %}d-md-block{% endif %} dropdown-item list-inline-item text-danger" onclick="post_toast2(this,'/exile/comment/{{c.id}}','exile-{{c.id}}','unexile-{{c.id}}')"><i class="fas fa-campfire text-danger fa-fw"></i>Exile user</button>
|
||||
<button id="unexile-{{c.id}}" class="d-none {% if c.author.exiled_from(sub) %}d-md-block{% endif %} dropdown-item list-inline-item text-success" onclick="post_toast2(this,'/unexile/comment/{{c.id}}','exile-{{c.id}}','unexile-{{c.id}}')"><i class="fas fa-campfire text-success fa-fw"></i>Unexile user</button>
|
||||
{% endif %}
|
||||
|
@ -713,7 +713,7 @@
|
|||
|
||||
{% if c.post %}
|
||||
{% set sub = c.post.sub %}
|
||||
{% if sub and v.mods(sub) %}
|
||||
{% if sub and v.mods(sub) and not c.author.mods(sub) %}
|
||||
<a data-bs-dismiss="modal" id="exile2-{{c.id}}" class="{% if c.author.exiled_from(sub) %}d-none{% endif %} list-group-item text-danger" onclick="post_toast2(this,'/exile/comment/{{c.id}}','exile2-{{c.id}}','unexile2-{{c.id}}')"><i class="fas fa-campfire text-danger mr-2"></i>Exile user</a>
|
||||
<a data-bs-dismiss="modal" id="unexile2-{{c.id}}" class="{% if not c.author.exiled_from(sub) %}d-none{% endif %} list-group-item text-success" onclick="post_toast2(this,'/unexile/comment/{{c.id}}','exile2-{{c.id}}','unexile2-{{c.id}}')"><i class="fas fa-campfire text-success mr-2"></i>Unexile user</a>
|
||||
{% endif %}
|
||||
|
@ -887,10 +887,25 @@
|
|||
|
||||
<script src="/static/assets/js/comments+submission_listing.js?v=253"></script>
|
||||
<script src="/static/assets/js/comments.js?v=252"></script>
|
||||
{% endif %}
|
||||
|
||||
{% if offset %}
|
||||
{% if p %}
|
||||
{% set pid = p.id %}
|
||||
{% endif %}
|
||||
<br>
|
||||
<div id="viewmore-{{offset}}"><button id="viewbtn" class="btn btn-primary" onclick="viewmore({{pid}},'{{sort}}',{{offset}},{{ids}})">VIEW MORE COMMENTS</a></div>
|
||||
{% endif %}
|
||||
|
||||
{% if p %}
|
||||
<script>
|
||||
{% if p and (not v or v.highlightcomments) %}
|
||||
comments = JSON.parse(localStorage.getItem("comment-counts")) || {}
|
||||
{% if ajax %}
|
||||
comments = JSON.parse(localStorage.getItem("old-comment-counts")) || {}
|
||||
{% else %}
|
||||
comments = JSON.parse(localStorage.getItem("comment-counts")) || {}
|
||||
{% endif %}
|
||||
|
||||
lastCount = comments['{{p.id}}']
|
||||
if (lastCount)
|
||||
{
|
||||
|
@ -906,12 +921,4 @@
|
|||
</script>
|
||||
{% endif %}
|
||||
|
||||
{% if offset %}
|
||||
{% if p %}
|
||||
{% set pid = p.id %}
|
||||
{% endif %}
|
||||
<br>
|
||||
<div id="viewmore-{{offset}}"><button id="viewbtn" class="btn btn-primary" onclick="viewmore({{pid}},'{{sort}}',{{offset}},{{ids}})">VIEW MORE COMMENTS</a></div>
|
||||
{% endif %}
|
||||
|
||||
</body>
|
|
@ -94,4 +94,4 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<script src="/static/assets/js/emoji_modal.js?v=255"></script>
|
||||
<script src="/static/assets/js/emoji_modal.js?v=256"></script>
|
|
@ -78,8 +78,8 @@
|
|||
{% endif %}
|
||||
|
||||
|
||||
{% if p.sub and v.mods(p.sub) %}
|
||||
<a class="dropdown-item list-inline-item text-danger" role="button" onclick="post_toast(this,'/kick/{{p.id}}')"><i class="fas fa-sign-out text-danger"></i>Kick</a>
|
||||
{% if p.sub and v.mods(p.sub) and not p.author.mods(sub) %}
|
||||
<a class="dropdown-item list-inline-item text-danger" role="button" onclick="post_toast(this,'/kick/{{p.id}}')"><i class="fas fa-sign-out text-danger"></i>Remove</a>
|
||||
|
||||
<a id="exile-{{p.id}}" class="{% if p.author.exiled_from(p.sub) %}d-none{% endif %} dropdown-item list-inline-item text-danger" role="button" onclick="post_toast2(this,'/exile/post/{{p.id}}','exile-{{p.id}}','unexile-{{p.id}}')"><i class="fas fa-campfire text-danger"></i>Exile user</a>
|
||||
<a id="unexile-{{p.id}}" class="{% if not p.author.exiled_from(p.sub) %}d-none{% endif %} dropdown-item list-inline-item text-success" role="button" onclick="post_toast2(this,'/unexile/post/{{p.id}}','exile-{{p.id}}','unexile-{{p.id}}')"><i class="fas fa-campfire text-success"></i>Unexile user</a>
|
||||
|
|
|
@ -50,8 +50,8 @@
|
|||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if p.sub and v.mods(p.sub) %}
|
||||
<button data-bs-dismiss="modal" class="nobackground btn btn-link btn-block btn-lg text-left text-danger" onclick="post_toast(this,'/kick/{{p.id}}')"><i class="fas fa-sign-out text-danger text-center mr-3"></i>Kick</button>
|
||||
{% if p.sub and v.mods(p.sub) and not p.author.mods(sub) %}
|
||||
<button data-bs-dismiss="modal" class="nobackground btn btn-link btn-block btn-lg text-left text-danger" onclick="post_toast(this,'/kick/{{p.id}}')"><i class="fas fa-sign-out text-danger text-center mr-3"></i>Remove</button>
|
||||
|
||||
<button data-bs-dismiss="modal" id="exile2" class="{% if p.author.exiled_from(p.sub) %}d-none{% endif %} nobackground btn btn-link btn-block btn-lg text-left text-danger" onclick="post_toast2(this,'/exile/post/{{p.id}}','exile2','unexile2')"><i class="fas fa-campfire mr-3 text-danger"></i>Exile user</button>
|
||||
<button data-bs-dismiss="modal" id="unexile2" class="{% if not p.author.exiled_from(p.sub) %}d-none{% endif %} nobackground btn btn-link btn-block btn-lg text-left text-success" onclick="post_toast2(this,'/unexile/post/{{p.id}}','exile2','unexile2')"><i class="fas fa-campfire mr-3 text-success"></i>Unexile user</button>
|
||||
|
|
|
@ -1045,6 +1045,8 @@
|
|||
{% endif %}
|
||||
|
||||
{% if "?context" not in request.full_path %}
|
||||
localStorage.setItem("old-comment-counts", localStorage.getItem("comment-counts"))
|
||||
|
||||
const comments = JSON.parse(localStorage.getItem("comment-counts")) || {}
|
||||
const newTotal = {{p.comment_count}} || ((comments['{{p.id}}'] || {c: 0}).c + 1)
|
||||
comments['{{p.id}}'] = {c: newTotal, t: Date.now()}
|
||||
|
|
Loading…
Reference in New Issue