TYPO3 v15 dev-main snapshot ()

This commit is contained in:
2026-08-10 22:31:02 +02:00
commit b53992613d
22 changed files with 2485 additions and 0 deletions
@@ -0,0 +1,157 @@
<html
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
xmlns:core="http://typo3.org/ns/TYPO3/CMS/Core/ViewHelpers"
xmlns:belog="http://typo3.org/ns/TYPO3/CMS/Belog/ViewHelpers"
data-namespace-typo3-fluid="true">
<f:form object="{constraint}" action="list" name="constraint">
<f:variable name="dateFormat" value="{f:constant(name: '\TYPO3\CMS\Core\Domain\DateTimeFormat::ISO8601_LOCALTIME')}" />
<div class="form-row">
<div class="form-group">
<label for="belog-users" class="form-label"><f:translate key="users" /></label>
<f:form.select
property="userOrGroup"
class="form-select"
id="belog-users"
>
<f:form.select.option value="0">{f:translate(key:'allUsers')}</f:form.select.option>
<f:form.select.option value="-1">{f:translate(key:'self')}</f:form.select.option>
<f:form.select.optgroup label="{f:translate(key:'group')}">
<f:for each="{userGroups.groups}" as="label" key="key">
<f:form.select.option value="{key}">{label}</f:form.select.option>
</f:for>
</f:form.select.optgroup>
<f:form.select.optgroup label="{f:translate(key:'user')}">
<f:for each="{userGroups.users}" as="label" key="key">
<f:form.select.option value="{key}">{label}</f:form.select.option>
</f:for>
</f:form.select.optgroup>
</f:form.select>
</div>
<div class="form-group">
<label for="belog-max" class="form-label"><f:translate key="max" /></label>
<f:form.select
property="number"
options="{selectableNumberOfLogEntries}"
class="form-select"
id="belog-max"
/>
</div>
<f:if condition="{showWorkspaceSelector}">
<div class="form-group">
<label for="belog-workspaces" class="form-label"><f:translate key="workspace" /></label>
<f:form.select
property="workspaceUid"
options="{workspaces}"
class="form-select"
id="belog-workspaces"
/>
</div>
</f:if>
<div class="form-group">
<label for="belog-pageId" class="form-label"><f:translate key="chLog_menuPageId" /></label>
<div class="input-group">
<f:form.textfield
type="number"
property="pageId"
value="{pageId}"
id="belog-pageId"
class="form-control"
/>
<button
class="btn btn-default t3js-element-browser"
data-target="{f:be.uri(route: 'wizard_element_browser')}"
data-trigger-for="belog-pageId"
data-mode="db"
title="{f:translate(key:'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.browse_db')}"
>
<core:icon identifier="actions-insert-record" />
</button>
</div>
</div>
<f:if condition="{pageId}">
<div class="form-group">
<label for="belog-depth" class="form-label"><f:translate key="chLog_menuDepth" /></label>
<f:form.select
property="depth"
options="{pageDepths}"
class="form-select"
id="belog-depth"
/>
</div>
</f:if>
<div class="form-group">
<label for="belog-channel" class="form-label"><f:translate key="channel" /></label>
<f:form.select
property="channel"
options="{channels}"
prependOptionLabel="{f:translate(key='all')}"
prependOptionValue=""
class="form-select"
id="belog-channel"
value="{channel}"
/>
</div>
<div class="form-group">
<label for="belog-level" class="form-label"><f:translate key="levels" /></label>
<f:form.select
property="level"
options="{levels}"
prependOptionLabel="{f:translate(key='all')}"
prependOptionValue=""
class="form-select"
id="belog-level"
value="{level}"
/>
</div>
<div class="form-group">
<label for="manualDateStart" class="form-label"><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:from" /></label>
<div class="input-group">
<f:form.textfield
property="manualDateStart"
value="{f:if(condition: constraint.manualDateStart, then: \"{f:format.date(format: dateFormat, date: '{constraint.manualDateStart}')}\")}"
id="manualDateStart"
additionalAttributes="{'autocomplete': 'off'}"
class="form-control form-control-clearable t3js-datetimepicker"
data="{date-type: 'datetime'}"
/>
<label class="btn btn-default" for="manualDateStart">
<core:icon identifier="actions-calendar" />
</label>
</div>
</div>
<div class="form-group">
<label for="manualDateStop" class="form-label"><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:to" /></label>
<div class="input-group">
<f:form.textfield
property="manualDateStop"
value="{f:format.date(format: dateFormat, date: '{constraint.manualDateStop}')}"
additionalAttributes="{'autocomplete': 'off'}"
id="manualDateStop"
class="form-control form-control-clearable t3js-datetimepicker"
data="{date-type: 'datetime'}"
/>
<label class="btn btn-default" for="manualDateStop">
<core:icon identifier="actions-calendar" />
</label>
</div>
</div>
<div class="form-group align-self-end">
<f:form.button type="submit" name="operation" value="filter" class="btn btn-default">{f:translate(key: 'set')}</f:form.button>
<f:form.button type="submit" name="operation" value="reset-filters" class="btn btn-link">{f:translate(key: 'reset')}</f:form.button>
</div>
</div>
</f:form>
</html>
@@ -0,0 +1,135 @@
<html
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
xmlns:core="http://typo3.org/ns/TYPO3/CMS/Core/ViewHelpers"
xmlns:be="http://typo3.org/ns/TYPO3/CMS/Backend/ViewHelpers"
xmlns:belog="http://typo3.org/ns/TYPO3/CMS/Belog/ViewHelpers"
data-namespace-typo3-fluid="true">
<f:if condition="{groupedLogEntries -> f:count()} > 0">
<f:then>
<f:for each="{groupedLogEntries}" as="pidEntry" key="pid">
<f:for each="{pidEntry}" as="day" key="dayTimestamp">
<h3>
<f:format.date format="{settings.dateFormat}">@{dayTimestamp}</f:format.date>
</h3>
<div class="table-fit">
<table class="table table-striped table-hover">
<thead>
<tr>
<th></th>
<th><f:translate key="chLog_l_time"/></th>
<th colspan="2"><f:translate key="chLog_l_user"/></th>
<th>
<f:if condition="{pageId}">
<f:then>
<f:translate key="chLog_l_table"/>
</f:then>
<f:else>
<f:translate key="chLog_l_level"/>
</f:else>
</f:if>
</th>
<th><f:translate key="chLog_l_channel"/></th>
<th><f:translate key="chLog_l_details"/></th>
<th class="col-control"></th>
</tr>
</thead>
<tbody>
<f:for each="{day}" as="logItem">
<tr>
<td class="col-icon">
<f:if condition="{logItem.errorIconClass}">
<core:icon identifier="{logItem.errorIconClass}" />
</f:if>
</td>
<td class="col-time">
<f:format.date format="H:i:s">{logItem.tstamp}</f:format.date>
</td>
<td class="col-avatar">
<f:if condition="{belog:username(uid:logItem.backendUserUid)}">
<be:avatar backendUser="{logItem.backendUserUid}" showIcon="true"/>
</f:if>
</td>
<td>
<f:if condition="{belog:username(uid:logItem.backendUserUid)}">
<f:then>
<belog:username uid="{logItem.backendUserUid}"/>
</f:then>
<f:else>[{logItem.backendUserUid}]</f:else>
</f:if>
<f:if condition="{logItem.logData.originalUser}">
({f:translate(key:'viaUser')}
<f:if condition="{belog:username(uid:logItem.logData.originalUser)}">
<f:then>
<belog:username uid="{logItem.logData.originalUser}"/>
</f:then>
<f:else>[{logItem.logData.originalUser}]</f:else>
</f:if>
)
</f:if>
<f:if condition="{workspaces}">
<br>
<span class="text-variant">
<f:if condition="{belog:workspaceTitle(uid:logItem.workspaceUid)}">
<f:then><belog:workspaceTitle uid="{logItem.workspaceUid}"/></f:then>
<f:else>[{logItem.workspaceUid}]</f:else>
</f:if>
</span>
</f:if>
</td>
<td>
<f:if condition="{pageId}">
<f:then>
{logItem.tableName}
</f:then>
<f:else>
{logItem.level}
</f:else>
</f:if>
</td>
<td>
{logItem.channel}
</td>
<td class="col-word-break" lang="en">
<belog:formatDetails logEntry="{logItem}"/>
</td>
<td class="col-control">
<f:if condition="{logItem.error} == 1">
<f:form.button class="btn btn-sm btn-warning" form="form-delete-message" type="submit" name="errorUid" value="{logItem.uid}">
<core:icon identifier="actions-delete" size="small"/>
<f:translate key="actions.deleteWarnings"/>
</f:form.button>
</f:if>
<f:if condition="{logItem.error} == 2">
<f:form.button class="btn btn-sm btn-danger" form="form-delete-message" type="submit" name="errorUid" value="{logItem.uid}">
<core:icon identifier="actions-delete" size="small"/>
<f:translate key="actions.delete"/>
</f:form.button>
</f:if>
<f:if condition="{logItem.logData.history}">
<a class="btn btn-sm btn-default" href="{be:moduleLink(route: 'record_history', arguments: '{historyEntry: logItem.logData.history}')}" title="{f:translate(key: 'showHistory')}">
<core:icon identifier="actions-document-history-open" />
<f:translate id="showHistory" />
</a>
</f:if>
</td>
</tr>
</f:for>
</tbody>
</table>
</div>
</f:for>
</f:for>
<f:form action="deleteMessage" id="form-delete-message" method="post" class="hidden"/>
</f:then>
<f:else>
<f:be.infobox
message="{f:translate(key: 'LLL:EXT:belog/Resources/Private/Language/locallang.xlf:info.noRecords.message')}"
state="{f:constant(name: 'TYPO3\CMS\Core\Type\ContextualFeedbackSeverity::NOTICE')}"
/>
</f:else>
</f:if>
</html>