forked from MarseyWorld/MarseyWorld
frens
parent
f893ed2bac
commit
0058ce4354
|
@ -86,6 +86,8 @@ class User(Base):
|
|||
bio_html = Column(String)
|
||||
sig = Column(String)
|
||||
sig_html = Column(String)
|
||||
friends = Column(String)
|
||||
friends_html = Column(String)
|
||||
is_banned = Column(Integer, default=0)
|
||||
unban_utc = Column(Integer, default=0)
|
||||
ban_reason = Column(String)
|
||||
|
|
|
@ -178,6 +178,36 @@ def settings_profile_post(v):
|
|||
msg="Your sig has been updated.")
|
||||
|
||||
|
||||
if request.values.get("friends"):
|
||||
friends = request.values.get("friends")[:500]
|
||||
|
||||
for i in re.finditer('^(https:\/\/.*\.(png|jpg|jpeg|gif|webp|PNG|JPG|JPEG|GIF|WEBP|9999))', friends, re.MULTILINE):
|
||||
if "wikipedia" not in i.group(1): friends = friends.replace(i.group(1), f'![]({i.group(1)})')
|
||||
|
||||
friends_html = CustomRenderer().render(mistletoe.Document(friends))
|
||||
friends_html = sanitize(friends_html)
|
||||
bans = filter_comment_html(friends_html)
|
||||
|
||||
if bans:
|
||||
ban = bans[0]
|
||||
reason = f"Remove the {ban.domain} link from your top 8 friends list and try again."
|
||||
if ban.reason: reason += f" {ban.reason}"
|
||||
return {"error": reason}, 401
|
||||
|
||||
if len(friends_html) > 1000:
|
||||
return render_template("settings_profile.html",
|
||||
v=v,
|
||||
error="Your top 8 friends list is too long")
|
||||
|
||||
v.friends = friends[:500]
|
||||
v.friends_html=friends_html
|
||||
g.db.add(v)
|
||||
g.db.commit()
|
||||
return render_template("settings_profile.html",
|
||||
v=v,
|
||||
msg="Your top 8 friends have been updated.")
|
||||
|
||||
|
||||
if request.values.get("bio") or request.files.get('file') and request.headers.get("cf-ipcountry") != "T1":
|
||||
bio = request.values.get("bio")[:1500]
|
||||
|
||||
|
|
|
@ -587,6 +587,28 @@
|
|||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="body d-lg-flex border-bottom">
|
||||
|
||||
<label class="text-black w-lg-25">Top 8 friends</label>
|
||||
|
||||
<div class="w-lg-100">
|
||||
<form id="profile-friends" action="/settings/profile" method="post" enctype="multipart/form-data">
|
||||
<input type="hidden" name="formkey" value="{{v.formkey}}">
|
||||
<div class="input-group mb-2">
|
||||
<textarea id="friends-text" class="form-control rounded" aria-label="With textarea" placeholder="Enter your top 8 friends on the site..." rows="3" name="friends" form="profile-friends" maxlength="1500">{% if v.friends %}{{v.friends}}{% endif %}</textarea>
|
||||
</div>
|
||||
<pre></pre>
|
||||
<div class="d-flex">
|
||||
<small>Limit of 500 characters</small>
|
||||
<input class="btn btn-primary ml-auto" id="friendsSave" type="submit" value="Save Changes">
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
{% if v.patron or v.id == 1904 %}
|
||||
<div class="body d-lg-flex border-bottom">
|
||||
<label class="text-black w-lg-25">Signature</label>
|
||||
|
|
|
@ -175,7 +175,10 @@
|
|||
{% else %}
|
||||
<p class="text-muted">No bio...</p>
|
||||
{% endif %}
|
||||
{% if u.bio_html and v %}
|
||||
|
||||
{% if u.friends_html %}
|
||||
<p class="text-muted font-weight-bold">Top 8 friends:</p>
|
||||
{{u.friends_html | safe}}
|
||||
{% endif %}
|
||||
|
||||
{% if u.received_awards %}
|
||||
|
@ -441,7 +444,12 @@
|
|||
<br>joined <span data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{{u.created_datetime}}" class="font-weight-bold">{{u.created_date}}</span>
|
||||
</div>
|
||||
{% if u.bio_html %}
|
||||
<p class="text-muted text-break">{{u.bio_html | safe}}</p>
|
||||
<p class="text-muted text-break">{{u.bio_html | safe}}</p>
|
||||
{% endif %}
|
||||
|
||||
{% if u.friends_html %}
|
||||
<p class="text-muted font-weight-bold mt-3">Top 8 friends:</p>
|
||||
{{u.friends_html | safe}}
|
||||
{% endif %}
|
||||
|
||||
{% if u.received_awards %}
|
||||
|
|
Loading…
Reference in New Issue