Files
cms-beuser/Resources/Private/Templates/BackendUser/Online.fluid.html
T

120 lines
8.2 KiB
HTML

<html
xmlns:backend="http://typo3.org/ns/TYPO3/CMS/Backend/ViewHelpers"
xmlns:beuser="http://typo3.org/ns/TYPO3/CMS/Beuser/ViewHelpers"
xmlns:core="http://typo3.org/ns/TYPO3/CMS/Core/ViewHelpers"
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
data-namespace-typo3-fluid="true"
>
<f:layout name="Module" />
<f:section name="Content">
<h1><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:backendUser.online.title" /></h1>
<div class="table-fit">
<table class="table beuser-online-table">
<thead>
<tr>
<th colspan="2"><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:userName" /> / <f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:realName" /></th>
<th class="col-50"><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:backendUser.online.table.column.ipAddress" /></th>
<th class="col-datetime"><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:backendUser.online.table.column.lastAccess" /></th>
<th class="col-control"><span class="visually-hidden"><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels._CONTROL_" /></span></th>
</tr>
</thead>
<f:for each="{onlineUsersAndSessions}" as="onlineUser">
<tbody>
<f:for each="{onlineUser.sessions}" as="session" iteration="backendUserIterator">
<f:variable name="sessionAmount" value="{onlineUser.sessions -> f:count()}" />
<tr{f:if(condition: '({sessionAmount} > 1) && !{backendUserIterator.isFirst}', then: ' class="beuser-online-table_row"')}>
<f:if condition="{backendUserIterator.isFirst}">
<f:then>
<td {f:if(condition: '{sessionAmount} > 1', then: 'rowspan="{sessionAmount}" class="col-avatar align-top"', else: 'class="col-avatar"')}>
<button
type="button"
class="btn btn-link"
data-contextmenu-trigger="click"
data-contextmenu-table="be_users"
data-contextmenu-uid="{onlineUser.backendUser.uid}"
title="{f:if(condition: '{onlineUser.backendUser.description}', then: '{onlineUser.backendUser.description} (id={onlineUser.backendUser.uid})', else: 'id={onlineUser.backendUser.uid}')}"
aria-label="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.contextMenu.open')}"
>
<backend:avatar backendUser="{onlineUser.backendUser.uid}" showIcon="true" />
</button>
</td>
<td {f:if(condition: '{sessionAmount} > 1', then: 'rowspan="{sessionAmount}" class="col-min align-top border-end"', else: 'class="col-min"')}>
<backend:link.editRecord table="be_users" uid="{onlineUser.backendUser.uid}" title="{f:translate(key:'btn.edit')}">
<f:if condition="{onlineUser.backendUser.realName}">
<f:then>
{onlineUser.backendUser.realName}
<beuser:mfaStatus userUid="{onlineUser.backendUser.uid}"/><br>
<span class="text-variant">({onlineUser.backendUser.userName})</span>
</f:then>
<f:else>
{onlineUser.backendUser.userName}
<beuser:mfaStatus userUid="{onlineUser.backendUser.uid}"/>
</f:else>
</f:if>
</backend:link.editRecord>
</td>
</f:then>
</f:if>
<td class="col-50">{session.ip}</td>
<td class="col-datetime">
<f:format.date format="{dateFormat} {timeFormat}" date="{session.timestamp}" />
<f:if condition="{currentSessionId} == {session.id}">
<span class="badge badge-notice"><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:backendUser.online.activeSession" /></span>
</f:if>
</td>
<td class="col-control">
<f:if condition="{currentSessionId} == {session.id}">
<f:else>
<f:form.button
name="sessionId"
value="{session.id}"
form="form-terminate-backend-user-session"
class="btn btn-default t3js-modal-trigger"
title="{f:translate(key: 'resetPassword.label')}"
type="submit"
data-severity="warning"
data-title="{f:translate(key: 'backendUser.online.endSession')}"
data-content="{f:translate(key: 'backendUser.online.reallyLogout')} {onlineUser.backendUser.userName}?"
data-button-close-text="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:cancel')}"
>
<core:icon identifier="actions-close" />
<f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:backendUser.online.endSession" />
</f:form.button>
</f:else>
</f:if>
<a
class="btn btn-default"
href="#"
data-dispatch-action="TYPO3.InfoWindow.showItem"
data-dispatch-args-list="be_users,{onlineUser.backendUser.uid}"
role="button"
>
<core:icon identifier="actions-document-info" />
</a>
</td>
</tr>
</f:for>
</tbody>
</f:for>
<tfoot>
<tr>
<td colspan="5">
<f:variable name="onlineUsersAndSessionsCount">{onlineUsersAndSessions -> f:count()}</f:variable>
<f:if condition="{onlineUsersAndSessionsCount} > 1">
<f:then>{onlineUsersAndSessionsCount} <f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:users" /></f:then>
<f:else>{onlineUsersAndSessionsCount} <f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:user" /></f:else>
</f:if>
</td>
</tr>
</tfoot>
</table>
</div>
<f:form id="form-terminate-backend-user-session" action="terminateBackendUserSession" controller="BackendUser" method="post"class="hidden" />
</f:section>
</html>