first commit

This commit is contained in:
salam committed 2026-10-19 08:18:39 +02:00
commit 1218dd1517
12716 files changed
+989233

No files matched your search

@@ -0,0 +1,389 @@
<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.0" xmlns:t3="http://typo3.org/schemas/xliff">
<file t3:id="1415814781" source-language="en" datatype="plaintext" original="EXT:belog/Resources/Private/Language/locallang.xlf" date="2011-10-17T20:22:32Z" product-name="belog">
<header/>
<body>
<trans-unit id="adminLog" resname="adminLog">
<source>Administration log</source>
</trans-unit>
<trans-unit id="allUsers" resname="allUsers">
<source>[All users]</source>
</trans-unit>
<trans-unit id="any" resname="any">
<source>[Any]</source>
</trans-unit>
<trans-unit id="viaUser" resname="viaUser">
<source>via</source>
</trans-unit>
<trans-unit id="live" resname="live">
<source>LIVE</source>
</trans-unit>
<trans-unit id="draft" resname="draft">
<source>Draft</source>
</trans-unit>
<trans-unit id="self" resname="self">
<source>Self</source>
</trans-unit>
<trans-unit id="userGroup" resname="userGroup">
<source>Group</source>
</trans-unit>
<trans-unit id="thisWeek" resname="thisWeek">
<source>This week</source>
</trans-unit>
<trans-unit id="lastWeek" resname="lastWeek">
<source>Last week</source>
</trans-unit>
<trans-unit id="last7Days" resname="last7Days">
<source>Last 7 days</source>
</trans-unit>
<trans-unit id="thisMonth" resname="thisMonth">
<source>This month</source>
</trans-unit>
<trans-unit id="lastMonth" resname="lastMonth">
<source>Last month</source>
</trans-unit>
<trans-unit id="last31Days" resname="last31Days">
<source>Last 31 days</source>
</trans-unit>
<trans-unit id="noLimit" resname="noLimit">
<source>No limit</source>
</trans-unit>
<trans-unit id="userDefined" resname="userDefined">
<source>User defined</source>
</trans-unit>
<trans-unit id="set" resname="set">
<source>Set</source>
</trans-unit>
<trans-unit id="20" resname="20" translate="no">
<source>20</source>
</trans-unit>
<trans-unit id="50" resname="50" translate="no">
<source>50</source>
</trans-unit>
<trans-unit id="100" resname="100" translate="no">
<source>100</source>
</trans-unit>
<trans-unit id="200" resname="200" translate="no">
<source>200</source>
</trans-unit>
<trans-unit id="500" resname="500" translate="no">
<source>500</source>
</trans-unit>
<trans-unit id="1000" resname="1000" translate="no">
<source>1000</source>
</trans-unit>
<trans-unit id="actionAll" resname="actionAll">
<source>All</source>
</trans-unit>
<trans-unit id="actionDatabase" resname="actionDatabase">
<source>Database</source>
</trans-unit>
<trans-unit id="actionFile" resname="actionFile">
<source>File</source>
</trans-unit>
<trans-unit id="actionCache" resname="actionCache">
<source>Cache</source>
</trans-unit>
<trans-unit id="actionSettings" resname="actionSettings">
<source>Settings</source>
</trans-unit>
<trans-unit id="actionLogin" resname="actionLogin">
<source>Login</source>
</trans-unit>
<trans-unit id="actionErrors" resname="actionErrors">
<source>Errors</source>
</trans-unit>
<trans-unit id="group" resname="group">
<source>Group</source>
</trans-unit>
<trans-unit id="user" resname="user">
<source>User</source>
</trans-unit>
<trans-unit id="users" resname="users">
<source>Users</source>
</trans-unit>
<trans-unit id="time" resname="time">
<source>Time</source>
</trans-unit>
<trans-unit id="max" resname="max">
<source>Max</source>
</trans-unit>
<trans-unit id="changesInFields" resname="changesInFields">
<source>Changes in fields: %s.</source>
</trans-unit>
<trans-unit id="showHistory" resname="showHistory">
<source>Show History</source>
</trans-unit>
<trans-unit id="action" resname="action">
<source>Action</source>
</trans-unit>
<trans-unit id="workspace" resname="workspace">
<source>Workspace</source>
</trans-unit>
<trans-unit id="groupByPage" resname="groupByPage">
<source>Group by page</source>
</trans-unit>
<trans-unit id="pagenameWithUID" resname="pagenameWithUID">
<source>%s" [UID: %s]</source>
</trans-unit>
<trans-unit id="overview" resname="overview">
<source>Overview</source>
</trans-unit>
<trans-unit id="timeInfo" resname="timeInfo">
<source>These pages have log messages from %s to %s</source>
</trans-unit>
<trans-unit id="forNonPageRelatedActions" resname="forNonPageRelatedActions">
<source>for NON-PAGE related actions</source>
</trans-unit>
<trans-unit id="forRootLevel" resname="forRootLevel">
<source>for ROOT LEVEL</source>
</trans-unit>
<trans-unit id="forPage" resname="forPage">
<source>for PAGE "%s" (UID: %s)</source>
</trans-unit>
<trans-unit id="logForNonPageRelatedActionsOrRootLevelOrPage" resname="logForNonPageRelatedActionsOrRootLevelOrPage">
<source>Log %s from %s to %s</source>
</trans-unit>
<trans-unit id="type_1" resname="type_1">
<source>DB</source>
</trans-unit>
<trans-unit id="action_1_1" resname="action_1_1">
<source>Insert</source>
</trans-unit>
<trans-unit id="action_1_2" resname="action_1_2">
<source>Update</source>
</trans-unit>
<trans-unit id="action_1_3" resname="action_1_3">
<source>Delete</source>
</trans-unit>
<trans-unit id="action_1_4" resname="action_1_4">
<source>Move</source>
</trans-unit>
<trans-unit id="action_1_5" resname="action_1_5">
<source>Check</source>
</trans-unit>
<trans-unit id="msg_1_0_1" resname="msg_1_0_1">
<source>Referer host '%s' and server host '%s' did not match!</source>
</trans-unit>
<trans-unit id="msg_1_1_11" resname="msg_1_1_11">
<source>Attempt to insert record on page '%s' (%s) where this table, %s, is not allowed</source>
</trans-unit>
<trans-unit id="msg_1_1_12" resname="msg_1_1_12">
<source>Attempt to insert a record on page '%s' (%s) from table '%s' without permissions. Or non-existing page.</source>
</trans-unit>
<trans-unit id="msg_1_2_1" resname="msg_1_2_1">
<source>Attempt to modify table '%s' without permission</source>
</trans-unit>
<trans-unit id="msg_1_2_2" resname="msg_1_2_2">
<source>Attempt to modify record '%s' (%s) without permission. Or non-existing page.</source>
</trans-unit>
<trans-unit id="msg_1_2_10" resname="msg_1_2_10">
<source>Record '%s' (%s) was updated.</source>
</trans-unit>
<trans-unit id="msg_1_2_12" resname="msg_1_2_12">
<source>MySQL error: '%s' (%s)</source>
</trans-unit>
<trans-unit id="msg_1_4_1" resname="msg_1_4_1">
<source>Attempt to move record '%s' (%s) to after a non-existing record (uid=%s)</source>
</trans-unit>
<trans-unit id="msg_1_4_2" resname="msg_1_4_2">
<source>Moved record '%s' (%s) to page '%s' (%s)</source>
</trans-unit>
<trans-unit id="msg_1_4_3" resname="msg_1_4_3">
<source>Moved record '%s' (%s) from page '%s' (%s)</source>
</trans-unit>
<trans-unit id="msg_1_4_4" resname="msg_1_4_4">
<source>Moved record '%s' (%s) on page '%s' (%s)</source>
</trans-unit>
<trans-unit id="msg_1_4_10" resname="msg_1_4_10">
<source>Attempt to move page '%s' (%s) to inside of its own rootline (at page '%s' (%s))</source>
</trans-unit>
<trans-unit id="msg_1_4_11" resname="msg_1_4_11">
<source>Attempt to insert record on page '%s' (%s) where this table, %s, is not allowed</source>
</trans-unit>
<trans-unit id="msg_1_4_12" resname="msg_1_4_12">
<source>Attempt to insert a record on page '%s' (%s) from table '%s' without permissions. Or non-existing page.</source>
</trans-unit>
<trans-unit id="msg_1_4_13" resname="msg_1_4_13">
<source>Attempt to move record '%s' (%s) to after another record, although the table has no sorting row.</source>
</trans-unit>
<trans-unit id="msg_1_4_14" resname="msg_1_4_14">
<source>Attempt to move record '%s' (%s) without having permissions to do so</source>
</trans-unit>
<trans-unit id="msg_1_5_1" resname="msg_1_5_1">
<source>You cannot change the 'doktype' of page '%s' to the desired value.</source>
</trans-unit>
<trans-unit id="msg_1_5_2" resname="msg_1_5_2">
<source>'doktype' of page '%s' could not be changed because the page contains records from disallowed tables; %s</source>
</trans-unit>
<trans-unit id="msg_1_5_3" resname="msg_1_5_3">
<source>Too few items in the list of values. (%s)</source>
</trans-unit>
<trans-unit id="msg_1_5_10" resname="msg_1_5_10">
<source>Could not delete file '%s' (does not exist). (%s)</source>
</trans-unit>
<trans-unit id="msg_1_5_11" resname="msg_1_5_11">
<source>Copying file '%s' failed!: No destination file (%s) possible!. (%s)</source>
</trans-unit>
<trans-unit id="msg_1_5_12" resname="msg_1_5_12">
<source>File extension '%s' is not allowed. (%s)</source>
</trans-unit>
<trans-unit id="msg_1_5_13" resname="msg_1_5_13">
<source>File size (%s) of file '%s' exceeds limit (%s). (%s)</source>
</trans-unit>
<trans-unit id="msg_1_5_14" resname="msg_1_5_14">
<source>The destination (%s) or the source file (%s) does not exist. (%s)</source>
</trans-unit>
<trans-unit id="msg_1_5_15" resname="msg_1_5_15">
<source>Copying to file '%s' failed! (%s)</source>
</trans-unit>
<trans-unit id="msg_1_5_16" resname="msg_1_5_16">
<source>Copying file '%s' failed!: The destination path (%s) may be write protected. Please make it write enabled!. (%s)</source>
</trans-unit>
<trans-unit id="type_2" resname="type_2">
<source>FILE</source>
</trans-unit>
<trans-unit id="action_2_1" resname="action_2_1">
<source>Upload</source>
</trans-unit>
<trans-unit id="action_2_2" resname="action_2_2">
<source>Copy</source>
</trans-unit>
<trans-unit id="action_2_3" resname="action_2_3">
<source>Move</source>
</trans-unit>
<trans-unit id="action_2_4" resname="action_2_4">
<source>Delete</source>
</trans-unit>
<trans-unit id="action_2_5" resname="action_2_5">
<source>Rename</source>
</trans-unit>
<trans-unit id="action_2_6" resname="action_2_6">
<source>New</source>
</trans-unit>
<trans-unit id="action_2_7" resname="action_2_7">
<source>Unzip</source>
</trans-unit>
<trans-unit id="action_2_8" resname="action_2_8">
<source>New file</source>
</trans-unit>
<trans-unit id="action_2_9" resname="action_2_9">
<source>Edit</source>
</trans-unit>
<trans-unit id="msg_2_9_1" resname="msg_2_9_1">
<source>File saved to '%s', bytes: %s, MD5: %s </source>
</trans-unit>
<trans-unit id="type_3" resname="type_3">
<source>CACHE</source>
</trans-unit>
<trans-unit id="action_3_1" resname="action_3_1">
<source>Clear Cache</source>
</trans-unit>
<trans-unit id="type_4" resname="type_4">
<source>EXTENSION</source>
</trans-unit>
<trans-unit id="type_5" resname="type_5">
<source>ERROR</source>
</trans-unit>
<trans-unit id="action_5_0" resname="action_5_0">
<source>Error handler</source>
</trans-unit>
<trans-unit id="type_254" resname="type_254">
<source>SETTING</source>
</trans-unit>
<trans-unit id="action_254_1" resname="action_254_1">
<source>Change</source>
</trans-unit>
<trans-unit id="type_255" resname="type_255">
<source>LOGIN</source>
</trans-unit>
<trans-unit id="action_255_1" resname="action_255_1">
<source>LOGIN</source>
</trans-unit>
<trans-unit id="action_255_2" resname="action_255_2">
<source>LOGOUT</source>
</trans-unit>
<trans-unit id="action_255_3" resname="action_255_3">
<source>ATTEMPT</source>
</trans-unit>
<trans-unit id="chLog_title" resname="chLog_title">
<source>Admin Changelog</source>
</trans-unit>
<trans-unit id="chLog_users_0" resname="chLog_users_0">
<source>All users</source>
</trans-unit>
<trans-unit id="chLog_users_-1" resname="chLog_users_-1">
<source>Self</source>
</trans-unit>
<trans-unit id="chLog_time_0" resname="chLog_time_0">
<source>This week</source>
</trans-unit>
<trans-unit id="chLog_time_1" resname="chLog_time_1">
<source>Last week</source>
</trans-unit>
<trans-unit id="chLog_time_2" resname="chLog_time_2">
<source>Last 7 days</source>
</trans-unit>
<trans-unit id="chLog_time_10" resname="chLog_time_10">
<source>This month</source>
</trans-unit>
<trans-unit id="chLog_time_11" resname="chLog_time_11">
<source>Last month</source>
</trans-unit>
<trans-unit id="chLog_time_12" resname="chLog_time_12">
<source>Last 31 days</source>
</trans-unit>
<trans-unit id="chLog_time_20" resname="chLog_time_20">
<source>No limit</source>
</trans-unit>
<trans-unit id="chLog_l_time" resname="chLog_l_time">
<source>Time</source>
</trans-unit>
<trans-unit id="chLog_l_user" resname="chLog_l_user">
<source>User</source>
</trans-unit>
<trans-unit id="chLog_l_error" resname="chLog_l_error">
<source>E</source>
</trans-unit>
<trans-unit id="chLog_l_action" resname="chLog_l_action">
<source>Action</source>
</trans-unit>
<trans-unit id="chLog_l_types" resname="chLog_l_types">
<source>Type</source>
</trans-unit>
<trans-unit id="chLog_l_table" resname="chLog_l_table">
<source>Table</source>
</trans-unit>
<trans-unit id="chLog_l_details" resname="chLog_l_details">
<source>Details</source>
</trans-unit>
<trans-unit id="chLog_menuUsers" resname="chLog_menuUsers">
<source>Users</source>
</trans-unit>
<trans-unit id="chLog_menuDepth" resname="chLog_menuDepth">
<source>Depth</source>
</trans-unit>
<trans-unit id="chLog_menuTime" resname="chLog_menuTime">
<source>Time</source>
</trans-unit>
<trans-unit id="systemmessage.errorsInPeriod" resname="systemmessage.errorsInPeriod">
<source><![CDATA[We have found %1$d errors. Please check your <a href="%2$s">system log</a>.]]></source>
</trans-unit>
<trans-unit id="actions" resname="actions">
<source>Actions</source>
</trans-unit>
<trans-unit id="actions.delete" resname="actions.delete">
<source>Delete similar errors</source>
</trans-unit>
<trans-unit id="actions.deleteWarnings" resname="actions.deleteWarnings">
<source>Delete similar warnings</source>
</trans-unit>
<trans-unit id="actions.delete.message" resname="actions.delete.message">
<source>Total entries deleted: %1$d</source>
</trans-unit>
<trans-unit id="actions.delete.noRowFound" resname="actions.delete.noRowFound">
<source>Log entry could not be found.</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.0" xmlns:t3="http://typo3.org/schemas/xliff">
<file t3:id="1415814782" source-language="en" datatype="plaintext" original="EXT:belog/Resources/Private/Language/locallang_mod.xlf" date="2011-10-17T20:22:32Z" product-name="belog">
<header/>
<body>
<trans-unit id="mlang_labels_tablabel" resname="mlang_labels_tablabel">
<source>Viewing log</source>
</trans-unit>
<trans-unit id="mlang_labels_tabdescr" resname="mlang_labels_tabdescr">
<source>Allows you access to the full backend changelog in TYPO3.&lt;br /&gt;&lt;em&gt;Access for 'admin' users only!&lt;/em&gt;</source>
</trans-unit>
<trans-unit id="mlang_tabs_tab" resname="mlang_tabs_tab">
<source>Log</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,10 @@
<html
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
xmlns:be="http://typo3.org/ns/TYPO3/CMS/Backend/ViewHelpers"
data-namespace-typo3-fluid="true">
<be:moduleLayout>
<f:render section="Content" />
</be:moduleLayout>
</html>
@@ -0,0 +1,8 @@
<html
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
data-namespace-typo3-fluid="true">
<f:variable name="isSubmoduleLayout" value="true"/>
<f:render section="Content"/>
</html>
@@ -0,0 +1,161 @@
<html
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
xmlns:belog="http://typo3.org/ns/TYPO3/CMS/Belog/ViewHelpers"
data-namespace-typo3-fluid="true">
<f:comment>
This is an ugly workaround.
The function module in Web->Info already renders a form tag, and there is
no easy way to circumvent this. The page id is needed for the info module
that is not extbase based to figure the permissions. Thus, we have to add
the page Id manually to hint the info module about that.
</f:comment>
<f:if condition="{isSubmoduleLayout}">
<input type="hidden" name="id" value="{constraint.pageId}" />
</f:if>
<f:form object="{constraint}" action="list" name="constraint" class="form-inline form-inline-spaced">
<div class="form-group">
<label for="belog-users"><f:translate key="users" /></label>
<f:form.select
property="userOrGroup"
options="{userGroups}"
additionalAttributes="{onchange : 'submit()'}"
class="form-control input-sm"
id="belog-users"
/>
</div>
<div class="form-group">
<label for="belog-max"><f:translate key="max" /></label>
<belog:form.translateLabelSelect
property="number"
options="{settings.selectableNumberOfLogEntries}"
optionLabelPrefix="LLL:EXT:belog/Resources/Private/Language/locallang.xlf:"
additionalAttributes="{onchange : 'submit()'}"
class="form-control input-sm"
id="belog-max"
/>
</div>
<f:if condition="{workspacesExtensionLoaded}">
<f:if condition="{showWorkspaceSelector}">
<div class="form-group">
<label for="belog-workspaces"><f:translate key="workspace" /></label>
<f:form.select
property="workspaceUid"
options="{workspaces}"
additionalAttributes="{onchange : 'submit()'}"
class="form-control input-sm"
id="belog-workspaces"
/>
</div>
</f:if>
</f:if>
<f:if condition="{isSubmoduleLayout}">
<div class="form-group">
<label for="belog-depth"><f:translate key="chLog_menuDepth" /></label>
<f:form.select
property="depth"
options="{pageDepths}"
additionalAttributes="{onchange : 'submit()'}"
class="form-control input-sm"
id="belog-depth"
/>
</div>
</f:if>
<div class="form-group">
<label for="belog-time"><f:translate key="time" /></label>
<belog:form.translateLabelSelect
property="timeFrame"
options="{settings.selectableTimeFrames}"
optionLabelPrefix="LLL:EXT:belog/Resources/Private/Language/locallang.xlf:"
additionalAttributes="{onchange : 'submit()'}"
class="form-control input-sm"
id="belog-time"
/>
</div>
<div class="form-group">
<label for="belog-action"><f:translate key="action" /></label>
<belog:form.translateLabelSelect
property="action"
options="{settings.selectableActions}"
optionLabelPrefix="LLL:EXT:belog/Resources/Private/Language/locallang.xlf:"
additionalAttributes="{onchange : 'submit()'}"
class="form-control input-sm"
id="belog-action"
/>
</div>
<f:if condition="{constraint.depth} > 0">
<div class="form-group">
<label for="belog-group"><f:translate key="groupByPage" /></label>
<f:form.checkbox
property="groupByPage"
value="1"
additionalAttributes="{onchange : 'submit()'}"
id="belog-group"
/>
</div>
</f:if>
<f:comment>
Date time fields for manual date selection
</f:comment>
<f:if condition="{constraint.timeFrame} == 30">
<f:be.pageRenderer includeRequireJsModules="{0: 'TYPO3/CMS/Backend/DateTimePicker'}" />
<div class="form-group">
<label for="manualDateStart"><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:from" /></label>
<div class="input-group input-group-sm">
<f:form.textfield
name="manualDateStart"
value="{f:if(condition: constraint.manualDateStart, then: \"{f:format.date(format:'{settings.timeFormat} {settings.dateFormat}', date: '{constraint.manualDateStart}')}\")}"
id="manualDateStart"
class="form-control input-sm t3js-datetimepicker t3js-clearable"
data="{date-type: 'datetime'}"
/>
<f:form.hidden
property="manualDateStart"
value="{f:if(condition: constraint.manualDateStart, then: \"{f:format.date(format:'c', date: '{constraint.manualDateStart}')}\")}"
/>
<span class="input-group-btn">
<label class="btn btn-default" for="manualDateStart">
<span class="fa fa-calendar"></span>
</label>
</span>
</div>
</div>
<div class="form-group">
<label for="manualDateStop"><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:to" /></label>
<div class="input-group input-group-sm">
<f:form.textfield
name="manualDateStop"
value="{f:format.date(format:'{settings.timeFormat} {settings.dateFormat}', date: '{constraint.manualDateStop}')}"
id="manualDateStop"
class="form-control input-sm t3js-datetimepicker t3js-clearable"
data="{date-type: 'datetime'}"
/>
<f:form.hidden property="manualDateStop"
value="{f:format.date(format:'c', date: '{constraint.manualDateStop}')}"
/>
<span class="input-group-btn">
<label class="btn btn-default" for="manualDateStop">
<span class="fa fa-calendar"></span>
</label>
</span>
</div>
</div>
<div class="form-group">
<f:form.submit id="submit-constraint" value="{f:translate(key: 'set')}" class="btn btn-default btn-sm" />
</div>
</f:if>
</f:form>
</html>
@@ -0,0 +1,241 @@
<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="{constraint.groupByPage}">
<div>
<h2>
<f:translate key="overview" />
</h2>
<f:translate
key="timeInfo"
arguments="{
0: '{f:format.date(format:\'{settings.dateFormat} {settings.timeFormat}\', date:\'@{constraint.startTimestamp}\')}',
1: '{f:format.date(format:\'{settings.dateFormat} {settings.timeFormat}\', date:\'@{constraint.endTimestamp}\')}'
}"
/>
<p>
<f:for each="{groupedLogEntries}" as="pidEntry" key="pid">
<f:if condition="{pid} > 0">
<br />
<f:translate
key="pagenameWithUID"
arguments="{
0: '{belog:be.pagePath(pid:\'{pid}\')}',
1: '{pid}'
}"
/>
</f:if>
</f:for>
</p>
</div>
</f:if>
<f:for each="{groupedLogEntries}" as="pidEntry" key="pid">
<div>
<h2>
<f:if condition="{constraint.groupByPage}">
<f:then>
<f:if condition="{pid} < 1">
<f:then>
<f:if condition="{pid} == -1">
<f:translate
key="logForNonPageRelatedActionsOrRootLevelOrPage"
arguments="{
0: '{f:translate(key:\'forNonPageRelatedActions\')}',
1: '{f:format.date(format:\'{settings.dateFormat} {settings.timeFormat}\', date:\'@{constraint.startTimestamp}\')}',
2: '{f:format.date(format:\'{settings.dateFormat} {settings.timeFormat}\', date:\'@{constraint.endTimestamp}\')}'
}"
/>
</f:if>
<f:if condition="{pid} == 0">
<f:translate
key="logForNonPageRelatedActionsOrRootLevelOrPage"
arguments="{
0: '{f:translate(key:\'forRootLevel\')}',
1: '{f:format.date(format:\'{settings.dateFormat} {settings.timeFormat}\', date:\'@{constraint.startTimestamp}\')}',
2: '{f:format.date(format:\'{settings.dateFormat} {settings.timeFormat}\', date:\'@{constraint.endTimestamp}\')}'
}"
/>
</f:if>
</f:then>
<f:else>
<f:comment>
Nest view helpers three times:
1. Feed pid as argument to be.pagePath
2. Use this as argument for 'forPage' translate
3. Use this as argument for 'logForNonPageRelatedActionsOrRootLevelOrPage' translate
</f:comment>
<f:translate
key="logForNonPageRelatedActionsOrRootLevelOrPage"
arguments="{
0: '{f:translate(
key:\'forPage\',
arguments:\'{
0:\\\'{belog:be.pagePath(pid:\\\\\\\'{pid}\\\\\\\')}\\\',
1:\\\'{pid}\\\'
}\'
)}',
1: '{f:format.date(format:\'{settings.dateFormat} {settings.timeFormat}\', date:\'@{constraint.startTimestamp}\')}',
2: '{f:format.date(format:\'{settings.dateFormat} {settings.timeFormat}\', date:\'@{constraint.endTimestamp}\')}'
}"
/>
</f:else>
</f:if>
</f:then>
<f:else>
<f:translate
key="logForNonPageRelatedActionsOrRootLevelOrPage"
arguments="{
0: '',
1: '{f:format.date(format:\'{settings.dateFormat} {settings.timeFormat}\', date:\'@{constraint.startTimestamp}\')}',
2: '{f:format.date(format:\'{settings.dateFormat} {settings.timeFormat}\', date:\'@{constraint.endTimestamp}\')}'
}"
/>
</f:else>
</f:if>
</h2>
<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>
<f:translate key="chLog_l_error"/>
</th>
<th>
<f:translate key="chLog_l_time"/>
</th>
<th colspan="2">
<f:translate key="chLog_l_user"/>
</th>
<th>
<f:if condition="{isSubmoduleLayout}">
<f:then>
<f:translate key="chLog_l_table"/>
</f:then>
<f:else>
<f:translate key="chLog_l_types"/>
</f:else>
</f:if>
</th>
<th>
<f:translate key="chLog_l_action"/>
</th>
<th>
<f:translate key="chLog_l_details"/>
</th>
<th>
<f:translate key="actions"/>
</th>
</tr>
</thead>
<tbody>
<f:for each="{day}" as="logItem">
<tr>
<td>
<f:if condition="{logItem.errorIconClass}">
<core:icon identifier="{logItem.errorIconClass}" />
</f:if>
</td>
<td>
<f:format.date format="H:i:s">@{logItem.tstamp}</f:format.date>
</td>
<td>
<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>
<br>
<span class="text-muted">
<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>
</td>
<td>
<f:if condition="{isSubmoduleLayout}">
<f:then>
{logItem.tableName}
</f:then>
<f:else>
<f:if condition="{f:translate(key:'type_{logItem.type}')}">
<f:then>
<f:translate key="type_{logItem.type}"/>
</f:then>
<f:else>
[{logItem.type}]
</f:else>
</f:if>
</f:else>
</f:if>
</td>
<td>
<f:if condition="{f:translate(key:'action_{logItem.type}_{logItem.action}')}">
<f:then>
<f:translate key="action_{logItem.type}_{logItem.action}"/>
</f:then>
<f:else>
[{logItem.action}]
</f:else>
</f:if>
</td>
<td class="col-word-break">
<belog:formatDetails logEntry="{logItem}"/>
<f:if condition="{logItem.detailsNumber} > 0">
(msg#{logItem.type}.{logItem.action}.{logItem.detailsNumber})
</f:if>
</td>
<td>
<f:if condition="{logItem.error} == 1">
<f:link.action action="deleteMessage" arguments="{errorUid:logItem.uid}" class="btn btn-warning">
<f:translate key="actions.deleteWarnings"/>
</f:link.action>
</f:if>
<f:if condition="{logItem.error} == 2">
<f:link.action action="deleteMessage" arguments="{errorUid:logItem.uid}" class="btn btn-danger">
<f:translate key="actions.delete"/>
</f:link.action>
</f:if>
<f:if condition="{logItem.logData.history}">
<a class="btn 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>
</div>
</f:for>
</html>
@@ -0,0 +1,26 @@
<html
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
data-namespace-typo3-fluid="true">
<f:layout name="{layout}"/>
<f:section name="Content">
<h1>
<f:translate key="adminLog" />
</h1>
<div>
<f:render
partial="Content/Filter"
arguments="{_all}"
/>
</div>
<div class="divider"></div>
<f:render
partial="Content/LogEntries"
arguments="{_all}"
/>
</f:section>
</html>
Binary file not shown.

After

Width:  |  Height:  |  Size: 360 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><path fill="#D04139" d="M0 0h64v64H0z"/><path fill="#FFF" d="M19 14h26a1 1 0 0 1 1 1v34a1 1 0 0 1-1 1H19a1 1 0 0 1-1-1V15a1 1 0 0 1 1-1zM40 14H24l2.667-2h10.666z"/><path opacity=".5" fill="#D04139" d="M40 14H24l2.667 2h10.666z"/><path fill="#D04139" d="M24 26h4v2h-4zM30 26h10v2H30zM26 20h12v2H26zM24 30h4v2h-4zM30 30h10v2H30zM24 34h4v2h-4zM30 34h10v2H30zM24 38h4v2h-4zM30 38h10v2H30zM24 42h4v2h-4zM30 42h10v2H30z"/></svg>

After

Width:  |  Height:  |  Size: 482 B