dffd
This commit is contained in:
parent
7997970e03
commit
0c66786b52
8 changed files with 9 additions and 60 deletions
|
@ -42,7 +42,6 @@ class Comment(Base, Age_times, Scores, Stndrd, Fuzzing):
|
||||||
distinguish_level = Column(Integer, default=0)
|
distinguish_level = Column(Integer, default=0)
|
||||||
deleted_utc = Column(Integer, default=0)
|
deleted_utc = Column(Integer, default=0)
|
||||||
is_approved = Column(Integer, default=0)
|
is_approved = Column(Integer, default=0)
|
||||||
approved_utc = Column(Integer, default=0)
|
|
||||||
level = Column(Integer, default=0)
|
level = Column(Integer, default=0)
|
||||||
parent_comment_id = Column(Integer, ForeignKey("comments.id"))
|
parent_comment_id = Column(Integer, ForeignKey("comments.id"))
|
||||||
|
|
||||||
|
|
|
@ -60,7 +60,6 @@ class Submission(Base, Stndrd, Age_times, Scores, Fuzzing):
|
||||||
domain_obj = relationship("Domain")
|
domain_obj = relationship("Domain")
|
||||||
flags = relationship("Flag", backref="submission")
|
flags = relationship("Flag", backref="submission")
|
||||||
is_approved = Column(Integer, ForeignKey("users.id"), default=0)
|
is_approved = Column(Integer, ForeignKey("users.id"), default=0)
|
||||||
approved_utc = Column(Integer, default=0)
|
|
||||||
over_18 = Column(Boolean, default=False)
|
over_18 = Column(Boolean, default=False)
|
||||||
author = relationship(
|
author = relationship(
|
||||||
"User",
|
"User",
|
||||||
|
|
|
@ -2,13 +2,6 @@ from flask import *
|
||||||
import time
|
import time
|
||||||
from .security import *
|
from .security import *
|
||||||
|
|
||||||
|
|
||||||
def session_over18():
|
|
||||||
|
|
||||||
now = int(time.time())
|
|
||||||
try: return session.get('over_18', 0) >= now
|
|
||||||
except: return False
|
|
||||||
|
|
||||||
def make_logged_out_formkey(t):
|
def make_logged_out_formkey(t):
|
||||||
|
|
||||||
s = f"{t}+{session['session_id']}"
|
s = f"{t}+{session['session_id']}"
|
||||||
|
|
|
@ -728,7 +728,6 @@ def ban_post(post_id, v):
|
||||||
|
|
||||||
post.is_banned = True
|
post.is_banned = True
|
||||||
post.is_approved = 0
|
post.is_approved = 0
|
||||||
post.approved_utc = 0
|
|
||||||
post.stickied = False
|
post.stickied = False
|
||||||
post.is_pinned = False
|
post.is_pinned = False
|
||||||
|
|
||||||
|
@ -773,7 +772,6 @@ def unban_post(post_id, v):
|
||||||
|
|
||||||
post.is_banned = False
|
post.is_banned = False
|
||||||
post.is_approved = v.id
|
post.is_approved = v.id
|
||||||
post.approved_utc = int(time.time())
|
|
||||||
|
|
||||||
g.db.add(post)
|
g.db.add(post)
|
||||||
|
|
||||||
|
@ -839,7 +837,6 @@ def api_ban_comment(c_id, v):
|
||||||
|
|
||||||
comment.is_banned = True
|
comment.is_banned = True
|
||||||
comment.is_approved = 0
|
comment.is_approved = 0
|
||||||
comment.approved_utc = 0
|
|
||||||
|
|
||||||
g.db.add(comment)
|
g.db.add(comment)
|
||||||
ma=ModAction(
|
ma=ModAction(
|
||||||
|
@ -870,7 +867,6 @@ def api_unban_comment(c_id, v):
|
||||||
|
|
||||||
comment.is_banned = False
|
comment.is_banned = False
|
||||||
comment.is_approved = v.id
|
comment.is_approved = v.id
|
||||||
comment.approved_utc = int(time.time())
|
|
||||||
|
|
||||||
|
|
||||||
return "", 204
|
return "", 204
|
||||||
|
|
|
@ -85,13 +85,9 @@ def post_pid_comment_cid(cid, pid=None, anything=None, v=None):
|
||||||
|
|
||||||
post = get_post(pid, v=v)
|
post = get_post(pid, v=v)
|
||||||
|
|
||||||
if post.over_18 and not (v and v.over_18) and not session_over18():
|
if post.over_18 and not (v and v.over_18) and not session.get('over_18', 0) >= int(time.time()):
|
||||||
t = int(time.time())
|
|
||||||
return {'html': lambda: render_template("errors/nsfw.html",
|
return {'html': lambda: render_template("errors/nsfw.html",
|
||||||
v=v,
|
v=v,
|
||||||
t=t,
|
|
||||||
lo_formkey=make_logged_out_formkey(
|
|
||||||
t),
|
|
||||||
),
|
),
|
||||||
'api': lambda: {'error': f'This content is not suitable for some users and situations.'}
|
'api': lambda: {'error': f'This content is not suitable for some users and situations.'}
|
||||||
|
|
||||||
|
|
|
@ -154,34 +154,14 @@ def error_503(e, v):
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@app.route("/allow_nsfw_logged_in", methods=["POST"])
|
@app.route("/allow_nsfw", methods=["POST"])
|
||||||
@auth_required
|
def allow_nsfw():
|
||||||
@validate_formkey
|
|
||||||
def allow_nsfw_logged_in(v):
|
|
||||||
|
|
||||||
if not session.get("over_18"): session["over_18"] = int(time.time()) + 3600
|
session["over_18"] = int(time.time()) + 3600
|
||||||
|
|
||||||
return redirect(request.form.get("redir"))
|
return redirect(request.form.get("redir"))
|
||||||
|
|
||||||
|
|
||||||
@app.route("/allow_nsfw_logged_out", methods=["POST"])
|
|
||||||
@auth_desired
|
|
||||||
def allow_nsfw_logged_out(v):
|
|
||||||
|
|
||||||
if v:
|
|
||||||
return redirect('/')
|
|
||||||
|
|
||||||
t = int(request.form.get('time'))
|
|
||||||
|
|
||||||
if not validate_logged_out_formkey(t,
|
|
||||||
request.form.get("formkey")
|
|
||||||
):
|
|
||||||
abort(403)
|
|
||||||
|
|
||||||
if not session.get("over_18"): session["over_18"] = int(time.time()) + 3600
|
|
||||||
|
|
||||||
return redirect(request.form.get("redir"))
|
|
||||||
|
|
||||||
@app.route("/error/<error>", methods=["GET"])
|
@app.route("/error/<error>", methods=["GET"])
|
||||||
@auth_desired
|
@auth_desired
|
||||||
def error_all_preview(error, v):
|
def error_all_preview(error, v):
|
||||||
|
|
|
@ -232,13 +232,9 @@ def post_base36id(pid, anything=None, v=None):
|
||||||
g.db.add(post)
|
g.db.add(post)
|
||||||
g.db.commit()
|
g.db.commit()
|
||||||
|
|
||||||
if post.over_18 and not (v and v.over_18) and not session_over18():
|
if post.over_18 and not (v and v.over_18) and not session.get('over_18', 0) >= int(time.time()):
|
||||||
t = int(time.time())
|
|
||||||
return {"html":lambda:render_template("errors/nsfw.html",
|
return {"html":lambda:render_template("errors/nsfw.html",
|
||||||
v=v,
|
v=v,
|
||||||
t=t,
|
|
||||||
lo_formkey=make_logged_out_formkey(t),
|
|
||||||
|
|
||||||
),
|
),
|
||||||
"api":lambda:(jsonify({"error":"Must be 18+ to view"}), 451)
|
"api":lambda:(jsonify({"error":"Must be 18+ to view"}), 451)
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,20 +15,10 @@
|
||||||
<p class="mb-5">This post is rated +18 (Pornographic Content). You must be 18 or older to continue. Are you sure you want to proceed?</p>
|
<p class="mb-5">This post is rated +18 (Pornographic Content). You must be 18 or older to continue. Are you sure you want to proceed?</p>
|
||||||
<div class="btn-toolbar justify-content-center mb-4">
|
<div class="btn-toolbar justify-content-center mb-4">
|
||||||
|
|
||||||
{% if v %}
|
<form action="/allow_nsfw" method="post">
|
||||||
<form action="/allow_nsfw_logged_in" method="post">
|
|
||||||
<input type="hidden" name="formkey" value="{{v.formkey}}">
|
|
||||||
<input type="hidden" name="redir" value="{{request.path}}">
|
<input type="hidden" name="redir" value="{{request.path}}">
|
||||||
<input type="submit" class="btn btn-danger mr-2" value="Yes, I am 18">
|
<input type="submit" class="btn btn-danger mr-2" value="Yes, I am +18">
|
||||||
</form>
|
</form>
|
||||||
{% else %}
|
|
||||||
<form action="/allow_nsfw_logged_out" method="post">
|
|
||||||
<input type="hidden" name="formkey" value="{{lo_formkey}}">
|
|
||||||
<input type="hidden" name="redir" value="{{request.path}}">
|
|
||||||
<input type="hidden" name="time" value="{{t}}">
|
|
||||||
<input type="submit" class="btn btn-danger mr-2" value="Yes, I am 18">
|
|
||||||
</form>
|
|
||||||
{% endif %}
|
|
||||||
<div><a href="/" class="btn btn-secondary">No</a></div>
|
<div><a href="/" class="btn btn-secondary">No</a></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue