Files
ops-Gazelle/templates/user/header.twig

239 lines
12 KiB
Twig
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{% from 'macro/paranoia.twig' import class_override, override %}
{% set user_id = user.id %}
{% set viewer_id = viewer.id %}
{% set own_profile = user_id == viewer_id %}
<div class="thin">
<div class="header">
<h2>{{ user.username }}
{% if donor.isDonor and (own_profile or donor.isVisible or viewer.permitted('users_override_paranoia')) -%}
&nbsp;{{ donor.heart(viewer)|raw -}}
{% endif %}
{% if user.isWarned -%}
&nbsp;<a href="wiki.php?action=article&amp;name=warnings"><img src="{{
constant('STATIC_SERVER') }}/common/symbols/warned.png" alt="Warned" title="Warned
{%- if own_profile or viewer.permitted('users_mod') %} Expires {{ user.warningExpiry }}{% endif %}" class="tooltip" /></a>
{% endif %}
{% if user.isDisabled -%}
&nbsp;<a href="rules.php"><img src="{{ constant('STATIC_SERVER') }}/common/symbols/disabled.png" alt="Banished" title="Naughty person" class="tooltip" /></a>
{% endif %}
{% for badge, name in user.privilege.badgeList %}
<span class="tooltip secondary_class" title="{{ name }}">{{ badge }}</span>
{% endfor %}
{% if friend.isMutual(user) %}<span title="The feeling is mutual (awww!)">💕</span>
{% elseif friend.isFriend(user) %}<span title="You like them (aww!)">💖</span>
{% endif %}
{% if user.title -%}
<span class="user_title">{{ user.title|raw }}</span>
{%- endif -%}
</h2>
</div>
<div class="linkbox">
{% if own_profile or viewer.permitted('users_edit_profiles') %}
<a href="user.php?action=edit&amp;id={{ user_id }}" class="brackets">Settings</a>
{% endif %}
{% if not own_profile %}
<a href="inbox.php?action=compose&amp;toid={{ user_id }}" class="brackets" title="Send a private message">Send PM</a>
{% if not friend.isFriend(user) %}
<a href="friends.php?action=add&amp;friendid={{ user_id }}&amp;auth={{ viewer.auth }}" class="brackets">Add to friends</a>
{% endif %}
<a href="reports.php?action=report&amp;type=user&amp;id={{ user_id }}" class="brackets">Report user</a>
{% endif %}
{% if own_profile or viewer.permitted('users_view_friends') %}
<a href="friends.php" class="brackets">Friends</a>
{% endif %}
{% if own_profile %}
<a href="userhistory.php?action=reports&amp;userid={{ user_id }}" class="brackets">My Reports</a>
{% endif %}
{% if viewer.permitted('admin_reports') %}
<a href="reportsv2.php?view=reporter&amp;id={{ user_id }}" class="brackets">Reports</a>
{% endif %}
{% if viewer.permitted('users_mod') %}
<a href="userhistory.php?action=token_history&amp;userid={{ user_id }}" class="brackets">FL tokens</a>
{% endif %}
{% if viewer.permitted('users_mod') or (own_profile and viewer.permitted('site_user_stats')) %}
<a href="user.php?action=stats&amp;userid={{ user_id }}" class="brackets">Stats</a>
{% endif %}
{% if user.hasAttr('feature-seedbox') and (own_profile or viewer.permitted('users_view_ips')) %}
<a href="user.php?action=seedbox{% if viewer.permitted('users_view_ips') %}&amp;userid={{ user_id }}{% endif %}" class="brackets">Seedboxes</a>
{% endif %}
{% if own_profile or viewer.permittedAny('users_logout', 'users_view_ips') %}
<a href="user.php?id={{ user_id }}&amp;action=sessions" class="brackets">Sessions</a>
{% if viewer.permittedAny('users_logout', 'users_view_ips') %}
<a href="tools.php?action=user_info&amp;userid={{ user_id }}" class="brackets">Email/IP info</a>
{% endif %}
{% endif %}
{% if viewer.permitted('users_mod') %}
<a href="user.php?action=audit&amp;id={{ user_id }}" class="brackets">Audit</a>
{% endif %}
{% if viewer.permitted('admin_clear_cache') and viewer.permitted('users_override_paranoia') %}
<a href="user.php?action=clearcache&amp;id={{ user_id }}" class="brackets">Clear cache</a>
{% endif %}
{% if viewer.permitted('admin_manage_permissions') %}
<a href="user.php?action=permissions&amp;userid={{ user_id }}" class="brackets">Custom Privileges</a>
{% endif %}
</div>
<div class="sidebar">
{% if viewer.showAvatars %}
<div class="box box_image box_image_avatar">
<div class="head colhead_dark">Avatar</div>
<div align="center">{{ user|avatar(viewer)|raw }}</div>
</div>
{% endif %}
{% if user.isEnabled and (not user.hasAttr('no-fl-gifts')) and freeleech.offer %}
<div class="box box_info box_userinfo_give_FL">
<div class="head colhead_dark">Give Freeleech Tokens</div>
<form class="fl_form" name="user" id="fl_form" action="user.php?id={{ user_id }}" method="post">
<ul class="stats nobullet">
{% for item in freeleech.offer %}
<li>
<label class="tooltip" title="This costs {{ item.price|number_format
}} BP, which will leave you with {{
(viewer.bonusPointsTotal - item.price)|number_format }} afterwards">
<input type="radio" name="fltype" value="{{ item.label }}" />
{{ item.title }}
</label>
</li>
{% endfor %}
<li><input type="text" id="message" name="message" placeholder="Message"/> <br /></li>
<li><input type="submit" name="flsubmit" value="Send" /></li>
{% if freeleech.latest %}
{% set when = freeleech.latest.purchase_date|time_diff %}
<li>You gave them {{ freeleech.latest.title|trim(' to Other') }} {{
when|raw }}{% if 'Just now' in when %}. Your generosity is most appreciated!{% endif -%}
</li>
{% endif %}
{% set exchange = bonus.tokenExchange %}
{% if exchange.received > exchange.sent %}
{% set net = exchange.received - exchange.sent %}
<li title="{{ exchange.received|number_format}} received, {{
exchange.sent|number_format }} given">Total benefits: {{
net | number_format }} token{{ net|plural }}</li>
{% endif %}
</ul>
<input type="hidden" name="action" value="fltoken" />
<input type="hidden" name="auth" value="{{ viewer.auth }}" />
</form>
</div>
{% endif %}
{% if viewer.isStaff %}
<div class="hidden info-paster">
Last seen: {{ user.lastAccessRealtime }}
Up: {{ user.uploadedSize|octet_size(3) }}
Down: {{ user.downloadedSize|octet_size(3) }}
Ratio: {{ ratio(user.uploadedSize, user.downloadedSize) }} (required {{ user.requiredRatio|number_format(2) }})
Torrent clients:
{% for u in user.stats.historyUseragentTracker %}
{{ u.useragent }} ({{ u.total }})
{% else %}
None
{% endfor %}
</div>
{% endif %}
<div class="box box_info box_userinfo_stats">
<div class="head colhead_dark">Statistics</div>
<ul class="stats nobullet">
<li>Joined: {{ user.created|time_diff }}
{%- if (own_profile or viewer.permitted('users_mod')) and user.MFA.enabled -%}
<span class="tooltip" style="color: #008000" title="MFA enabled!"> ✔</span>
{%- endif -%}
</li>
{% set visible = user.propertyVisible(preview_user, 'lastseen') %}
{% if visible == constant('PARANOIA_HIDE') and not user.isStaff and viewer.permitted('view_last_seen') %}
{% set visible = constant('PARANOIA_OVERRIDE') %}
{% endif %}
{% if visible %}
<li{{ class_override(visible) }}>Last seen: {% if viewer.id == user.id or viewer.isStaff -%}
{{- user.lastAccessRealtime|time_diff -}}
{% else %}
{{- user.lastAccess|time_diff -}}
{% endif %}
</li>
{% endif %}
{%- set visible = user.propertyVisible(preview_user, 'uploaded') %}
{% if visible %}
<li class="tooltip{{ override(visible) }}" title="{{ user.uploadedSize|octet_size(5) }}">Uploaded: {{ user.uploadedSize|octet_size }}</li>
{% endif %}
{%- set visible = user.propertyVisible(preview_user, 'downloaded') %}
{% if visible %}
<li class="tooltip{{ override(visible) }}" title="{{ user.downloadedSize|octet_size(5) }}">Downloaded: {{ user.downloadedSize|octet_size }}</li>
{% endif %}
{%- set visible = min(user.propertyVisible(preview_user, 'downloaded'), user.propertyVisible(preview_user, 'uploaded')) %}
{% if visible %}
{% set buffer = user.buffer[1] %}
<li class="tooltip{{ override(visible) }}" title="{{ buffer|octet_size(5) }}">Buffer: {{ buffer|octet_size }}</li>
{% endif %}
{%- set visible = user.propertyVisible(preview_user, 'ratio') %}
{% if visible %}
<li{{ class_override(visible) }}>Ratio: {{ ratio(user.uploadedSize, user.downloadedSize) }} </li>
{% endif %}
{%- if own_profile or viewer.permitted('users_mod') %}
{% set recovered = user.recoveryFinalSize %}
{% if recovered %}
<li class="tooltip" title="Recovered from previous site: {{ recovered|octet_size(5) }}">Recovered: {{ recovered|octet_size }}</li>
{% elseif viewer.permitted('users_mod') %}
<li class="tooltip paranoia_override">Recovered: no record</li>
{% endif %}
{% endif %}
{%- set visible = user.propertyVisible(preview_user, 'requiredratio') %}
{% if visible %}
{% set required = user.buffer[0] %}
<li{{ class_override(visible) }}>Required Ratio: <span class="tooltip" title="{{ user.requiredRatio|number_format(5) }}">{{ user.requiredRatio|number_format(2) }}</span></li>
<li{{ class_override(visible) }}>Required Class Ratio: <span class="tooltip" title="{{ required|number_format(5) }}">{{ required|number_format(2) }}</span></li>
{% endif %}
{%- set visible = user.propertyVisible(preview_user, 'requiredratio') %}
{% if visible %}
{% set size = user.seedingSize %}
<li class="tooltip{{ override(visible) }}" title="{{ size|number_format }}">Seeding Size: {{ size|octet_size }}</li>
{% endif %}
{%- set visible = user.propertyVisible(preview_user, 'bonuspoints') %}
{% if visible %}
{% if viewer.permitted('admin_bp_history') %}
<li{{ class_override(visible) }}>Bonus Points: {{ user.bonusPointsTotal|number_format }}
<a href="bonus.php?action=history&amp;userid={{ user_id }}" class="brackets">History</a></li>
{% if constant('BONUS_UPLOAD_BOOST_ACTIVE') %}
{% set boost = user.ordinal.value('bonus-upload-boost') %}
{% set total = 0 %}
{% if boost %}
{% for n in range(1, boost) %}
{% set total = total + constant('BONUS_UPLOAD_BOOST')[n - 1] %}
{% endfor %}
{% endif %}
<li>Upload boosts: {{ boost }}{% if total %} ({{ total|number_format }} points){% endif %}</li>
{% endif %}
<li{{ class_override(visible) }}><a href="bonus.php?action=bprates&amp;userid={{ user_id }}">Points Per Hour</a>: {{ bonus.hourlyRate|number_format(2) }}
{% elseif own_profile %}
<li{{ class_override(visible) }}>Bonus Points: {{ user.bonusPointsTotal|number_format }}
<a href="bonus.php?action=history" class="brackets">History</a></li>
<li{{ class_override(visible) }}><a href="bonus.php?action=bprates">Points Per Hour</a>: {{ bonus.hourlyRate|number_format(2) }}
{% else %}
<li{{ class_override(visible) }}>Bonus Points: {{ user.bonusPointsTotal|number_format }}</li>
<li{{ class_override(visible) }}>Points Per Hour: {{ bonus.hourlyRate|number_format(2) }}
{% endif %}
{% endif %}
{%- if own_profile or viewer.permitted('users_mod') %}
<li{{ class_override(viewer.permitted('users_mod') ? constant('PARANOIA_OVERRIDDEN') : constant('PARANOIA_ALLOWED'))
}}><a href="userhistory.php?action=token_history&amp;userid={{ user_id }}">Tokens</a>: {{ user.tokenCount|number_format }}</li>
{% endif %}
{%- if user.isWarned and (own_profile or viewer.permitted('users_mod')) %}
<li{{ class_override(viewer.permitted('users_mod') ? constant('PARANOIA_OVERRIDDEN') : constant('PARANOIA_ALLOWED'))
}}>Warning expires in: {{ user.warningExpiry|time_diff }}</li>
{% endif %}
</ul>
</div>