forked from rDrama/rDrama
1
0
Fork 0

Fix DMs not checking blocks.

master
Snakes 2022-11-02 16:22:23 -04:00
parent de30ee0ed4
commit a310d43b10
Signed by: Snakes
GPG Key ID: E745A82778055C7E
2 changed files with 12 additions and 4 deletions

View File

@ -26,7 +26,7 @@ def get_id(username:str, graceful=False) -> Optional[int]:
return user[0]
def get_user(username:str, v:Optional[User]=None, graceful=False, rendered=False, include_blocks=False, include_shadowbanned=True) -> Optional[User]:
def get_user(username:str, v:Optional[User]=None, graceful=False, include_blocks=False, include_shadowbanned=True) -> Optional[User]:
if not username:
if graceful: return None
abort(404)
@ -50,7 +50,7 @@ def get_user(username:str, v:Optional[User]=None, graceful=False, rendered=False
if graceful: return None
abort(404)
if rendered and v and include_blocks:
if v and include_blocks:
user = add_block_props(user, v)
return user

View File

@ -488,6 +488,14 @@ def messagereply(v):
if parent.sentto == 2: user_id = None
elif v.id == user_id: user_id = parent.sentto
if user_id:
user = get_account(user_id, v=v, include_blocks=True)
if hasattr(user, 'is_blocking') and user.is_blocking:
abort(403, "You're blocking this user.")
elif (v.admin_level <= PERMS['MESSAGE_BLOCKED_USERS']
and hasattr(user, 'is_blocked') and user.is_blocked):
abort(403, "You're blocked by this user.")
if parent.sentto == 2:
body += process_files()
@ -650,7 +658,7 @@ def visitors(v):
@app.get("/logged_out/@<username>")
@auth_desired_with_logingate
def u_username(username, v=None):
u = get_user(username, v=v, include_blocks=True, include_shadowbanned=False, rendered=True)
u = get_user(username, v=v, include_blocks=True, include_shadowbanned=False)
if username != u.username:
return redirect(SITE_FULL + request.full_path.replace(username, u.username))
is_following = v and u.has_follower(v)
@ -731,7 +739,7 @@ def u_username(username, v=None):
@app.get("/logged_out/@<username>/comments")
@auth_desired_with_logingate
def u_username_comments(username, v=None):
u = get_user(username, v=v, include_blocks=True, include_shadowbanned=False, rendered=True)
u = get_user(username, v=v, include_blocks=True, include_shadowbanned=False)
if username != u.username:
return redirect(f"/@{u.username}/comments")
is_following = v and u.has_follower(v)