116 lines
6.2 KiB
Twig
116 lines
6.2 KiB
Twig
{% extends 'global/master.twig' %}
|
|
|
|
{% set sorts = ['boxes', 'rectangles', 'list'] %}
|
|
{% set sort = get.sort in sorts ? get.sort : sorts[0] %}
|
|
|
|
{% set notfound = memberlist.active == 0 and get.rank is defined %}
|
|
|
|
{% set rankTitle %}
|
|
{% if notfound %}Not found{% else %}{% if not memberlist.active %}All members{% else %}{{ memberlist.ranks[memberlist.active].name(true) }}{% endif %}{% endif %}
|
|
{% endset %}
|
|
|
|
{% set rankDescription %}
|
|
{% if notfound %}The requested rank could not be found!{% else %}{% if not memberlist.active %}The entire user list.{% else %}{{ memberlist.ranks[memberlist.active].description }}{% endif %}{% endif %}
|
|
{% endset %}
|
|
|
|
{% set users = memberlist.users|batch(memberlist.membersPerPage) %}
|
|
|
|
{% set currPage = get.page|default(1) - 1 %}
|
|
|
|
{% set paginationPages = users %}
|
|
{% set paginationUrl %}{% if sort and memberlist.active %}{{ urls.format('MEMBERLIST_ALL', [sort, memberlist.active]) }}{% elseif sort %}{{ urls.format('MEMBERLIST_SORT', [sort]) }}{% elseif memberlist.active %}{{ urls.format('MEMBERLIST_RANK', [memberlist.active]) }}{% else %}{{ urls.format('MEMBERLIST_INDEX') }}{% endif %}{% endset %}
|
|
|
|
{% block title %}{{ rankTitle }}{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="headerNotify" style="margin-bottom: 1px;">
|
|
<h1 style="{% if memberlist.active %}text-shadow: 0 0 5px {{ memberlist.ranks[memberlist.active].colour }}; color: {{ memberlist.ranks[memberlist.active].colour }};{% else %}text-shadow: 0 0 5px #555;{% endif %}">{{ rankTitle }}</h1>
|
|
<h3>{{ rankDescription }}</h3>
|
|
</div>
|
|
<div class="membersPage" style="min-height: 500px;">
|
|
<div class="dropDown" style="margin: 0 auto; font-size: 1.5em; line-height: 1.5em; height: 30px;">
|
|
<div class="dropDownInner" style="float: left; color: #FFF;">
|
|
<a class="dropDownDesc">Rank:</a>
|
|
{% for rank in memberlist.ranks %}
|
|
{% if not rank.hidden or (rank.hidden and memberlist.active == rank.id) %}
|
|
<a href="{{ urls.format('MEMBERLIST_RANK', [rank.id]) }}" style="color: {{ rank.colour }};"{% if memberlist.active == rank.id %} class="dropDownSelected"{% endif %}>{{ rank.name(true) }}</a>
|
|
{% endif %}
|
|
{% endfor %}
|
|
</div>
|
|
<div class="dropDownInner" style="float: left;">
|
|
<a class="dropDownDesc">View:</a>
|
|
{% for s in sorts %}
|
|
<a href="{% if memberlist.active %}{{ urls.format('MEMBERLIST_ALL', [s, memberlist.active]) }}{% else %}{{ urls.format('MEMBERLIST_SORT', [s]) }}{% endif %}"{% if s == sort %} class="dropDownSelected"{% endif %}>{{ s|capitalize }}</a>
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|
|
{% if not users|length %}
|
|
<h1 class="stylised" style="margin: 2em 0;">This rank has no members!</h1>
|
|
{% elseif not notfound %}
|
|
<div class="membersPageList {{ sort }}">
|
|
{% if sort == sorts[2] %}
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>No.</th>
|
|
<th>Username</th>
|
|
<th>Registered</th>
|
|
<th>Last online</th>
|
|
<th>User title</th>
|
|
<th>Country</th>
|
|
</tr>
|
|
</thead>
|
|
<tfoot>
|
|
<tr>
|
|
<th>No.</th>
|
|
<th>Username</th>
|
|
<th>Registered</th>
|
|
<th>Last online</th>
|
|
<th>User title</th>
|
|
<th>Country</th>
|
|
</tr>
|
|
</tfoot>
|
|
{% for count,user in users[currPage] %}
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
#{{ memberlist.active ? count + 1 : count }}
|
|
</td>
|
|
<td>
|
|
<a href="{{ urls.format('USER_PROFILE', [user.id]) }}" class="default" style="font-weight: bold; color: {{ user.colour }}; text-shadow: 0 0 5px {{ user.colour }};">{{ user.username }}</a>
|
|
</td>
|
|
<td>
|
|
<time>{{ user.registered|date(sakura.dateFormat) }}</time>
|
|
</td>
|
|
<td>
|
|
{% if user.lastOnline == 0 %}<i>Never logged in.</i>{% else %}<time>{{ user.lastOnline|date(sakura.dateFormat) }}</time>{% endif %}
|
|
</td>
|
|
<td>
|
|
{{ user.title }}
|
|
</td>
|
|
<td>
|
|
<img src="{{ sakura.contentPath }}/images/flags/{{ user.country|lower }}.png" alt="{% if user.country|lower == 'xx' %}?{% else %}{{ user.country(true) }}{% endif %}" title="{% if user.country|lower == 'xx' %}Unknown{% else %}{{ user.country(true) }}{% endif %}" />
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
{% endfor %}
|
|
</table>
|
|
{% else %}
|
|
{% for user in users[currPage] %}
|
|
<a href="{{ urls.format('USER_PROFILE', [user.id]) }}">{# These comment tags are here to prevent the link extending too far
|
|
#}<div class="userBox" id="u{{ user.id }}">{#
|
|
#}<img src="{{ sakura.contentPath }}/pixel.png" alt="{{ user.username }}" style="background: url('{{ urls.format('IMAGE_AVATAR', [user.id]) }}') no-repeat center / contain;" />{#
|
|
#}<span class="userBoxUserName" style="color: {{ user.colour }};">{#
|
|
#}{{ user.username }}{#
|
|
#}</span>{#
|
|
#}</div>{#
|
|
#}</a>
|
|
{% endfor %}
|
|
{% endif %}
|
|
</div>
|
|
{% if users|length > 1 %}
|
|
{% include 'elements/pagination.twig' %}
|
|
{% endif %}
|
|
{% endif %}
|
|
</div>
|
|
{% endblock %}
|