TYPO3 v15 dev-main snapshot ()

This commit is contained in:
2026-08-10 22:31:03 +02:00
commit 61d66df078
65 changed files with 8311 additions and 0 deletions
@@ -0,0 +1,290 @@
<html
xmlns:backend="http://typo3.org/ns/TYPO3/CMS/Backend/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="Before">
<f:asset.module identifier="@typo3/backend/element/immediate-action-element.js"/>
<f:asset.module identifier="@typo3/backend/utility/collapse-state-persister.js"/>
<f:variable name="args" value="{0: 'system', 1: '0'}" />
<typo3-immediate-action
action="TYPO3.Backend.Storage.ModuleStateStorage.update"
args="{args -> f:format.json() -> f:format.htmlspecialchars()}"
></typo3-immediate-action>
</f:section>
<f:section name="Content">
<h1><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:backendUser.compare.title" /></h1>
<f:variable name="comparedUserAmount" value="{compareUserList -> f:count()}" />
<div class="table-fit">
<table class="table table-striped-columns table-bordered table-vertical-top beuser-comparison-table">
<colgroup>
<col style="width: 15%;">
<f:for each="{compareUserList}" as="tmpColumn">
<col style="width: calc(85% / {comparedUserAmount})">
</f:for>
</colgroup>
<thead>
<tr>
<td></td>
<f:for each="{compareUserList}" as="compareData">
<th scope="col">
<div class="beuser-comparison-element">
<div class="beuser-comparison-element__title">
<span title="id={compareData.user.uid}">
<core:iconForRecord table="be_users" row="{compareData.user}"/>
</span>
<span>{compareData.user.username}<f:if condition="{showUid}" > <code>[{compareData.user.uid}]</code></f:if></span>
</div>
<div class="beuser-comparison-element__action">
<backend:link.editRecord
table="be_users"
uid="{compareData.user.uid}"
class="btn btn-default btn-sm"
title="{f:translate(key:'LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:btn.edit')}"
>
<core:icon identifier="actions-open" />
</backend:link.editRecord>
<f:form.button
form="form-remove-from-compare-list"
name="uid"
value="{compareData.user.uid}"
type="submit"
class="btn btn-default btn-sm"
title="{f:translate(key:'LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:btn.removeFromCompareList')}"
>
<core:icon identifier="actions-minus" size="small" />
</f:form.button>
</div>
</div>
</th>
</f:for>
</tr>
</thead>
<tbody>
<tr>
<th scope="row"><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:admin" /></th>
<f:for each="{compareUserList}" as="compareData">
<td>
<f:if condition="{compareData.user.admin}">
<f:then>
<span class="text-success"><core:icon identifier="actions-check" size="small" /></span>
<f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:yes" />
</f:then>
<f:else>
<span class="text-danger"><core:icon identifier="actions-close" size="small" /></span>
<f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:no" />
</f:else>
</f:if>
<f:if condition="{showUid}"> <code>[{compareData.user.admin}]</code></f:if>
</td>
</f:for>
</tr>
<tr>
<th scope="row"><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:name" /></th>
<f:for each="{compareUserList}" as="compareData">
<td>{compareData.user.realName}</td>
</f:for>
</tr>
<tr>
<th scope="row"><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:email" /></th>
<f:for each="{compareUserList}" as="compareData">
<td>
{compareData.user.email}
</td>
</f:for>
</tr>
<tr>
<th scope="row"><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:avatar" /></th>
<f:for each="{compareUserList}" as="compareData">
<td>
<backend:avatar backendUser="{compareData.user.uid}" />
</td>
</f:for>
</tr>
<tr>
<th scope="row"><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:disable" /></th>
<f:for each="{compareUserList}" as="compareData">
<td>
<f:if condition="{compareData.user.disable}">
<f:then>
<span class="text-danger"><core:icon identifier="actions-close" size="small" /></span>
<f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:no" />
</f:then>
<f:else>
<span class="text-success"><core:icon identifier="actions-check" size="small" /></span>
<f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:yes" />
</f:else>
</f:if>
<f:if condition="{showUid}"> <code>[{compareData.user.disable}]</code></f:if>
</td>
</f:for>
</tr>
<tr>
<th scope="row"><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:startDateAndTime" /></th>
<f:for each="{compareUserList}" as="compareData">
<td>
<f:if condition="{compareData.user.starttime}">
<f:format.date format="{dateFormat} {timeFormat}">{compareData.user.starttime}</f:format.date>
</f:if>
</td>
</f:for>
</tr>
<tr>
<th scope="row"><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:endDateAndTime" /></th>
<f:for each="{compareUserList}" as="compareData">
<td>
<f:if condition="{compareData.user.endtime}">
<f:format.date format="{dateFormat} {timeFormat}">{compareData.user.endtime}</f:format.date>
</f:if>
</td>
</f:for>
</tr>
<tr>
<th scope="row"><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:lastLogin" /></th>
<f:for each="{compareUserList}" as="compareData">
<td>
<f:if condition="{compareData.user.lastlogin}">
<f:then>
<f:format.date format="{dateFormat} {timeFormat}">{compareData.user.lastlogin}</f:format.date>
</f:then>
<f:else>
<f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:never" />
</f:else>
</f:if>
</td>
</f:for>
</tr>
<tr>
<th scope="row"><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.description" /></th>
<f:for each="{compareUserList}" as="compareData">
<td>
{compareData.user.description -> f:format.nl2br()}
</td>
</f:for>
</tr>
<tr>
<th scope="row"><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:be_groups.subgroup" /></th>
<f:for each="{compareUserList}" as="compareData">
<td>
<f:render partial="Compare/Information" section="groups" arguments="{groups: compareData.groups, showUid: showUid}" />
</td>
</f:for>
</tr>
<tr>
<th scope="row"><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:allowedLanguages" /></th>
<f:for each="{compareUserList}" as="compareData">
<td>
<f:render partial="Compare/Information" section="languages" arguments="{languages: compareData.languages, showUid: showUid}" />
</td>
</f:for>
</tr>
<tr>
<th scope="row"><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:be_groups.pagetypes_select" /></th>
<f:for each="{compareUserList}" as="compareData">
<td>
<f:render partial="Compare/Information" section="pageTypes" arguments="{pageTypes: compareData.pageTypes, showUid: showUid}" />
</td>
</f:for>
</tr>
<tr>
<th scope="row"><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:allowedPageContentTypes" /></th>
<f:for each="{compareUserList}" as="compareData">
<td>
<f:if condition="{compareData.pageContentTypes}">
<f:render partial="Compare/Information" section="pageContentTypes" arguments="{pageContentTypes: compareData.pageContentTypes, showUid: showUid}" />
</f:if>
</td>
</f:for>
</tr>
<tr>
<th scope="row"><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:be_groups.non_exclude_fields" /></th>
<f:for each="{compareUserList}" as="compareData">
<td>
<f:render
partial="Compare/Information"
section="nonExcludeFields"
arguments="{
nonExcludeFields: compareData.non_exclude_fields,
id: compareData.user.uid,
showUid: showUid
}"
/>
</td>
</f:for>
</tr>
<tr>
<th scope="row"><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:workspace_perms" /></th>
<f:for each="{compareUserList}" as="compareData">
<td>
<f:render partial="Compare/Information" section="workspaces" arguments="{workspaces: compareData.workspaces, showUid: showUid}" />
</td>
</f:for>
</tr>
<tr>
<th scope="row"><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:pageTreeEntryPoints" /></th>
<f:for each="{compareUserList}" as="compareData">
<td>
<f:render partial="Compare/Information" section="dbMounts" arguments="{dbMounts: compareData.dbMounts, showUid: showUid}" />
</td>
</f:for>
</tr>
<tr>
<th scope="row"><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:fileMounts" /></th>
<f:for each="{compareUserList}" as="compareData">
<td>
<f:render partial="Compare/Information" section="fileMounts" arguments="{fileMounts: compareData.fileMounts, showUid: showUid}" />
</td>
</f:for>
</tr>
<tr>
<th scope="row"><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:be_groups.fileoper_perms" /></th>
<f:for each="{compareUserList}" as="compareData">
<td>
<f:render partial="Compare/Information" section="fileFolderPermissions" arguments="{fileFolderPermissions: compareData.fileFolderPermissions, showUid: showUid}" />
</td>
</f:for>
</tr>
<tr>
<th scope="row"><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:category_perms" /></th>
<f:for each="{compareUserList}" as="compareData">
<td>
<f:render partial="Compare/Information" section="categories" arguments="{categories: compareData.categories, showUid: showUid}" />
</td>
</f:for>
</tr>
<tr>
<th scope="row"><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:options" /></th>
<f:for each="{compareUserList}" as="compareData">
<td class="col-word-break">
<f:if condition="{compareData.tsconfig}">
<f:render
partial="Compare/Information"
section="tsconfig"
arguments="{
tsconfig: compareData.tsconfig,
id:compareData.user.uid,
showUid: showUid
}"
/>
</f:if>
</td>
</f:for>
</tr>
</tbody>
</table>
</div>
<f:form action="removeFromCompareList" method="post" id="form-remove-from-compare-list" class="hidden">
<f:form.hidden name="redirectToCompare" value="1"/>
</f:form>
</f:section>
</html>