mirror of
https://github.com/OPSnet/Gazelle.git
synced 2026-01-16 18:04:34 -05:00
105 lines
4.2 KiB
Twig
105 lines
4.2 KiB
Twig
<div class="box box_info box_userinfo_personal">
|
|
<div class="head colhead_dark">Personal</div>
|
|
<ul class="stats nobullet">
|
|
<li>Class: <strong>{{ user.userclassName }}</strong></li>
|
|
{% for id, name in user.privilege.secondaryClassList %}
|
|
{% if loop.first %}
|
|
<li>
|
|
<ul class="stats">
|
|
{% endif %}
|
|
{% if id != constant('DONOR') or user.propertyVisible(viewer, 'hide_donor_heart') %}
|
|
<li>{{ name }}</li>
|
|
{% endif %}
|
|
{% if loop.last %}
|
|
</ul>
|
|
</li>
|
|
{% endif %}
|
|
{% endfor %}
|
|
|
|
{%- set own_profile = user.id == viewer.id %}
|
|
<li>Paranoia level: {{ user.paranoiaLabel }}</li>
|
|
{% if own_profile or viewer.permitted('users_view_email') %}
|
|
<li>Email: <a href="mailto:{{ user.email }}">{{ user.email }}</a>
|
|
{% if viewer.permitted('users_view_email') %}
|
|
<a href="user.php?action=search&email_history=on&email={{ user.email }}" title="Search" class="brackets tooltip">S</a>
|
|
{% endif %}
|
|
</li>
|
|
{% endif %}
|
|
|
|
{%- if viewer.permitted('users_view_ips') %}
|
|
{% include 'user/ip.twig' with {'user': user} %}
|
|
{% endif %}
|
|
|
|
{%- if own_profile or viewer.permitted('users_view_keys') %}
|
|
<li>Passkey: <a href="#" id="passkey" data-key="{{ user.announceKey }}" class="brackets">View</a></li>
|
|
{% endif %}
|
|
|
|
{%- if viewer.permitted('users_view_invites') %}
|
|
<li>Invited by:
|
|
{% if user.referral %}
|
|
self from {{ user.referral }}.
|
|
{% elseif not user.inviterId %}
|
|
<i>Nobody</i>
|
|
{% else %}
|
|
{% set current = user %}
|
|
{% for parent in ancestry %}
|
|
{% if not loop.first %} ↳ {% endif %}
|
|
{{ parent.id|user_url }}
|
|
{% if parent.isDisabled %}<span title="disabled"> ⛔️<span>{% endif %}
|
|
{% if parent.disableInvites %}<span title="invites revoked"> 🚫</span>{% endif %}
|
|
{% set source = invite_source.findSourceNameByUser(current) %}
|
|
{% if not source and (inviter.isInterviewer or inviter.isRecruiter) %} (unconfirmed){% endif %}
|
|
{% if source %} from {{ source }}{% endif %}
|
|
{% set current = parent %}
|
|
<br />
|
|
{% endfor %}
|
|
{% endif %}
|
|
</li>
|
|
{% endif %}
|
|
|
|
{%- if viewer.permitted('users_view_invites') or (own_profile and user.canPurchaseInvite) %}
|
|
<li>Invites: {% if user.disableInvites %}<span title="Invites are disabled">X</span>{% else %}{{ user.unusedInviteTotal|number_format }}{% endif %}
|
|
({{ user.invite.pendingTotal|number_format }} in use)</li>
|
|
{% set total = user.stats.invitedTotal %}
|
|
<li>Invited: {{ total|number_format }}
|
|
{% if total %} <a class="brackets" href="user.php?id={{ user.id }}&action=invite">View</a>{% endif -%}
|
|
</li>
|
|
{% endif %}
|
|
|
|
{%- if own_profile or viewer.permitted('users_override_paranoia') %}
|
|
<li>IRC Key: {{ user.IRCKey ? 'Yes' : 'Not set' }}</li>
|
|
{% endif %}
|
|
|
|
{%- if applicant.userIsApplicant(user) and (own_profile or viewer.permitted('admin_manage_applicants')) %}
|
|
<li>Roles applied for: <a href="/apply.php?action=view" class="brackets">View</a></li>
|
|
{% endif %}
|
|
|
|
{%- if own_profile or viewer.permitted('users_mod') or viewer.isFLS %}
|
|
<li{% if not own_profile %} class="paranoia_override"{% endif %} id="torrent-client">Torrent clients:
|
|
{% for u in user.stats.historyUseragentTracker %}
|
|
{{ u.useragent -}}
|
|
{% if viewer.permitted('users_mod') or (own_profile and user.hasAttr('seedbox-viewer')) %} ({{ u.total|number_format }}){% endif %}
|
|
{% if not loop.last %}; {% endif %}
|
|
{% else %}
|
|
None
|
|
{% endfor -%}
|
|
</li>
|
|
<li{% if not own_profile %} class="paranoia_override"{% endif %}>Password age: {{ user.history.passwordAge|time_interval }}</li>
|
|
{% endif %}
|
|
|
|
</ul>
|
|
</div>
|
|
|
|
{%- if (own_profile or viewer.permitted('users_mod')) and next_class %}
|
|
<div class="box box_info box_userinfo_nextclass">
|
|
<div class="head colhead_dark"><a href="wiki.php?action=article&name=userclasses">Next Class</a></div>
|
|
<ul class="stats nobullet">
|
|
<li>Class: {{ next_class.class }}</li>
|
|
{% for label, require in next_class.goal %}
|
|
<li>{{ label }}: {% if label == 'Time' %}{{ require.current|time_diff }}{% else %}{{ require.current }}{% endif
|
|
%} / {{ require.target }} ({{ require.percent|raw }})</li>
|
|
{% endfor %}
|
|
</ul>
|
|
</div>
|
|
{% endif %}
|