Fix remaining deprecations and follow best practice

This commit is contained in:
Björn Fromme
2021-09-06 16:35:19 +02:00
parent d7804ab336
commit f0039dbe7a
86 changed files with 20430 additions and 4065 deletions
+2 -6
View File
@@ -1,7 +1,4 @@
{
"repositories": [
{ "type": "composer", "url": "https://composer.typo3.org/" }
],
"name": "dpn/ep-reisen-web",
"description" : "EP Reisen TYPO3 website package",
"license": "GPL-2.0+",
@@ -21,8 +18,7 @@
"kigkonsult/icalcreator": "^2.29",
"league/csv": "^9.2",
"league/period": "^4.9",
"lochmueller/staticfilecache": "^10.2",
"ssch/typo3-encore": "^2.0",
"ssch/typo3-encore": "^3.0",
"symfony/http-client": "^4.3",
"symfony/options-resolver": "^4.2",
"symfony/property-access": "^4.3",
@@ -87,7 +83,7 @@
"config": {
"sort-packages": true,
"platform": {
"php": "7.3.10"
"php": "7.4.13"
}
}
}
Generated
+1371 -637
View File
File diff suppressed because it is too large Load Diff
+18466 -2572
View File
File diff suppressed because it is too large Load Diff
@@ -1,5 +0,0 @@
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_events/Configuration/PageTS/Mod/WebLayout/BackendLayouts.tsconfig">
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_events/Configuration/PageTS/Wizards/NewContentElement.tsconfig">
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_events/Configuration/PageTS/RTE.tsconfig">
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_events/Configuration/PageTS/TCEFORM.tsconfig">
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_events/Configuration/PageTS/Mod/SHARED.tsconfig">
@@ -1,174 +0,0 @@
mod {
web_layout.BackendLayouts {
frontpageEpEvents {
title = EP Events: Startseite
config {
backend_layout {
colCount = 2
rowCount = 5
rows {
1 {
columns {
1 {
name = Content
colPos = 3
colspan = 2
}
}
}
2 {
columns {
1 {
name = Kachel
colPos = 10
}
2 {
name = Kachel
colPos = 11
}
}
}
3 {
columns {
1 {
name = Kachel
colPos = 12
}
2 {
name = Kachel
colPos = 13
}
}
}
4 {
columns {
1 {
name = Content
colPos = 0
colspan = 2
}
}
}
5 {
columns {
1 {
name = Footer Content
colPos = 4
colspan = 2
}
}
}
}
}
}
}
subpageEpEvents {
title = EP Events: Unterseite
config {
backend_layout {
colCount = 1
rowCount = 4
rows {
1 {
columns {
1 {
name = Header
colPos = 1
}
}
}
2 {
columns {
1 {
name = Content
colPos = 0
}
}
}
3 {
columns {
1 {
name = Content volle Breite
colPos = 4
}
}
}
4 {
columns {
1 {
name = Content
colPos = 2
}
}
}
}
}
}
}
categoryEpEvents {
title = EP Events: Kategorie
config {
backend_layout {
colCount = 1
rowCount = 2
rows {
1 {
columns {
1 {
name = Content (Slider etc.)
colPos = 0
}
}
}
2 {
columns {
1 {
name = Footer Content
colPos = 2
}
}
}
}
}
}
}
offerEpEvents {
title = EP Events: Beispielangebot
config {
backend_layout {
colCount = 1
rowCount = 1
rows {
1 {
columns {
1 {
name = Content (Slider etc.)
colPos = 2
}
}
}
}
}
}
}
activityEpEvents {
title = EP Events: Programmpunkt
config {
backend_layout {
colCount = 1
rowCount = 1
rows {
1 {
columns {
1 {
name = Content
colPos = 0
}
}
}
}
}
}
}
}
}
@@ -24,7 +24,7 @@ call_user_func(function() {
],
],
'types' => [
(string) \EP\EpEvents\Constants::PAGETYPE_CATEGORY => $GLOBALS['TCA']['pages']['types'][\TYPO3\CMS\Frontend\Page\PageRepository::DOKTYPE_DEFAULT],
(string) \EP\EpEvents\Constants::PAGETYPE_CATEGORY => $GLOBALS['TCA']['pages']['types'][\TYPO3\CMS\Core\Domain\Repository\PageRepository::DOKTYPE_DEFAULT],
]
]
);
@@ -48,9 +48,9 @@ call_user_func(function() {
],
],
'types' => [
(string) \EP\EpEvents\Constants::PAGETYPE_OFFER => $GLOBALS['TCA']['pages']['types'][\TYPO3\CMS\Frontend\Page\PageRepository::DOKTYPE_DEFAULT],
(string) \EP\EpEvents\Constants::PAGETYPE_OFFER => $GLOBALS['TCA']['pages']['types'][\TYPO3\CMS\Core\Domain\Repository\PageRepository::DOKTYPE_DEFAULT],
],
]
],
);
$temporaryColumns = [
@@ -119,7 +119,6 @@ call_user_func(function() {
$GLOBALS['TCA']['pages']['columns']['media']['config']['behaviour'] = [
'allowLanguageSynchronization' => true,
'localizeChildrenAtParentLocalization' => true,
];
$GLOBALS['TCA']['pages']['columns']['media']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants'] = [
@@ -133,4 +132,10 @@ call_user_func(function() {
],
],
];
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'ep_events',
'Configuration/TSConfig/Page/Main.tsconfig',
'EP Events'
);
});
@@ -1,119 +0,0 @@
<?php
defined('TYPO3_MODE') or die ();
call_user_func(function() {
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
'pages_language_overlay',
'doktype',
[
'Kategorie-Seite',
\EP\EpEvents\Constants::PAGETYPE_CATEGORY,
'apps-pagetree-category-page',
],
'1',
'after'
);
\TYPO3\CMS\Core\Utility\ArrayUtility::mergeRecursiveWithOverrule(
$GLOBALS['TCA']['pages_language_overlay'],
[
'ctrl' => [
'typeicon_classes' => [
\EP\EpEvents\Constants::PAGETYPE_CATEGORY => 'apps-pagetree-category-page',
],
],
'types' => [
(string) \EP\EpEvents\Constants::PAGETYPE_CATEGORY => $GLOBALS['TCA']['pages']['types'][\TYPO3\CMS\Frontend\Page\PageRepository::DOKTYPE_DEFAULT],
]
]
);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
'pages_language_overlay',
'doktype',
[
'Beispiel-Seite',
\EP\EpEvents\Constants::PAGETYPE_OFFER,
'apps-pagetree-example-page',
],
'1',
'after'
);
\TYPO3\CMS\Core\Utility\ArrayUtility::mergeRecursiveWithOverrule(
$GLOBALS['TCA']['pages_language_overlay'],
[
'ctrl' => [
'typeicon_classes' => [
\EP\EpEvents\Constants::PAGETYPE_OFFER => 'apps-pagetree-example-page',
],
],
'types' => [
(string) \EP\EpEvents\Constants::PAGETYPE_OFFER => $GLOBALS['TCA']['pages']['types'][\TYPO3\CMS\Frontend\Page\PageRepository::DOKTYPE_DEFAULT],
],
]
);
$temporaryColumns = [
'tx_epevents_traveltype' => [
'exclude' => 0,
'label' => 'Reiseart',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
['Keine Zuordnung', 0],
],
'foreign_table' => 'tx_epevents_domain_model_traveltype',
'foreign_table_where' => 'AND tx_epevents_domain_model_traveltype.sys_language_uid IN (0, -1)',
'minitems' => 0,
'maxitems' => 1,
]
],
'tx_epevents_offer' => [
'exclude' => 0,
'label' => 'Angebot/Beispielangebot',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
['Keine Zuordnung', 0],
],
'foreign_table' => 'tx_epevents_domain_model_offer',
'foreign_table_where' => 'AND tx_epevents_domain_model_offer.type = 1 AND tx_epevents_domain_model_offer.sys_language_uid IN (0, -1) ORDER BY tx_epevents_domain_model_offer.name_internal',
'minitems' => 0,
'maxitems' => 1,
]
],
];
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns(
'pages_language_overlay',
$temporaryColumns
);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes(
'pages_language_overlay',
'--div--;Konfigurator,
tx_epevents_traveltype',
(string) \EP\EpEvents\Constants::PAGETYPE_CATEGORY
);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes(
'pages_language_overlay',
'--div--;Konfigurator,
tx_epevents_offer',
(string) \EP\EpEvents\Constants::PAGETYPE_OFFER
);
$GLOBALS['TCA']['pages_language_overlay']['columns']['media']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants'] = [
'default' => [
'title' => 'Alle Geräte',
'allowedAspectRatios' => [
'header' => [
'title' => 'Header Startseite',
'value' => 1440 / 700,
],
],
],
];
});
@@ -20,11 +20,6 @@ return [
],
'searchFields' => 'name,name_internal,description,image_teaser,image_header,image_offer,configurator_type',
'iconfile' => 'EXT:ep_events/Resources/Public/images/tx_epevents_domain_model_activity.gif'
],
'interface' => [
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, name, name_internal,
keywords, description, bannertext, footertext, image_teaser, image_header, image_offer, configurator_type,
path_segment',
],
'types' => [
'1' => [
@@ -55,7 +50,6 @@ return [
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 1,
'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
'config' => [
'type' => 'select',
@@ -21,9 +21,6 @@ return [
],
'searchFields' => 'name,email,phone,image,',
'iconfile' => 'EXT:ep_events/Resources/Public/images/tx_epevents_domain_model_contact.gif'
],
'interface' => [
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, name, position, email, phone, image',
],
'types' => [
'1' => [
@@ -50,7 +47,6 @@ return [
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 1,
'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
'config' => [
'type' => 'select',
@@ -20,10 +20,6 @@ return [
],
'searchFields' => 'name,name_internal,description,image_teaser,image_offer,configurator_type,',
'iconfile' => 'EXT:ep_events/Resources/Public/images/tx_epevents_domain_model_hotel.gif'
],
'interface' => [
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, name, name_internal,
description, image_teaser, image_offer, configurator_type',
],
'types' => [
'1' => [
@@ -52,7 +48,6 @@ return [
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 1,
'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
'config' => [
'type' => 'select',
@@ -22,11 +22,6 @@ return [
configurator_type,configurator_distance,footer_text1,footer_text2,footer_text3,',
'iconfile' => 'EXT:ep_events/Resources/Public/images/tx_epevents_domain_model_location.gif'
],
'interface' => [
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, name, description_short,
description_long, season, image_header, image_teaser, image_offer, configurator_type, configurator_distance,
footer_text1, footer_text2, footer_text3',
],
'types' => [
'1' => [
'showitem' => 'hidden, --palette--;;configurator,
@@ -54,7 +49,6 @@ return [
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 1,
'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
'config' => [
'type' => 'select',
@@ -22,13 +22,6 @@ return [
booking_form,configurator_type,contact,hotel,location,activities,',
'iconfile' => 'EXT:ep_events/Resources/Public/images/tx_epevents_domain_model_offer.gif',
'type' => 'type',
],
'interface' => [
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, type, name, name_internal,
groupname, price, headline, header, arrival, schedule, services, guidelines, image_teaser,
image_teaser_mobile, image_header, booking_form, configurator_type, configurator_budget,
configurator_pax, configurator_period, contact, hotel, location, activities, detail_page, url,
url_rendered',
],
'types' => [
'1' => [
@@ -68,7 +61,6 @@ return [
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 1,
'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
'config' => [
'type' => 'select',
@@ -20,10 +20,6 @@ return [
],
'searchFields' => 'client_name,client_image,quote,',
'iconfile' => 'EXT:ep_events/Resources/Public/images/tx_epevents_domain_model_testimonial.gif'
],
'interface' => [
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, client_name, client_image,
quote',
],
'types' => [
'1' => [
@@ -50,7 +46,6 @@ return [
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 1,
'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
'config' => [
'type' => 'select',
@@ -20,10 +20,6 @@ return [
],
'searchFields' => 'title,subtitle,headertext,subheadline,description',
'iconfile' => 'EXT:ep_events/Resources/Public/images/tx_epevents_domain_model_traveltype.gif',
],
'interface' => [
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, type, title, subtitle,
headertext, subheadline, bannertext, description, buttonlabel, configurator_type, image_header, image_banner',
],
'types' => [
'1' => [
@@ -53,7 +49,6 @@ return [
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 1,
'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
'config' => [
'type' => 'select',
@@ -0,0 +1,5 @@
@import 'EXT:ep_events/Configuration/TSConfig/Page/Mod/WebLayout/BackendLayouts.tsconfig'
@import 'EXT:ep_events/Configuration/TSConfig/Page/Wizards/NewContentElement.tsconfig'
@import 'EXT:ep_events/Configuration/TSConfig/Page/RTE.tsconfig'
@import 'EXT:ep_events/Configuration/TSConfig/Page/TCEFORM.tsconfig'
@import 'EXT:ep_events/Configuration/TSConfig/Page/Mod/SHARED.tsconfig'
@@ -0,0 +1 @@
@import 'EXT:ep_events/Configuration/TSConfig/Page/Mod/WebLayout/BackendLayouts/*'
@@ -0,0 +1,21 @@
mod.web_layout.BackendLayouts {
activityEpEvents {
title = EP Events: Programmpunkt
config {
backend_layout {
colCount = 1
rowCount = 1
rows {
1 {
columns {
1 {
name = Content
colPos = 0
}
}
}
}
}
}
}
}
@@ -0,0 +1,29 @@
mod.web_layout.BackendLayouts {
categoryEpEvents {
title = EP Events: Kategorie
config {
backend_layout {
colCount = 1
rowCount = 2
rows {
1 {
columns {
1 {
name = Content (Slider etc.)
colPos = 0
}
}
}
2 {
columns {
1 {
name = Footer Content
colPos = 2
}
}
}
}
}
}
}
}
@@ -0,0 +1,64 @@
mod.web_layout.BackendLayouts {
frontpageEpEvents {
title = EP Events: Startseite
config {
backend_layout {
colCount = 2
rowCount = 5
rows {
1 {
columns {
1 {
name = Content
colPos = 3
colspan = 2
}
}
}
2 {
columns {
1 {
name = Kachel
colPos = 10
}
2 {
name = Kachel
colPos = 11
}
}
}
3 {
columns {
1 {
name = Kachel
colPos = 12
}
2 {
name = Kachel
colPos = 13
}
}
}
4 {
columns {
1 {
name = Content
colPos = 0
colspan = 2
}
}
}
5 {
columns {
1 {
name = Footer Content
colPos = 4
colspan = 2
}
}
}
}
}
}
}
}
@@ -0,0 +1,21 @@
mod.web_layout.BackendLayouts {
offerEpEvents {
title = EP Events: Beispielangebot
config {
backend_layout {
colCount = 1
rowCount = 1
rows {
1 {
columns {
1 {
name = Content (Slider etc.)
colPos = 2
}
}
}
}
}
}
}
}
@@ -0,0 +1,45 @@
mod.web_layout.BackendLayouts {
subpageEpEvents {
title = EP Events: Unterseite
config {
backend_layout {
colCount = 1
rowCount = 4
rows {
1 {
columns {
1 {
name = Header
colPos = 1
}
}
}
2 {
columns {
1 {
name = Content
colPos = 0
}
}
}
3 {
columns {
1 {
name = Content volle Breite
colPos = 4
}
}
}
4 {
columns {
1 {
name = Content
colPos = 2
}
}
}
}
}
}
}
}
@@ -1,18 +1,6 @@
@import "EXT:ep_events/Configuration/TypoScript/Extensions/FluidStyledContent.typoscript"
@import "EXT:ep_events/Configuration/TypoScript/Extensions/Form.typoscript"
@import "EXT:ep_events/Configuration/TypoScript/Extensions/News.typoscript"
@import "EXT:ep_events/Configuration/TypoScript/Extensions/Seo.typoscript"
@import "EXT:ep_events/Configuration/TypoScript/Extensions/Typo3Encore.typoscript"
@import "EXT:ep_events/Configuration/TypoScript/Library/DynamicContent.typoscript"
@import "EXT:ep_events/Configuration/TypoScript/Library/ParseFunc.typoscript"
@import "EXT:ep_events/Configuration/TypoScript/Library/SearchForm.typoscript"
@import "EXT:ep_events/Configuration/TypoScript/Library/Configurator.typoscript"
@import "EXT:ep_events/Configuration/TypoScript/ContentElements/banner.typoscript"
@import "EXT:ep_events/Configuration/TypoScript/ContentElements/herounit.typoscript"
@import "EXT:ep_events/Configuration/TypoScript/ContentElements/statement.typoscript"
@import "EXT:ep_events/Configuration/TypoScript/ContentElements/tile.typoscript"
@import "EXT:ep_events/Configuration/TypoScript/Extensions/*"
@import "EXT:ep_events/Configuration/TypoScript/Library/*"
@import "EXT:ep_events/Configuration/TypoScript/ContentElements/*"
plugin.tx_epevents {
features {
@@ -83,8 +71,7 @@ lib.parseFunc_RTE {
tt_content.stdWrap.innerWrap >
lib.stdheader.3.headerClass >
@import "EXT:ep_events/Configuration/TypoScript/Page/Main.typoscript"
@import "EXT:ep_events/Configuration/TypoScript/Page/Ajax.typoscript"
@import "EXT:ep_events/Configuration/TypoScript/Page/*"
config {
removeDefaultCSS = 1
@@ -1,24 +1,24 @@
<?php
namespace EP\EpProducts\Backend;
namespace EP\EpProducts\EventListener;
use EP\EpProducts\Service\ImportTimestampService;
use TYPO3\CMS\Backend\Backend\ToolbarItems\SystemInformationToolbarItem as CoreSystemInformationToolbarItem;
use TYPO3\CMS\Backend\Backend\Event\SystemInformationToolbarCollectorEvent;
class SystemInformationToolbarItemExtension
class SystemInformationToolbarListener
{
public function addBpnImportInformation(CoreSystemInformationToolbarItem $systemInformation)
public function __invoke(SystemInformationToolbarCollectorEvent $event): void
{
$timestampService = new ImportTimestampService();
$productDataUpdatedTimestamp = $timestampService->readImportTimestamp('fileadmin/products_import.info');
$contingentsDataUpdatedTimestamp = $timestampService->readImportTimestamp('fileadmin/contingents_import.info');
$systemInformation->addSystemInformation(
$event->getToolbarItem()->addSystemInformation(
'Letzer Produktdaten-Import',
$productDataUpdatedTimestamp ? $productDataUpdatedTimestamp->format('d.m.y H:i:s') : '-',
'ep-logo'
);
$systemInformation->addSystemInformation(
$event->getToolbarItem()->addSystemInformation(
'Letzer Kontingente Import',
$contingentsDataUpdatedTimestamp ? $contingentsDataUpdatedTimestamp->format('d.m.y H:i:s') : '-',
'ep-logo'
@@ -41,9 +41,9 @@ class StaticSearchParamsMiddleware implements MiddlewareInterface
{
use DbConnectionTrait;
const PREFIX_PATH_SEGMENT = 'reiseauswahl';
const SEARCH_RESULT_URI = '/skireisen/suche/ergebnis/';
const REDIRECT_RESPONSE_CODE = 302;
public const PREFIX_PATH_SEGMENT = 'reiseauswahl';
public const SEARCH_RESULT_URI = '/skireisen/suche/ergebnis/';
public const REDIRECT_RESPONSE_CODE = 302;
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
@@ -1,74 +0,0 @@
<?php
namespace EP\EpProducts\Utility;
/***************************************************************
*
* Copyright notice
*
* (c) 2016 Björn Fromme <[email protected]>, dreipunktnull
*
* All rights reserved
*
* This script is part of the TYPO3 project. The TYPO3 project is
* free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* The GNU General Public License can be found at
* http://www.gnu.org/copyleft/gpl.html.
*
* This script is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* This copyright notice MUST APPEAR in all copies of the script!
***************************************************************/
class SessionUtility
{
/**
* @param string $key
* @param mixed $value
*/
static public function init($key, $value)
{
if (static::get($key) === false) {
static::set($key, $value);
}
}
/**
* @param string $key
* @param mixed $value
*/
static public function set($key, $value)
{
$serializedValue = serialize($value);
$GLOBALS['TSFE']->fe_user->setKey('ses', $key, $serializedValue);
$GLOBALS['TSFE']->fe_user->storeSessionData();
}
/**
* @param string $key
*
* @return mixed|null
*/
static public function get($key)
{
$value = $GLOBALS['TSFE']->fe_user->getKey('ses', $key);
return unserialize($value);
}
/**
* @param string $key
*/
static public function remove($key)
{
static::set($key, null);
}
}
@@ -5,10 +5,10 @@ return [
'ep/staticsearch' => [
'target' => \EP\EpProducts\Middleware\StaticSearchParamsMiddleware::class,
'before' => [
'typo3/cms-frontend/preprocessing',
'typo3/cms-redirects/redirecthandler',
],
'after' => [
'typo3/cms-core/normalized-params-attribute',
'typo3/cms-frontend/static-route-resolver',
],
],
],
@@ -0,0 +1,6 @@
services:
EP\EpProducts\EventListener\SystemInformationToolbarListener:
tags:
- name: event.listener
identifier: 'epToolbarListener'
event: TYPO3\CMS\Backend\Backend\Event\SystemInformationToolbarCollectorEvent
@@ -21,9 +21,6 @@ return [
'searchFields' => 'headline,subline',
'iconfile' => 'EXT:ep_theme/Resources/Public/images/icon_ce.svg',
],
'interface' => [
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, title, subtitle, link',
],
'types' => [
'1' => [
'showitem' => 'hidden, title, subtitle, link',
@@ -49,7 +46,6 @@ return [
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 0,
'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
'config' => [
'type' => 'select',
@@ -21,9 +21,6 @@ return [
'searchFields' => 'name,headline,teaser,description,party,leisure,teaser_images,header_images, images,latitude,longitude,country,region,facts,',
'iconfile' => 'EXT:ep_theme/Resources/Public/images/icon_ce.svg',
],
'interface' => [
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, detail_page, exclude_from_teasergroups, name, name_internal, headline, teaser, keywords, description, party, leisure, teaser_images, images, latitude, longitude, season, country, region, facts, officetip,header_title,header_subtitle',
],
'types' => [
'1' => [
'showitem' => '--palette--;;top, name_internal, --palette--;;name, --palette--;;destinations, teaser, keywords, description, party, leisure, facts, officetip, --div--;Bilder/Dateien, teaser_images, header_images, images',
@@ -52,7 +49,6 @@ return [
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 0,
'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
'config' => [
'type' => 'select',
@@ -22,11 +22,6 @@ return [
'searchFields' => 'name,description,detail_page,',
'iconfile' => 'EXT:ep_theme/Resources/Public/images/icon_ce.svg',
],
'interface' => [
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, bus_pro_id, name, headline, code,
description, description_extended, teaser, detail_page, teaser_images, header_images,header_title,
header_subtitle',
],
'types' => [
'1' => [
'showitem' => '--palette--;;top, --palette--;;naming, --palette--;;header, teaser, description, description_extended,
@@ -56,7 +51,6 @@ return [
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 0,
'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
'config' => [
'type' => 'select',
@@ -23,9 +23,6 @@ return [
'searchFields' => 'code',
'iconfile' => 'EXT:ep_theme/Resources/Public/images/icon_ce.svg',
],
'interface' => [
'showRecordFieldList' => 'date,pax,available,status,min_price,hotel,room_code,room_label,groupsch_id',
],
'types' => [
'1' => ['showitem' => 'date, pax, available, status, min_price, hotel, room_code, room_label, groupsch_id'],
],
@@ -48,7 +45,6 @@ return [
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 0,
'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
'config' => [
'type' => 'select',
@@ -21,11 +21,6 @@ return [
'searchFields' => 'code,name,headline,teaser,description,teaser_images,images,latitude,longitude,facts,',
'iconfile' => 'EXT:ep_theme/Resources/Public/images/icon_ce.svg',
],
'interface' => [
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, detail_page, code, name,
name_internal, headline, teaser, keywords, description, description_extended, teaser_images, header_images,
images, latitude, longitude, season, facts, officetip, snowreport, header_title, header_subtitle',
],
'types' => [
'1' => [
'showitem' => '
@@ -58,7 +53,6 @@ return [
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 0,
'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
'config' => [
'type' => 'select',
@@ -22,12 +22,6 @@ return [
'searchFields' => 'bus_pro_id,code,date_start,date_end,',
'iconfile' => 'EXT:ep_theme/Resources/Public/images/icon_ce.svg',
],
'interface' => [
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, bus_pro_id, hotel_bus_pro_id,
code, date_start, date_end, nights, board, board_code, board_bus_pro_id, bus_included, bus_available,
skipass_included, services_included, services_general, pickups, discount, min_price, pseudo_price,
available',
],
'types' => [
'1' => ['showitem' => 'hidden, bus_pro_id, hotel_bus_pro_id, code, daytrip, date_start, date_end, nights, board,
board_code, board_bus_pro_id, bus_included, bus_available, skipass_included, services_included,
@@ -54,7 +48,6 @@ return [
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 0,
'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
'config' => [
'type' => 'select',
@@ -21,9 +21,6 @@ return [
'searchFields' => 'name,tags,',
'iconfile' => 'EXT:ep_theme/Resources/Public/images/icon_ce.svg',
],
'interface' => [
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, label, name, keywords',
],
'types' => [
'1' => ['showitem' => 'hidden, label, name'],
],
@@ -48,7 +45,6 @@ return [
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 0,
'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
'config' => [
'type' => 'select',
@@ -20,9 +20,6 @@ return [
'searchFields' => 'question,answer,',
'iconfile' => 'EXT:ep_theme/Resources/Public/images/icon_ce.svg',
],
'interface' => [
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, label, question, answer',
],
'types' => [
'1' => [
'showitem' => 'hidden, label, question, answer',
@@ -49,7 +46,6 @@ return [
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 0,
'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
'config' => [
'type' => 'select',
@@ -23,9 +23,6 @@ return [
'iconfile' => 'EXT:ep_theme/Resources/Public/images/icon_ce.svg',
'hideTable' => true,
],
'interface' => [
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, title, price',
],
'types' => [
'1' => [
'showitem' => 'title, price',
@@ -51,7 +48,6 @@ return [
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 0,
'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
'config' => [
'type' => 'select',
@@ -23,11 +23,6 @@ return [
'iconfile' => 'EXT:ep_theme/Resources/Public/images/icon_ce.svg',
'hideTable' => true,
],
'interface' => [
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, date_from, date_to,
persons_included, bonus_card_included, price, price_additional_person,
price_additional_person_group_1, price_additional_person_group_2, price_additional_person_group_3',
],
'types' => [
'1' => [
'showitem' => '--palette--;;dates, --palette--;;included, --palette--;;prices, --palette--;;prices_groups',
@@ -59,7 +54,6 @@ return [
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 0,
'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
'config' => [
'type' => 'select',
@@ -23,10 +23,6 @@ return [
'iconfile' => 'EXT:ep_theme/Resources/Public/images/icon_ce.svg',
'hideTable' => true,
],
'interface' => [
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, title, price, type,
ignore_with_board',
],
'types' => [
'1' => [
'showitem' => 'title, --palette--;;priceconfig',
@@ -53,7 +49,6 @@ return [
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 0,
'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
'config' => [
'type' => 'select',
@@ -23,13 +23,6 @@ return [
header_images,images,reseller_images,code,type,category,country,region,city,teamer,products,external_link',
'iconfile' => 'EXT:ep_theme/Resources/Public/images/icon_ce.svg',
],
'interface' => [
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, name, detail_page, keywords,
address, longitude, latitude, headline, teaser, description, features, room_types, additional_information,
teaser_images, header_images, images, reseller_images, code, type, category, country, region, city, facts,
teamer, products, header_title,header_subtitle, earlybird, new, low_contingent, show_as_teaser,
external_link, path_segment, groups_price_configs, groups_price_boards, groups_price_options',
],
'types' => [
'1' => [
'showitem' => '--palette--;;top, --palette--;;name, --palette--;;geolocation,
@@ -66,7 +59,6 @@ return [
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 0,
'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
'config' => [
'type' => 'select',
@@ -566,7 +558,6 @@ return [
'config' => [
'type' => 'select',
'renderType' => 'selectMultipleSideBySide',
'enableMultiSelectFilterTextfield' => true,
'foreign_table' => 'tx_epproducts_domain_model_teammember',
'MM' => 'tx_epproducts_hotel_teammember_mm',
'size' => 10,
@@ -21,9 +21,6 @@ return [
'searchFields' => 'name,by_car,by_bus,',
'iconfile' => 'EXT:ep_theme/Resources/Public/images/icon_ce.svg',
],
'interface' => [
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, name, by_car, by_bus, image',
],
'types' => [
'1' => [
'showitem' => 'hidden, name, by_car, by_bus, image',
@@ -47,7 +44,6 @@ return [
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 0,
'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
'config' => [
'type' => 'select',
@@ -21,9 +21,6 @@ return [
'searchFields' => 'code',
'iconfile' => 'EXT:ep_theme/Resources/Public/images/icon_ce.svg',
],
'interface' => [
'showRecordFieldList' => 'code,entity_type',
],
'types' => [
'1' => ['showitem' => 'code'],
],
@@ -48,7 +45,6 @@ return [
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 0,
'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
'config' => [
'type' => 'select',
@@ -21,9 +21,6 @@ return [
'searchFields' => 'text,author,product,',
'iconfile' => 'EXT:ep_theme/Resources/Public/images/icon_ce.svg',
],
'interface' => [
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, text, author',
],
'types' => [
'1' => ['showitem' => '--palette--;;top, text'],
],
@@ -48,7 +45,6 @@ return [
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 0,
'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
'config' => [
'type' => 'select',
@@ -22,15 +22,6 @@ return [
'searchFields' => 'name,headline',
'iconfile' => 'EXT:ep_theme/Resources/Public/images/icon_ce.svg',
],
'interface' => [
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, searchable, bookable,
season, detail_page, name, name_internal, subline, keywords, headline, code, feature, bus_pro_id, teaser,
teaser_long, concept_description, board_description, additional_services, programme_description,
ski_pass_description, rating_average, rating_votes_count, teaser_images, header_images, images, concept,
country, region, city, journey, facts, officetip, hotels, calendar_hotel, faqs,header_title,header_subtitle,
alt_product, alt_label, video, banner, additional_regions, badge, daytrip, testimonials, external_link,
path_segment, hide_booking_button,non_bookable_dates',
],
'types' => [
'1' => [
'showitem' => '--palette--;;top, name_internal, --palette--;;name, --palette--;;header,
@@ -72,7 +63,6 @@ return [
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 0,
'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
'config' => [
'type' => 'select',
@@ -668,7 +658,6 @@ return [
'config' => [
'type' => 'select',
'renderType' => 'selectMultipleSideBySide',
'enableMultiSelectFilterTextfield' => true,
'foreign_table' => 'tx_epproducts_domain_model_hotel',
'foreign_table_where' => 'AND 1=1 ORDER BY tx_epproducts_domain_model_hotel.name',
'MM' => 'tx_epproducts_product_hotel_mm',
@@ -21,13 +21,6 @@ return [
'searchFields' => 'name,headline,teaser,ski_area,ski_pass,description,news',
'iconfile' => 'EXT:ep_theme/Resources/Public/images/icon_ce.svg',
],
'interface' => [
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, detail_page,
exclude_from_teasergroups, name, name_internal, headline, teaser, keywords, ski_area, ski_pass,
description, news, length, height, lifts, feature, teaser_images, header_images, images, region_maps,
latitude, longitude, country, facts, snowreport, webcam, officetip,header_title,header_subtitle,
award_image, award_link, award_label',
],
'types' => [
'1' => [
'showitem' => '--palette--;;top, name_internal, --palette--;;name, --palette--;;destinations,
@@ -63,7 +56,6 @@ return [
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 0,
'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
'config' => [
'type' => 'select',
@@ -21,9 +21,6 @@ return [
'searchFields' => 'name',
'iconfile' => 'EXT:ep_theme/Resources/Public/images/icon_ce.svg',
],
'interface' => [
'showRecordFieldList' => 'name,code,pa_code,products',
],
'types' => [
'1' => ['showitem' => 'name, code, pa_code, products'],
],
@@ -46,7 +43,6 @@ return [
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 0,
'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
'config' => [
'type' => 'select',
@@ -21,9 +21,6 @@ return [
'searchFields' => 'name,tags,',
'iconfile' => 'EXT:ep_theme/Resources/Public/images/icon_ce.svg',
],
'interface' => [
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, code, type',
],
'types' => [
'1' => ['showitem' => 'code, type'],
],
@@ -48,7 +45,6 @@ return [
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 0,
'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
'config' => [
'type' => 'select',
@@ -21,12 +21,11 @@ return [
'searchFields' => 'regionName,',
'iconfile' => 'EXT:ep_theme/Resources/Public/images/icon_ce.svg',
],
'interface' => [
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, vendor_uid, region_name, glacier, height_max, height_min, opened, snow_level_mountain, snow_level_valley, snow_quality, last_snowfall, lifts_total, lifts_opened, last_update, season_start, season_end, webcams',
],
'types' => [
'1' => [
'showitem' => 'hidden, vendor_uid, region_name, glacier, height_max, height_min, opened, snow_level_mountain, snow_level_valley, snow_quality, last_snowfall, lifts_total, lifts_opened, last_update, season_start, season_end, --div--;Webcams, webcams',
'showitem' => 'hidden, vendor_uid, region_name, glacier, height_max, height_min, opened,
snow_level_mountain, snow_level_valley, snow_quality, last_snowfall, lifts_total, lifts_opened,
last_update, season_start, season_end, --div--;Webcams, webcams',
],
],
'columns' => [
@@ -47,7 +46,6 @@ return [
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 0,
'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
'config' => [
'type' => 'select',
@@ -21,10 +21,6 @@ return [
'searchFields' => 'name,path_segment',
'iconfile' => 'EXT:ep_theme/Resources/Public/images/icon_ce.svg',
],
'interface' => [
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, name, path_segment,
country, region, concept, hotel, product, date_from, date_to, hotel_types, bus, pax',
],
'types' => [
'1' => [
'showitem' => 'name, path_segment, country, region, concept, hotel, product, date_from,
@@ -50,7 +46,6 @@ return [
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 0,
'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
'config' => [
'type' => 'select',
@@ -23,10 +23,6 @@ return [
'searchFields' => 'name,email,',
'iconfile' => 'EXT:ep_theme/Resources/Public/images/icon_ce.svg',
],
'interface' => [
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, name, path_segment, email,
phone, tasks, description, image',
],
'types' => [
'1' => [
'showitem' => 'hidden, --palette--;;top, --palette--;;contact, description, image, path_segment',
@@ -54,7 +50,6 @@ return [
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 0,
'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
'config' => [
'type' => 'select',
@@ -21,9 +21,6 @@ return [
'searchFields' => 'name',
'iconfile' => 'EXT:ep_theme/Resources/Public/images/icon_ce.svg',
],
'interface' => [
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, name, url, vendor_uid, available, snowreport',
],
'types' => [
'1' => [
'showitem' => 'hidden, name, url, vendor_uid, available, snowreport',
@@ -47,7 +44,6 @@ return [
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 0,
'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
'config' => [
'type' => 'select',
@@ -25,12 +25,6 @@ $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks'][\EP\EpProducts\T
'description' => 'Importiert Schneehöhen',
];
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks'][\EP\EpProducts\Task\GroupsSwissTask::class] = [
'extension' => 'ep_products',
'title' => 'EP Groups Swiss Export',
'description' => 'Publiziert Verfügbarkeiten nach groups.swiss',
];
$GLOBALS['TYPO3_CONF_VARS']['LOG']['EP']['EpProducts']['Service']['GroupsSwissService']['writerConfiguration'] = [
\TYPO3\CMS\Core\Log\LogLevel::INFO => [
'TYPO3\\CMS\\Core\\Log\\Writer\\FileWriter' => [
@@ -354,13 +348,3 @@ $GLOBALS['TYPO3_CONF_VARS']['LOG']['EP']['EpProducts']['Controller']['writerConf
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update']['teamSlug'] =
\EP\EpProducts\Updates\TeamSlugUpdater::class;
if ('BE' === TYPO3_MODE && !(TYPO3_REQUESTTYPE & TYPO3_REQUESTTYPE_INSTALL)) {
\TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Extbase\SignalSlot\Dispatcher::class)
->connect(
\TYPO3\CMS\Backend\Backend\ToolbarItems\SystemInformationToolbarItem::class,
'getSystemInformation',
\EP\EpProducts\Backend\SystemInformationToolbarItemExtension::class,
'addBpnImportInformation'
);
}
@@ -36,38 +36,6 @@ class Page extends AbstractEntity
*/
protected $description;
/**
* @return int
*/
public function getUid()
{
return $this->uid;
}
/**
* @param int $uid
*/
public function setUid($uid)
{
$this->uid = $uid;
}
/**
* @return int
*/
public function getPid()
{
return $this->pid;
}
/**
* @param int $pid
*/
public function setPid($pid)
{
$this->pid = $pid;
}
/**
* @return bool
*/
@@ -131,4 +99,4 @@ class Page extends AbstractEntity
{
$this->description = $description;
}
}
}
@@ -29,9 +29,9 @@ class PageRepository extends Repository
;
$query->matching($query->logicalAnd([
$query->equals('pid', $pid),
$query->equals('doktype', \TYPO3\CMS\Frontend\Page\PageRepository::DOKTYPE_DEFAULT)
$query->equals('doktype', \TYPO3\CMS\Core\Domain\Repository\PageRepository::DOKTYPE_DEFAULT)
]));
return $query->execute();
}
}
}
@@ -0,0 +1,9 @@
<?php
declare(strict_types = 1);
return [
\EP\EpTheme\Domain\Model\Page::class => [
'tableName' => 'pages',
],
];
@@ -1,7 +0,0 @@
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_theme/Configuration/PageTS/Mod/WebLayout/BackendLayouts.tsconfig">
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_theme/Configuration/PageTS/Mod/Wizards/NewContentElement.tsconfig">
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_theme/Configuration/PageTS/Extensions/GridElements.tsconfig">
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_theme/Configuration/PageTS/RTE.tsconfig">
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_theme/Configuration/PageTS/TCEFORM.tsconfig">
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_theme/Configuration/PageTS/TCEMAIN.tsconfig">
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_events/Configuration/PageTS/Mod/SHARED.tsconfig">
@@ -1,152 +0,0 @@
mod {
web_layout.BackendLayouts {
frontpage {
title = Startseite
config {
backend_layout {
colCount = 1
rowCount = 1
rows {
1 {
columns {
1 {
name = Content
colPos = 0
}
}
}
}
}
}
}
frontpageEvent < .frontpage
frontpageEvent.title = Startseite Events
popup < .frontpage
popup.title = Popup
detail {
title = Detailseite
config {
backend_layout {
colCount = 1
rowCount = 2
rows {
1 {
columns {
1 {
name = Content
colPos = 0
}
}
}
2 {
columns {
1 {
name = Teaserbereich
colPos = 1
}
}
}
}
}
}
}
subpage < .detail
subpage.title = Unterseite
search < .detail
search.title = Suchergebnis
subpageSidebarLeft {
title = Unterseite mit Sidebar (links)
config {
backend_layout {
colCount = 4
rowCount = 3
rows {
1 {
columns {
1 {
name = Headline
colPos = 3
colspan = 4
}
}
}
2 {
columns {
1 {
name = Sidebar
colPos = 2
colspan = 1
}
}
columns {
2 {
name = Content
colPos = 4
colspan = 3
}
}
}
3 {
columns {
1 {
name = Teaserbereich
colPos = 1
colspan = 4
}
}
}
}
}
}
}
subpageSidebarRight {
title = Unterseite mit Sidebar (rechts)
config {
backend_layout {
colCount = 4
rowCount = 3
rows {
1 {
columns {
1 {
name = Headline
colPos = 3
colspan = 4
}
}
}
2 {
columns {
1 {
name = Content
colPos = 4
colspan = 3
}
}
columns {
2 {
name = Sidebar
colPos = 2
colspan = 1
}
}
}
3 {
columns {
1 {
name = Teaserbereich
colPos = 1
colspan = 4
}
}
}
}
}
}
}
subpageSidebarRightEvent < .subpageSidebarRight
subpageSidebarRightEvent.title = Unterseite Events mit Sidebar (rechts)
subpageSidebarLeftEvent < .subpageSidebarLeft
subpageSidebarLeftEvent.title = Unterseite Events mit Sidebar (links)
}
}
@@ -128,7 +128,7 @@ call_user_func(function() {
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'ep_theme',
'Configuration/TypoScript/pageTSconfig.ts',
'Configuration/TSConfig/Page/Main.tsconfig',
'EP Theme'
);
@@ -20,9 +20,6 @@ return [
'searchFields' => 'name, first_name, last_name, email',
'dividers2tabs' => 1,
],
'interface' => [
'showRecordFieldList' => 'first_name,last_name,address,city,zip,country,email,title'
],
'columns' => [
'pid' => [
'label' => 'pid',
@@ -21,10 +21,6 @@ return [
'searchFields' => 'headline,text',
'iconfile' => 'EXT:ep_theme/Resources/Public/images/icon_ce.svg',
],
'interface' => [
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, layout, headline, text,
image, pi_flexform',
],
'types' => [
'1' => [
'showitem' => 'sys_language_uid, hidden, layout, headline, text, image, pi_flexform',
@@ -50,7 +46,6 @@ return [
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 0,
'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
'config' => [
'type' => 'select',
@@ -22,10 +22,6 @@ return [
'searchFields' => 'headline,subline',
'iconfile' => 'EXT:ep_theme/Resources/Public/images/icon_ce.svg',
],
'interface' => [
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, name, description, image,
facebook_url, twitter_url, youtube_url, instagram_url, soundcloud_url',
],
'types' => [
'1' => [
'showitem' => 'hidden, name, description, image, --palette--;;social',
@@ -52,7 +48,6 @@ return [
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 0,
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.l18n_parent',
'config' => [
'type' => 'select',
@@ -22,10 +22,6 @@ return [
'searchFields' => 'headline,subline',
'iconfile' => 'EXT:ep_theme/Resources/Public/images/icon_ce.svg',
],
'interface' => [
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, headline, subline, skipass,
button, page_uid, image',
],
'types' => [
'1' => [
'showitem' => '--palette--;;top, --palette--;;headlines, --palette--;;linkbutton, image',
@@ -54,7 +50,6 @@ return [
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 0,
'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
'config' => [
'type' => 'select',
@@ -0,0 +1,7 @@
@import 'EXT:ep_theme/Configuration/TSConfig/Page/Mod/WebLayout/BackendLayouts.tsconfig'
@import 'EXT:ep_theme/Configuration/TSConfig/Page/Mod/Wizards/NewContentElement.tsconfig'
@import 'EXT:ep_theme/Configuration/TSConfig/Page/Extensions/GridElements.tsconfig'
@import 'EXT:ep_theme/Configuration/TSConfig/Page/RTE.tsconfig'
@import 'EXT:ep_theme/Configuration/TSConfig/Page/TCEFORM.tsconfig'
@import 'EXT:ep_theme/Configuration/TSConfig/Page/TCEMAIN.tsconfig'
@import 'EXT:ep_events/Configuration/TSConfig/Page/Mod/SHARED.tsconfig'
@@ -0,0 +1 @@
@import 'EXT:ep_theme/Configuration/TSConfig/Page/Mod/WebLayout/BackendLayouts/*'
@@ -0,0 +1,29 @@
mod.web_layout.BackendLayouts {
detail {
title = Detailseite
config {
backend_layout {
colCount = 1
rowCount = 2
rows {
1 {
columns {
1 {
name = Content
colPos = 0
}
}
}
2 {
columns {
1 {
name = Teaserbereich
colPos = 1
}
}
}
}
}
}
}
}
@@ -0,0 +1,21 @@
mod.web_layout.BackendLayouts {
frontpage {
title = Startseite
config {
backend_layout {
colCount = 1
rowCount = 1
rows {
1 {
columns {
1 {
name = Content
colPos = 0
}
}
}
}
}
}
}
}
@@ -0,0 +1,22 @@
mod.web_layout.BackendLayouts {
frontpageEvent {
title = Startseite Events
config {
backend_layout {
colCount = 1
rowCount = 1
rows {
1 {
columns {
1 {
name = Content
colPos = 0
}
}
}
}
}
}
}
}
@@ -0,0 +1,21 @@
mod.web_layout.BackendLayouts {
popup {
title = Popup
config {
backend_layout {
colCount = 1
rowCount = 1
rows {
1 {
columns {
1 {
name = Content
colPos = 0
}
}
}
}
}
}
}
}
@@ -0,0 +1,29 @@
mod.web_layout.BackendLayouts {
search {
title = Suchergebnis
config {
backend_layout {
colCount = 1
rowCount = 2
rows {
1 {
columns {
1 {
name = Content
colPos = 0
}
}
}
2 {
columns {
1 {
name = Teaserbereich
colPos = 1
}
}
}
}
}
}
}
}
@@ -0,0 +1,29 @@
mod.web_layout.BackendLayouts {
subpage {
title = Unterseite
config {
backend_layout {
colCount = 1
rowCount = 2
rows {
1 {
columns {
1 {
name = Content
colPos = 0
}
}
}
2 {
columns {
1 {
name = Teaserbereich
colPos = 1
}
}
}
}
}
}
}
}
@@ -0,0 +1,47 @@
mod.web_layout.BackendLayouts {
subpageSidebarLeft {
title = Unterseite mit Sidebar (links)
config {
backend_layout {
colCount = 4
rowCount = 3
rows {
1 {
columns {
1 {
name = Headline
colPos = 3
colspan = 4
}
}
}
2 {
columns {
1 {
name = Sidebar
colPos = 2
colspan = 1
}
}
columns {
2 {
name = Content
colPos = 4
colspan = 3
}
}
}
3 {
columns {
1 {
name = Teaserbereich
colPos = 1
colspan = 4
}
}
}
}
}
}
}
}
@@ -0,0 +1,47 @@
mod.web_layout.BackendLayouts {
subpageSidebarLeftEvent {
title = Unterseite Events mit Sidebar (links)
config {
backend_layout {
colCount = 4
rowCount = 3
rows {
1 {
columns {
1 {
name = Headline
colPos = 3
colspan = 4
}
}
}
2 {
columns {
1 {
name = Sidebar
colPos = 2
colspan = 1
}
}
columns {
2 {
name = Content
colPos = 4
colspan = 3
}
}
}
3 {
columns {
1 {
name = Teaserbereich
colPos = 1
colspan = 4
}
}
}
}
}
}
}
}
@@ -0,0 +1,47 @@
mod.web_layout.BackendLayouts {
subpageSidebarRight {
title = Unterseite mit Sidebar (rechts)
config {
backend_layout {
colCount = 4
rowCount = 3
rows {
1 {
columns {
1 {
name = Headline
colPos = 3
colspan = 4
}
}
}
2 {
columns {
1 {
name = Content
colPos = 4
colspan = 3
}
}
columns {
2 {
name = Sidebar
colPos = 2
colspan = 1
}
}
}
3 {
columns {
1 {
name = Teaserbereich
colPos = 1
colspan = 4
}
}
}
}
}
}
}
}
@@ -0,0 +1,47 @@
mod.web_layout.BackendLayouts {
subpageSidebarRightEvent {
title = Unterseite Events mit Sidebar (rechts)
config {
backend_layout {
colCount = 4
rowCount = 3
rows {
1 {
columns {
1 {
name = Headline
colPos = 3
colspan = 4
}
}
}
2 {
columns {
1 {
name = Content
colPos = 4
colspan = 3
}
}
columns {
2 {
name = Sidebar
colPos = 2
colspan = 1
}
}
}
3 {
columns {
1 {
name = Teaserbereich
colPos = 1
colspan = 4
}
}
}
}
}
}
}
}
@@ -1,7 +0,0 @@
config.tx_extbase.persistence.classes {
EP\EpTheme\Domain\Model\Page {
mapping {
tableName = pages
}
}
}
@@ -35,20 +35,15 @@ use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\MiddlewareInterface;
use Psr\Http\Server\RequestHandlerInterface;
use TYPO3\CMS\Core\Error\Http\ServiceUnavailableException;
use TYPO3\CMS\Core\Http\ImmediateResponseException;
use TYPO3\CMS\Core\Http\NormalizedParams;
use TYPO3\CMS\Core\Http\RedirectResponse;
use TYPO3\CMS\Core\Site\Entity\SiteInterface;
use TYPO3\CMS\Core\Site\SiteFinder;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController;
class TrackingMiddleware implements MiddlewareInterface
{
use DbConnectionTrait;
const CODE_PATTERN = 'PA\d{3,4}';
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
if ($redirect = $this->matchRedirect($request)) {
@@ -112,20 +107,22 @@ class TrackingMiddleware implements MiddlewareInterface
$targetPage = $redirect['target_page_uid'];
$responseCode = $redirect['response_code'];
$controller = $this->bootFrontendController($request->getAttribute('site'));
/** @var SiteFinder $siteFinder */
$siteFinder = GeneralUtility::makeInstance(SiteFinder::class);
$site = $siteFinder->getSiteByPageId($targetPage);
$typolinkConfig = ['parameter' => $targetPage, 'forceAbsoluteUrl' => true];
$params = [];
if ($redirect['utm_source'] && $redirect['utm_medium'] && $redirect['utm_campaign'] && $redirect['utm_content']) {
$typolinkConfig['additionalParams'] = '&' . http_build_query([
'utm_source' => $redirect['utm_source'],
'utm_medium' => $redirect['utm_medium'],
'utm_campaign' => $redirect['utm_campaign'],
'utm_content' => $redirect['utm_content'],
]);
$params = [
'utm_source' => $redirect['utm_source'],
'utm_medium' => $redirect['utm_medium'],
'utm_campaign' => $redirect['utm_campaign'],
'utm_content' => $redirect['utm_content'],
];
}
return [$controller->cObj->typolink_URL($typolinkConfig), $responseCode];
return [$site->getRouter()->generateUri($targetPage, $params), $responseCode];
}
/**
@@ -157,34 +154,4 @@ class TrackingMiddleware implements MiddlewareInterface
return $uri;
}
/**
* Borrowed from \TYPO3\CMS\Redirects\Service\RedirectService
*
* @param SiteInterface|null $site
* @param array $queryParams
* @return TypoScriptFrontendController
* @throws ServiceUnavailableException
* @throws ImmediateResponseException
*/
protected function bootFrontendController(?SiteInterface $site, array $queryParams = []): TypoScriptFrontendController
{
$GLOBALS['TYPO3_CONF_VARS']['FE']['pageUnavailable_handling'] = false;
/** @var TypoScriptFrontendController $controller */
$controller = GeneralUtility::makeInstance(
TypoScriptFrontendController::class,
null,
$site ? $site->getRootPageId() : $GLOBALS['TSFE']->id,
0
);
$controller->fe_user = $GLOBALS['TSFE']->fe_user ?? null;
$controller->fetch_the_id();
$controller->calculateLinkVars($queryParams);
$controller->getConfigArray();
$controller->settingLanguage();
$controller->settingLocale();
$controller->newCObj();
return $controller;
}
}
@@ -22,10 +22,6 @@ return [
'searchFields' => 'label, redirect_from, tracking_code',
'iconfile' => 'EXT:ep_track/Resources/Public/Icons/tx_eptrack_domain_model_redirect.gif'
],
'interface' => [
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, label, redirect_from,
target_page_uid, tracking_code, response_code, utm_source, utm_medium, utm_campaign, utm_content',
],
'types' => [
'1' => [
'showitem' => 'hidden, label, source_host, redirect_from, target_page_uid, --palette--;;codes,
@@ -54,7 +50,6 @@ return [
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 0,
'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
'config' => [
'type' => 'select',