82 lines
4.1 KiB
Twig
82 lines
4.1 KiB
Twig
{% extends 'settings/master.twig' %}
|
|
{% from 'macros.twig' import pagination %}
|
|
|
|
{% set spagination = pagination(sessions_count, sessions_take, sessions_offset, '?m=sessions', 'settings__') %}
|
|
|
|
{% block settings_content %}
|
|
<div class="container">
|
|
<div class="container__title">Sessions</div>
|
|
|
|
<div class="settings__sessions">
|
|
<div class="settings__description">
|
|
<p>These are the active logins to your account, clicking the Kill button will force a logout on that session. Your current login is highlighted with a darker purple so you don't accidentally force yourself to logout.</p>
|
|
</div>
|
|
|
|
<form class="settings__sessions__actions" method="post" action="?m=sessions">
|
|
{{ 'settings'|csrf|raw }}
|
|
|
|
<button class="input__button" name="session_action" value="kill-all">
|
|
Kill all active sessions
|
|
</button>
|
|
</form>
|
|
|
|
{{ spagination }}
|
|
|
|
{% for session in user_sessions %}
|
|
<div class="settings__sessions__entry{% if session.session_id == active_session_id %} settings__sessions__entry--current{% endif %}" id="session-{{ session.session_id }}">
|
|
<div class="settings__sessions__column settings__sessions__column--ip">
|
|
<div class="settings__sessions__column__name">
|
|
IP
|
|
</div>
|
|
<div class="settings__sessions__column__value">
|
|
{{ session.session_ip_decoded }}
|
|
{% if session.session_country != 'XX' %}
|
|
<div class="flag flag--{{ session.session_country|lower }} settings__sessions__country" title="{{ session.session_country|country_name }}"></div>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="settings__sessions__column settings__sessions__column--created" title="{{ session.created_at|date('r') }}">
|
|
<div class="settings__sessions__column__name">
|
|
Created
|
|
</div>
|
|
<time class="settings__sessions__column__value" datetime="{{ session.created_at|date('c') }}">
|
|
{{ session.created_at|time_diff }}
|
|
</time>
|
|
</div>
|
|
|
|
<div class="settings__sessions__column settings__sessions__column--expires" title="{{ session.expires_on|date('r') }}">
|
|
<div class="settings__sessions__column__name">
|
|
Expires
|
|
</div>
|
|
<time class="settings__sessions__column__value" datetime="{{ session.expires_on|date('c') }}">
|
|
{{ session.expires_on|time_diff }}
|
|
</time>
|
|
</div>
|
|
|
|
{% if session.user_agent|length > 0 %}
|
|
<div class="settings__sessions__column settings__sessions__column--user_agent">
|
|
<div class="settings__sessions__column__name">
|
|
User Agent
|
|
</div>
|
|
<div class="settings__sessions__column__value">
|
|
{{ session.user_agent }}
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
|
|
<form class="settings__sessions__column settings__sessions__column--options" method="post" action="?m=sessions">
|
|
<input type="hidden" name="session" value="{{ session.session_id }}">
|
|
{{ 'settings'|csrf|raw }}
|
|
|
|
<button class="input__button settings__sessions__button">
|
|
{{ session.session_id == active_session_id ? 'Logout' : 'Kill' }}
|
|
</button>
|
|
</form>
|
|
</div>
|
|
{% endfor %}
|
|
|
|
{{ spagination }}
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|