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,217 @@
<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:backendUserGroup.compare.title" /></h1>
<f:variable name="comparedUserGroupAmount" value="{compareGroupList -> 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="{compareGroupList}" as="tmpColumn">
<col style="width: calc(85% / {comparedUserGroupAmount})">
</f:for>
</colgroup>
<thead>
<tr>
<td></td>
<f:for each="{compareGroupList}" as="compareData">
<th scope="col">
<div class="beuser-comparison-element">
<div class="beuser-comparison-element__title">
<span title="id={compareData.group.uid}">
<core:iconForRecord table="be_groups" row="{compareData.group}"/>
</span>
<span>{compareData.group.title}<f:if condition="{showUid}"> <code>[{compareData.group.uid}]</code></f:if></span>
</div>
<div class="beuser-comparison-element__action">
<backend:link.editRecord
table="be_groups"
uid="{compareData.group.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-group-from-compare-list"
name="uid"
value="{compareData.group.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:core/Resources/Private/Language/locallang_general.xlf:LGL.description" /></th>
<f:for each="{compareGroupList}" as="compareData">
<td>
{compareData.group.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="{compareGroupList}" 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="{compareGroupList}" 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:userMods" /></th>
<f:for each="{compareGroupList}" as="compareData">
<td>
<f:render partial="Compare/Information" section="modules" arguments="{modules: compareData.modules, 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="{compareGroupList}" 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:compare.tables" /></th>
<f:for each="{compareGroupList}" as="compareData">
<td>
<f:render
partial="Compare/Information"
section="tables"
arguments="{
tables: compareData.tables,
id:compareData.group.uid,
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="{compareGroupList}" as="compareData">
<td>
<f:render partial="Compare/Information" section="pageContentTypes" arguments="{pageContentTypes: compareData.pageContentTypes, showUid: showUid}" />
</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="{compareGroupList}" as="compareData">
<td>
<f:render
partial="Compare/Information"
section="nonExcludeFields"
arguments="{
nonExcludeFields: compareData.non_exclude_fields,
id: compareData.group.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="{compareGroupList}" as="compareData">
<td>
<f:render partial="Compare/Information" section="workspaces" arguments="{workspaces: compareData.workspaces}" />
</td>
</f:for>
</tr>
<tr>
<th scope="row"><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:pageTreeEntryPoints" /></th>
<f:for each="{compareGroupList}" 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="{compareGroupList}" 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="{compareGroupList}" 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="{compareGroupList}" 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="{compareGroupList}" 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.group.uid
}"
/>
</f:if>
</td>
</f:for>
</tr>
</tbody>
</table>
</div>
<f:form action="removeGroupFromCompareList" method="post" id="form-remove-group-from-compare-list" class="hidden">
<f:form.hidden name="redirectToCompare" value="1"/>
</f:form>
</f:section>
</html>
@@ -0,0 +1,114 @@
<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="Content">
<h1><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:backendUserGroup.list.title" /></h1>
<f:if condition="{totalAmountOfBackendUserGroups} > 0">
<f:then>
<f:if condition="{compareGroupList}">
<h2><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:backendUserGroup.list.section.compare" /></h2>
<div class="table-fit">
<table id="typo3-backend-user-list-compare" class="table table-striped table-hover">
<thead>
<tr>
<th colspan="2"><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:backendUserGroup.list.table.column.groupTitle" /></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>
<tbody>
<f:for each="{compareGroupList}" as="compareGroup">
<tr>
<td class="col-icon">
<button
type="button"
class="btn btn-link"
data-contextmenu-trigger="click"
data-contextmenu-table="be_groups"
data-contextmenu-uid="{compareGroup.uid}"
title="{f:if(condition: '{compareGroup.description}', then: '{compareGroup.description} (id={compareGroup.uid})', else: 'id={compareGroup.uid}')}"
aria-label="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.contextMenu.open')}"
>
<core:iconForRecord table="be_groups" row="{compareGroup}"/>
</button>
</td>
<td class="col-title">
<backend:link.editRecord
table="be_groups"
uid="{compareGroup.uid}"
title="{f:translate(key:'btn.edit')}"
>
{compareGroup.title}
</backend:link.editRecord>
</td>
<td class="col-control">
<backend:link.editRecord
class="btn btn-default"
table="be_groups"
uid="{compareGroup.uid}"
title="{f:translate(key:'btn.edit')}"
>
<core:icon identifier="actions-open" />
</backend:link.editRecord>
<f:form.button
form="form-remove-group-from-compare-list"
name="uid"
value="{compareGroup.uid}"
type="submit"
class="btn btn-default"
title="{f:translate(key: 'btn.removeFromCompareList')}"
>
<core:icon identifier="actions-minus" />
</f:form.button>
</td>
</tr>
</f:for>
</tbody>
<tfoot>
<tr>
<td colspan="3">
<f:if condition="{compareGroupList -> f:count()} > 1">
<f:then>{compareGroupList -> f:count()} <f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:groups" /></f:then>
<f:else>{compareGroupList -> f:count()} <f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:group" /></f:else>
</f:if>
</td>
</tr>
</tfoot>
</table>
</div>
<f:link.action action="compareGroups" class="btn btn-default t3js-acceptance-compare">
<core:icon identifier="actions-code-compare" />
<f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:backendUserGroup.list.btn.compareList" />
</f:link.action>
<f:form.button type="submit" class="btn btn-default" form="form-remove-all-groups-from-compare-list">
<core:icon identifier="actions-selection-delete" />
<f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:btn.clearCompareList" />
</f:form.button>
<h2><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:backendUserGroup.list.section.allUserGroups" /></h2>
</f:if>
</f:then>
<f:else>
<f:be.infobox state="{f:constant(name: 'TYPO3\CMS\Core\Type\ContextualFeedbackSeverity::INFO')}" title="{f:translate(key: 'LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:backendUserGroup.noGroupsFound.title')}">
<p><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:backendUserGroup.noGroupsFound.message"/></p>
<backend:link.newRecord returnUrl="{returnUrl}" class="btn btn-primary" table="be_groups">
<f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:btn.backendUserGroup.create"/>
</backend:link.newRecord>
</f:be.infobox>
</f:else>
</f:if>
<f:render partial="BackendUserGroup/Filter" arguments="{userGroupDto: userGroupDto, backendUserGroups: backendUserGroups}" />
<f:render partial="BackendUserGroup/PaginatedList" arguments="{_all}" />
<f:form action="removeGroupFromCompareList" method="post" id="form-remove-group-from-compare-list" class="hidden"/>
<f:form action="addGroupToCompareList" method="post" id="form-add-group-to-compare-list" class="hidden"/>
<f:form action="removeAllGroupsFromCompareList" method="post" id="form-remove-all-groups-from-compare-list" class="hidden"/>
</f:section>
</html>
@@ -0,0 +1,545 @@
<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:backendUserGroup.show.title"
arguments="{
0: '{data.group.title}'
}"
/>
</h1>
<f:be.infobox
title="{f:translate(key:'LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:backendUserGroup.show.infobox.title')}"
message="{f:translate(key:'LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:backendUserGroup.show.infobox.message')}"
state="{f:constant(name: 'TYPO3\CMS\Core\Type\ContextualFeedbackSeverity::INFO')}"
/>
<div class="table-fit">
<table class="table table-striped table-hover table-vertical-top">
<tr>
<th class="col-fieldname"><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.title" /></th>
<td class="col-word-break">
{data.group.title}
</td>
</tr>
<tr>
<th class="col-fieldname"><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:disable" /></th>
<td class="col-word-break">
<f:if condition="{data.group.hidden}">
<f:then>
<f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:no" />
</f:then>
<f:else>
<f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:yes" />
</f:else>
</f:if>
</td>
</tr>
<tr>
<th class="col-fieldname"><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.description" /></th>
<td class="col-word-break">
{data.group.description -> f:format.nl2br()}
</td>
</tr>
</table>
</div>
<h2><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:inheritance" /></h2>
<f:if condition="{data.groups.diff}">
<f:then>
<div class="panel panel-default">
<div class="panel-heading" role="tab">
<div class="panel-heading-row">
<button
class="panel-button collapsed"
type="button"
data-bs-toggle="collapse"
data-bs-target="#permission-group-groups-collapse"
aria-controls="permission-group-groups-collapse"
aria-expanded="false"
>
<div class="panel-title">
<f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:be_groups.subgroup" />
</div>
<span class="caret"></span>
</button>
</div>
</div>
<div id="permission-group-groups-collapse" class="panel-collapse collapse" data-persist-collapse-state="true" role="tabpanel">
<div class="table-fit">
<table class="table table-bordered">
<thead>
<tr>
<th>
<f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:information.groups.table.column.groupTitle" />
</th>
</tr>
</thead>
<tbody>
<f:for each="{data.groups.all}" as="group">
<f:if condition="{group.diff}">
<tr>
<td class="col-title col-responsive">
<button
type="button"
class="btn btn-link"
data-contextmenu-trigger="click"
data-contextmenu-table="be_groups"
data-contextmenu-uid="{group.row.uid}"
title="id={group.row.uid}"
aria-label="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.contextMenu.open')}"
>
<core:iconForRecord table="be_groups" row="{group.row}"/>
</button>
<backend:link.editRecord
table="be_groups"
uid="{group.row.uid}"
title="{f:translate(key: 'LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:btn.edit')}"
>
{group.row.title}<f:if condition="{showUid}"> <code>[{group.row.uid}]</code></f:if>
</backend:link.editRecord>
</td>
</tr>
</f:if>
</f:for>
</tbody>
</table>
</div>
</div>
</div>
</f:then>
<f:else>
<div class="panel panel-default">
<div class="panel-heading">
<f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:be_groups.subgroup" />
</div>
<div class="panel-body">
<p><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:backendUser.show.notConfigured" /></p>
</div>
</div>
</f:else>
</f:if>
<h2><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:languages" /></h2>
<f:if condition="{data.languages}">
<f:then>
<div class="panel panel-default">
<div class="panel-heading" role="tab">
<div class="panel-heading-row">
<button
class="panel-button collapsed"
type="button"
data-bs-toggle="collapse"
data-bs-target="#permission-group-languages-collapse"
aria-controls="permission-group-languages-collapse"
aria-expanded="false"
>
<div class="panel-title">
<f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:allowedLanguages" />
</div>
<span class="caret"></span>
</button>
</div>
</div>
<div id="permission-group-languages-collapse" class="panel-collapse collapse" data-persist-collapse-state="true" role="tabpanel">
<f:render partial="Compare/Information" section="languages" arguments="{languages: data.languages}"/>
</div>
</div>
</f:then>
<f:else>
<div class="panel panel-default">
<div class="panel-heading">
<f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:allowedLanguages" />
</div>
<div class="panel-body">
<p><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:backendUser.show.notConfigured" /></p>
</div>
</div>
</f:else>
</f:if>
<h2><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:permissions" /></h2>
<h3><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:generalPermissions" /></h3>
<f:if condition="{data.modules}">
<f:then>
<div class="panel panel-default">
<div class="panel-heading" role="tab">
<div class="panel-heading-row">
<button
class="panel-button collapsed"
type="button"
data-bs-toggle="collapse"
data-bs-target="#permission-group-modules-collapse"
aria-controls="permission-group-modules-collapse"
aria-expanded="false"
>
<div class="panel-title">
<f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:userMods" />
</div>
<span class="caret"></span>
</button>
</div>
</div>
<div id="permission-group-modules-collapse" class="panel-collapse collapse" data-persist-collapse-state="true" role="tabpanel">
<f:render partial="Compare/Information" section="modules" arguments="{modules: data.modules}"/>
</div>
</div>
</f:then>
<f:else>
<div class="panel panel-default">
<div class="panel-heading">
<f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:userMods" />
</div>
<div class="panel-body">
<p><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:backendUser.show.notConfigured" /></p>
</div>
</div>
</f:else>
</f:if>
<f:if condition="{data.pageTypes}">
<f:then>
<div class="panel panel-default">
<div class="panel-heading" role="tab">
<div class="panel-heading-row">
<button
class="panel-button collapsed"
type="button"
data-bs-toggle="collapse"
data-bs-target="#permission-group-pageType-collapse"
aria-controls="permission-group-pageType-collapse"
aria-expanded="false"
>
<div class="panel-title">
<f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:be_groups.pagetypes_select" />
</div>
<span class="caret"></span>
</button>
</div>
</div>
<div id="permission-group-pageType-collapse" class="panel-collapse collapse" data-persist-collapse-state="true" role="tabpanel">
<f:render partial="Compare/Information" section="pageTypes" arguments="{pageTypes: data.pageTypes}" />
</div>
</div>
</f:then>
<f:else>
<div class="panel panel-default">
<div class="panel-heading">
<f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:be_groups.pagetypes_select" />
</div>
<div class="panel-body">
<p><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:backendUser.show.notConfigured" /></p>
</div>
</div>
</f:else>
</f:if>
<f:if condition="{data.pageContentTypes}">
<f:then>
<div class="panel panel-default">
<div class="panel-heading" role="tab">
<div class="panel-heading-row">
<button
class="panel-button collapsed"
type="button"
data-bs-toggle="collapse"
data-bs-target="#permission-group-pageContentTypes-collapse"
aria-controls="permission-group-pageContentTypes-collapse"
aria-expanded="false"
>
<div class="panel-title">
<f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:allowedPageContentTypes" />
</div>
<span class="caret"></span>
</button>
</div>
</div>
<div id="permission-group-pageContentTypes-collapse" class="panel-collapse collapse" data-persist-collapse-state="true" role="tabpanel">
<f:render partial="Compare/Information" section="pageContentTypes" arguments="{pageContentTypes: data.pageContentTypes}" />
</div>
</div>
</f:then>
<f:else>
<div class="panel panel-default">
<div class="panel-heading">
<f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:allowedPageContentTypes" />
</div>
<div class="panel-body">
<p><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:backendUser.show.notConfigured" /></p>
</div>
</div>
</f:else>
</f:if>
<f:if condition="{data.tables.all}">
<f:then>
<h3 class="headline-spaced"><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:compare.tables" /></h3>
<f:render partial="Compare/Information" section="tables" arguments="{tables: data.tables}" />
</f:then>
<f:else>
<div class="panel panel-default">
<div class="panel-heading">
<f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:compare.tables" />
</div>
<div class="panel-body">
<p><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:backendUser.show.notConfigured" /></p>
</div>
</div>
</f:else>
</f:if>
<f:if condition="{data.non_exclude_fields}">
<f:then>
<h3 class="headline-spaced"><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:be_groups.non_exclude_fields" /></h3>
<f:render
partial="Compare/Information"
section="nonExcludeFields"
arguments="{
nonExcludeFields: data.non_exclude_fields,
id: data.user.uid
}"
/>
</f:then>
<f:else>
<div class="panel panel-default">
<div class="panel-heading">
<f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:be_groups.non_exclude_fields" />
</div>
<div class="panel-body">
<p><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:backendUser.show.notConfigured" /></p>
</div>
</div>
</f:else>
</f:if>
<h2><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:mountsWorkspaces" /></h2>
<f:if condition="{data.workspaces} && {data.workspaces.record.uid}">
<f:then>
<div class="panel panel-default">
<div class="panel-heading" role="tab">
<div class="panel-heading-row">
<button
class="panel-button collapsed"
type="button"
data-bs-toggle="collapse"
data-bs-target="#permission-group-workspaces-collapse"
aria-controls="permission-group-workspaces-collapse"
aria-expanded="false"
>
<div class="panel-title">
<f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:workspace_perms" />
</div>
<span class="caret"></span>
</button>
</div>
</div>
<div id="permission-group-workspaces-collapse" class="panel-collapse collapse" data-persist-collapse-state="true" role="tabpanel">
<f:render partial="Compare/Information" section="workspaces" arguments="{workspaces: data.workspaces}" />
</div>
</div>
</f:then>
<f:else>
<div class="panel panel-default">
<div class="panel-heading">
<f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:workspace_perms" />
</div>
<div class="panel-body">
<p><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:backendUser.show.notConfigured" /></p>
</div>
</div>
</f:else>
</f:if>
<f:if condition="{data.dbMounts}">
<f:then>
<div class="panel panel-default">
<div class="panel-heading" role="tab">
<div class="panel-heading-row">
<button
class="panel-button collapsed"
type="button"
data-bs-toggle="collapse"
data-bs-target="#permission-group-dbMounts-collapse"
aria-controls="permission-group-dbMounts-collapse"
aria-expanded="false"
>
<div class="panel-title">
<f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:pageTreeEntryPoints" />
</div>
<span class="caret"></span>
</button>
</div>
</div>
<div id="permission-group-dbMounts-collapse" class="panel-collapse collapse" data-persist-collapse-state="true" role="tabpanel">
<f:render partial="Compare/Information" section="dbMounts" arguments="{dbMounts: data.dbMounts}" />
</div>
</div>
</f:then>
<f:else>
<div class="panel panel-default">
<div class="panel-heading">
<f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:pageTreeEntryPoints" />
</div>
<div class="panel-body">
<p><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:backendUser.show.notConfigured" /></p>
</div>
</div>
</f:else>
</f:if>
<f:if condition="{data.fileMounts}">
<f:then>
<div class="panel panel-default">
<div class="panel-heading" role="tab">
<div class="panel-heading-row">
<button
class="panel-button collapsed"
type="button"
data-bs-toggle="collapse"
data-bs-target="#permission-group-fileMounts-collapse"
aria-controls="permission-group-fileMounts-collapse"
aria-expanded="false"
>
<div class="panel-title">
<f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:fileMounts" />
</div>
<span class="caret"></span>
</button>
</div>
</div>
<div id="permission-group-fileMounts-collapse" class="panel-collapse collapse" data-persist-collapse-state="true" role="tabpanel">
<f:render partial="Compare/Information" section="fileMounts" arguments="{fileMounts: data.fileMounts}"/>
</div>
</div>
</f:then>
<f:else>
<div class="panel panel-default">
<div class="panel-heading">
<f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:fileMounts" />
</div>
<div class="panel-body">
<p><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:backendUser.show.notConfigured" /></p>
</div>
</div>
</f:else>
</f:if>
<f:if condition="{data.fileFolderPermissions}">
<f:then>
<div class="panel panel-default">
<div class="panel-heading" role="tab">
<div class="panel-heading-row">
<button
class="panel-button collapsed"
type="button"
data-bs-toggle="collapse"
data-bs-target="#permission-group-fileFolderPermissions-collapse"
aria-controls="permission-group-fileFolderPermissions-collapse"
aria-expanded="false"
>
<div class="panel-title">
<f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:be_groups.fileoper_perms" />
</div>
<span class="caret"></span>
</button>
</div>
</div>
<div id="permission-group-fileFolderPermissions-collapse" class="panel-collapse collapse" data-persist-collapse-state="true" role="tabpanel">
<f:render partial="Compare/Information" section="fileFolderPermissions" arguments="{fileFolderPermissions: data.fileFolderPermissions}" />
</div>
</div>
</f:then>
<f:else>
<div class="panel panel-default">
<div class="panel-heading">
<f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:be_groups.fileoper_perms" />
</div>
<div class="panel-body">
<p><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:backendUser.show.notConfigured" /></p>
</div>
</div>
</f:else>
</f:if>
<f:if condition="{data.categories}">
<f:then>
<div class="panel panel-default">
<div class="panel-heading" role="tab">
<div class="panel-heading-row">
<button
class="panel-button collapsed"
type="button"
data-bs-toggle="collapse"
data-bs-target="#permission-group-categories-collapse"
aria-controls="permission-group-categories-collapse"
aria-expanded="false"
>
<div class="panel-title">
<f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:category_perms" />
</div>
<span class="caret"></span>
</button>
</div>
</div>
<div id="permission-group-categories-collapse" class="panel-collapse collapse" data-persist-collapse-state="true" role="tabpanel">
<f:render partial="Compare/Information" section="categories" arguments="{categories: data.categories}"/>
</div>
</div>
</f:then>
<f:else>
<div class="panel panel-default">
<div class="panel-heading">
<f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:category_perms" />
</div>
<div class="panel-body">
<p><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:backendUser.show.notConfigured" /></p>
</div>
</div>
</f:else>
</f:if>
<h2><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:options" /></h2>
<f:if condition="{data.tsconfig}">
<f:then>
<f:render
partial="Compare/Information"
section="tsconfig"
arguments="{
tsconfig: data.tsconfig,
id: data.user.uid
}"
/>
</f:then>
<f:else>
<div class="panel panel-default">
<div class="panel-heading">
<f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:TSconfig" />
</div>
<div class="panel-body">
<p><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:backendUser.show.notConfigured" /></p>
</div>
</div>
</f:else>
</f:if>
</f:section>
</html>