Upgrade to TYPO3 9.5 LTS

This commit is contained in:
Björn Fromme
2019-06-06 17:20:29 +02:00
parent adab7fb39a
commit 3c472eb973
989 changed files with 4924 additions and 3674 deletions
+17 -19
View File
@@ -1,25 +1,23 @@
.DS_Store
.idea
.tmp
index.php
vendor
node_modules
bower_components
typo3
web/fileadmin
web/typo3conf/ENABLE_INSTALL_TOOL
web/typo3conf/realurl_autoconf.php
web/typo3conf/deprecation*
web/typo3conf/ext/*
!web/typo3conf/ext/ep_events/
!web/typo3conf/ext/ep_products/
!web/typo3conf/ext/ep_theme/
!web/typo3conf/ext/ep_track/
web/typo3conf/ext/ep_events/Resources/Public/*
web/typo3conf/ext/ep_theme/Resources/Public/*
web/typo3conf/LocalConfiguration.php
web/typo3conf/AdditionalConfiguration.php
web/typo3conf/PackageStates.php
web/typo3conf/l10n
web/typo3temp
web/uploads
public/fileadmin
public/typo3conf/ENABLE_INSTALL_TOOL
public/typo3conf/deprecation*
public/typo3conf/ext/*/
!public/typo3conf/ext/ep_events/
!public/typo3conf/ext/ep_products/
!public/typo3conf/ext/ep_theme/
!public/typo3conf/ext/ep_track/
public/typo3conf/ext/ep_events/Resources/Public/
public/typo3conf/ext/ep_theme/Resources/Public/
public/typo3conf/LocalConfiguration.php
public/typo3conf/AdditionalConfiguration.php
public/typo3conf/PackageStates.php
public/typo3conf/l10n
public/typo3temp
public/uploads
var
-3
View File
@@ -1,3 +0,0 @@
- Fire `nvm use` upfront build/deployment
- Deploy via `./vendor/bin/dep deploy` due to PHP 5.6 still being in use
- Deploy assets only with `./vendor/bin/dep assets`
+50 -70
View File
@@ -7,65 +7,53 @@
"license": "GPL-2.0+",
"type": "project",
"require": {
"php": "^7.1",
"php": "^7.2",
"ext-json": "*",
"ext-libxml": "*",
"ext-pdo": "*",
"ext-simplexml": "*",
"typo3/cms": "^8.7",
"typo3/cms-backend": "^8.7",
"typo3/cms-belog": "^8.7",
"typo3/cms-beuser": "^8.7",
"typo3/cms-core": "^8.7",
"typo3/cms-rte-ckeditor": "^8.7",
"typo3/cms-extbase": "^8.7",
"typo3/cms-extensionmanager": "^8.7",
"typo3/cms-filelist": "^8.7",
"typo3/cms-filemetadata": "^8.7",
"typo3/cms-fluid": "^8.7",
"typo3/cms-fluid-styled-content": "^8.7",
"typo3/cms-form": "^8.7",
"typo3/cms-frontend": "^8.7",
"typo3/cms-func": "^8.7",
"typo3/cms-func-wizards": "^8.7",
"typo3/cms-info": "^8.7",
"typo3/cms-info-pagetsconfig": "^8.7",
"typo3/cms-install": "^8.7",
"typo3/cms-lang": "^8.7",
"typo3/cms-lowlevel": "^8.7",
"typo3/cms-opendocs": "^8.7",
"typo3/cms-recordlist": "^8.7",
"typo3/cms-recycler": "^8.7",
"typo3/cms-reports": "^8.7",
"typo3/cms-rsaauth": "^8.7",
"typo3/cms-saltedpasswords": "^8.7",
"typo3/cms-scheduler": "^8.7",
"typo3/cms-setup": "^8.7",
"typo3/cms-sv": "^8.7",
"typo3/cms-sys-action": "^8.7",
"typo3/cms-t3editor": "^8.7",
"typo3/cms-taskcenter": "^8.7",
"typo3/cms-tstemplate": "^8.7",
"typo3/cms-viewpage": "^8.7",
"typo3/cms-wizard-crpages": "^8.7",
"typo3/cms-wizard-sortpages": "^8.7",
"typo3-ter/media": "^4.5",
"typo3-ter/ods-redirects": "^1.3",
"typo3-ter/html-compress": "^1.1",
"yohang/calendr": "^2.1",
"wyrihaximus/html-compress": "^1.4",
"symfony/property-access": "^3.4",
"symfony/options-resolver": "^3.4",
"symfony/serializer": "^3.3",
"league/csv": "^8.2",
"christophlehmann/imageoptimizer": "^1.1",
"smichaelsen/pagepath": "^1.1",
"georgringer/news": "^7.0",
"dmitryd/typo3-realurl": "^2.3",
"fluidtypo3/vhs": "^4.3",
"webdevops/metaseo": "3.0.0",
"helhum/typo3-console": "^4.9",
"gridelementsteam/gridelements": "^8.2",
"pixelant/pxa-social-feed": "^1.10"
"christophlehmann/imageoptimizer": "^2.0",
"fab/media": "^5.0",
"fab/vidi": "^3.2",
"fluidtypo3/vhs": "^5.2",
"georgringer/news": "^7.2",
"gridelementsteam/gridelements": "^9.2",
"helhum/typo3-console": "^5.6",
"league/csv": "^9.2",
"pixelant/pxa-social-feed": "^1.10",
"symfony/options-resolver": "^4.2",
"symfony/property-access": "^4.3",
"symfony/serializer": "^4.2",
"typo3/cms-adminpanel": "^9.5",
"typo3/cms-backend": "^9.5",
"typo3/cms-belog": "^9.5",
"typo3/cms-beuser": "^9.5",
"typo3/cms-core": "^9.5",
"typo3/cms-extbase": "^9.5",
"typo3/cms-extensionmanager": "^9.5",
"typo3/cms-felogin": "^9.5",
"typo3/cms-filelist": "^9.5",
"typo3/cms-filemetadata": "^9.5",
"typo3/cms-fluid": "^9.5",
"typo3/cms-fluid-styled-content": "^9.5",
"typo3/cms-form": "^9.5",
"typo3/cms-frontend": "^9.5",
"typo3/cms-info": "^9.5",
"typo3/cms-install": "^9.5",
"typo3/cms-lowlevel": "^9.5",
"typo3/cms-recordlist": "^9.5",
"typo3/cms-recycler": "^9.5",
"typo3/cms-redirects": "^9.5",
"typo3/cms-reports": "^9.5",
"typo3/cms-rte-ckeditor": "^9.5",
"typo3/cms-scheduler": "^9.5",
"typo3/cms-seo": "^9.5",
"typo3/cms-setup": "^9.5",
"typo3/cms-t3editor": "^9.5",
"typo3/cms-taskcenter": "^9.5",
"typo3/cms-tstemplate": "^9.5",
"typo3/cms-viewpage": "^9.5",
"yohang/calendr": "^2.1"
},
"scripts": {
"typo3-cms-scripts": [
@@ -79,21 +67,12 @@
"@typo3-cms-scripts"
]
},
"extra": {
"typo3/cms": {
"cms-package-dir": "{$vendor-dir}/typo3/cms",
"web-dir": "web"
},
"helhum/typo3-console": {
"install-extension-dummy": false
}
},
"autoload": {
"psr-4": {
"EP\\EpEvents\\": "web/typo3conf/ext/ep_events/Classes",
"EP\\EpProducts\\": "web/typo3conf/ext/ep_products/Classes",
"EP\\EpTheme\\": "web/typo3conf/ext/ep_theme/Classes",
"EP\\EpTrack\\": "web/typo3conf/ext/ep_track/Classes"
"EP\\EpEvents\\": "public/typo3conf/ext/ep_events/Classes",
"EP\\EpProducts\\": "public/typo3conf/ext/ep_products/Classes",
"EP\\EpTheme\\": "public/typo3conf/ext/ep_theme/Classes",
"EP\\EpTrack\\": "public/typo3conf/ext/ep_track/Classes"
}
},
"require-dev": {
@@ -101,8 +80,9 @@
"ichhabrecht/filefill": "^2.0"
},
"config": {
"sort-packages": true,
"platform": {
"php": "7.1.10"
"php": "7.2.17"
}
}
}
Generated
+2813 -1414
View File
File diff suppressed because it is too large Load Diff
+86
View File
@@ -0,0 +1,86 @@
rootPageId: 884
base: 'https://www.ep-events.de'
baseVariants:
- base: 'https://ep-events.burn.dpn'
condition: 'applicationContext == "Development"'
languages:
- title: Deutsch
enabled: true
languageId: '0'
base: /
typo3Language: de
locale: de_DE.UTF-8
iso-639-1: de
navigationTitle: Deutsch
hreflang: de-DE
direction: ''
flag: de
errorHandling:
- errorCode: '404'
errorHandler: Page
errorContentSource: 't3://page?uid=608'
routes: { }
routeEnhancers:
NewsPlugin:
type: Extbase
extension: News
plugin: Pi1
limitToPages: [989]
routes:
- { routePath: '/{news_title}', _controller: 'News::detail', _arguments: {'news_title': 'news'} }
defaultController: 'News::detail'
aspects:
news_title:
type: PersistedAliasMapper
tableName: 'tx_news_domain_model_news'
routeFieldName: 'path_segment'
ActivityPlugin:
type: Extbase
extension: EpEvents
plugin: activitydetail
limitToPages: [1405]
routes:
- { routePath: '/{activity_name}', _controller: 'Activity::detail', _arguments: {'activity_name': 'activity'} }
defaultController: 'Activity::detail'
aspects:
activity_name:
type: PersistedAliasMapper
tableName: 'tx_epevents_domain_model_activity'
routeFieldName: 'path_segment'
ConfiguratorPlugin:
type: Extbase
extension: EpEvents
plugin: configurator
limitToPages: [1263]
routes:
- { routePath: '/{travel_type}/{location_type}', _controller: 'Form::configurator', _arguments: {'travel_type': 'travelType', 'location_type': 'locationType'} }
defaultController: 'Form::configurator'
requirements:
travel_type: '\d+'
location_type: '\d+'
aspects:
travel_type:
type: StaticRangeMapper
start: '1'
end: '100'
location_type:
type: StaticRangeMapper
start: '1'
end: '100'
ContactFormPlugin:
type: Extbase
extension: EpEvents
plugin: contactform
limitToPages: [987]
routes:
- { routePath: '/{travel_type}', _controller: 'Form::contactForm', _arguments: {'travel_type': 'travelType'} }
defaultController: 'Form::contactForm'
requirements:
travel_type: '\d+'
aspects:
travel_type:
type: StaticRangeMapper
start: '1'
end: '100'
+111
View File
@@ -0,0 +1,111 @@
rootPageId: 9
base: 'https://www.ep-reisen.de'
baseVariants:
- base: 'https://eptypo3.burn.dpn'
condition: 'applicationContext == "Development"'
languages:
- title: Deutsch
enabled: true
languageId: '0'
base: /
typo3Language: de
locale: de_DE.UTF-8
iso-639-1: de
navigationTitle: Deutsch
hreflang: de-DE
direction: ''
flag: de
errorHandling:
- errorCode: '404'
errorHandler: Page
errorContentSource: 't3://page?uid=608'
routes: { }
routeEnhancers:
NewsDetailPlugin:
type: Extbase
extension: News
plugin: Pi1
limitToPages: [1392]
routes:
- { routePath: '/{news_title}', _controller: 'News::detail', _arguments: {'news_title': 'news'} }
defaultController: 'News::detail'
aspects:
news_title:
type: PersistedAliasMapper
tableName: 'tx_news_domain_model_news'
routeFieldName: 'path_segment'
NewsTagPlugin:
type: Extbase
extension: News
plugin: Pi1
limitToPages: [1391]
routes:
- { routePath: '/{news_tag}', _controller: 'News::list', _arguments: {'news_tag': 'overwriteDemand/tags'} }
defaultController: 'News::list'
aspects:
news_tag:
type: PersistedAliasMapper
tableName: 'tx_news_domain_model_tag'
routeFieldName: 'slug'
TeamPlugin:
type: Extbase
extension: EpProducts
plugin: teammembers
limitToPages: [1446]
routes:
- { routePath: '/{teamer_name}', _controller: 'Team::show', _arguments: {'teamer_name': 'member'} }
defaultController: 'Team::show'
aspects:
teamer_name:
type: PersistedAliasMapper
tableName: 'tx_epproducts_domain_model_teammember'
routeFieldName: 'path_segment'
ProductDetailPlugin:
type: Extbase
extension: EpProducts
plugin: product_detail
routes:
- { routePath: '/{teamer_name}', _controller: 'Team::show', _arguments: {'teamer_name': 'member'} }
defaultController: 'Team::show'
aspects:
teamer_name:
type: PersistedAliasMapper
tableName: 'tx_epproducts_domain_model_teammember'
routeFieldName: 'path_segment'
SearchResultPlugin:
type: Extbase
extension: EpProducts
plugin: searchresult
limitToPages: [41]
routes:
- { routePath: '/{filtersettings}', _controller: 'Search::searchresult', _arguments: {'filtersettings': 'filterSettings'} }
defaultController: 'Search::searchresult'
ResellerPlugin:
type: Extbase
extension: EpProducts
plugin: reseller
limitToPages: [1483]
routes:
- { routePath: '/{reseller_code}', _controller: 'Reseller::list', _arguments: {'reseller_code': 'reseller'} }
- { routePath: '/{reseller_code}/xml', _controller: 'Reseller::xml', _arguments: {'reseller_code': 'reseller'} }
- { routePath: '/{reseller_code}/csv/{type}', _controller: 'Reseller::csv', _arguments: {'reseller_code': 'reseller', 'type': 'type'} }
- { routePath: '/{reseller_code}/copypaste/{product_id}', _controller: 'Reseller::copypaste', _arguments: {'reseller_code': 'reseller', 'product_id': 'product'} }
requirements:
reseller_code: '\w+'
type: '\w+'
product_id: '\d+'
aspects:
reseller_code:
type: PersistedAliasMapper
tableName: 'tx_epproducts_domain_model_reseller'
routeFieldName: 'code'
type:
type: StaticValueMapper
map:
google: google
facebook: facebook
product_id:
type: StaticRangeMapper
start: '1'
end: '1000'
+37
View File
@@ -0,0 +1,37 @@
rootPageId: 24
base: 'https://www.ski-boarderweek.de'
baseVariants:
- base: 'https://ski-boarderweek.burn.dpn'
condition: 'applicationContext == "Development"'
languages:
- title: Deutsch
enabled: true
languageId: '0'
base: /
typo3Language: de
locale: de_DE.UTF-8
iso-639-1: de
navigationTitle: Deutsch
hreflang: de-DE
direction: ''
flag: de
errorHandling:
- errorCode: '404'
errorHandler: Page
errorContentSource: 't3://page?uid=608'
routes: { }
routeEnhancers:
TeamPlugin:
type: Extbase
extension: EpProducts
plugin: teammembers
limitToPages: [1488]
routes:
- { routePath: '/{teamer_name}', _controller: 'Team::show', _arguments: {'teamer_name': 'member'} }
defaultController: 'Team::show'
aspects:
teamer_name:
type: PersistedAliasMapper
tableName: 'tx_epproducts_domain_model_teammember'
routeFieldName: 'path_segment'
+24
View File
@@ -0,0 +1,24 @@
rootPageId: 14
base: 'https://www.ski-wochenenden.de'
baseVariants:
- base: 'https://ski-wochenenden.burn.dpn'
condition: 'applicationContext == "Development"'
languages:
- title: Deutsch
enabled: true
languageId: '0'
base: /
typo3Language: de
locale: de_DE.UTF-8
iso-639-1: de
navigationTitle: Deutsch
hreflang: de-DE
direction: ''
flag: de
errorHandling:
- errorCode: '404'
errorHandler: Page
errorContentSource: 't3://page?uid=608'
routes: { }
routeEnhancers: { }
+37
View File
@@ -0,0 +1,37 @@
rootPageId: 25
base: 'https://www.snowzone.net'
baseVariants:
- base: 'https://snowzone.burn.dpn'
condition: 'applicationContext == "Development"'
languages:
- title: Deutsch
enabled: true
languageId: '0'
base: /
typo3Language: de
locale: de_DE.UTF-8
iso-639-1: de
navigationTitle: Deutsch
hreflang: de-DE
direction: ''
flag: de
errorHandling:
- errorCode: '404'
errorHandler: Page
errorContentSource: 't3://page?uid=608'
routes: { }
routeEnhancers:
TeamPlugin:
type: Extbase
extension: EpProducts
plugin: teammembers
limitToPages: [1619]
routes:
- { routePath: '/{teamer_name}', _controller: 'Team::show', _arguments: {'teamer_name': 'member'} }
defaultController: 'Team::show'
aspects:
teamer_name:
type: PersistedAliasMapper
tableName: 'tx_epproducts_domain_model_teammember'
routeFieldName: 'path_segment'
+37
View File
@@ -0,0 +1,37 @@
rootPageId: 26
base: 'https://www.unichamp.de'
baseVariants:
- base: 'https://unichamp.burn.dpn'
condition: 'applicationContext == "Development"'
languages:
- title: Deutsch
enabled: true
languageId: '0'
base: /
typo3Language: de
locale: de_DE.UTF-8
iso-639-1: de
navigationTitle: Deutsch
hreflang: de-DE
direction: ''
flag: de
errorHandling:
- errorCode: '404'
errorHandler: Page
errorContentSource: 't3://page?uid=608'
routes: { }
routeEnhancers:
TeamPlugin:
type: Extbase
extension: EpProducts
plugin: teammembers
limitToPages: [1620]
routes:
- { routePath: '/{teamer_name}', _controller: 'Team::show', _arguments: {'teamer_name': 'member'} }
defaultController: 'Team::show'
aspects:
teamer_name:
type: PersistedAliasMapper
tableName: 'tx_epproducts_domain_model_teammember'
routeFieldName: 'path_segment'
+9 -5
View File
@@ -4,7 +4,7 @@ namespace Deployer;
require 'recipe/typo3.php';
set('typo3_webroot', 'web');
set('application', 'typo3-deployer');
set('application', 'ep-reisen-typo3');
set('repository', '[email protected]:dreipunktnull/ep-reisen-web');
set('git_tty', true);
@@ -17,6 +17,10 @@ add('shared_files', [
'{{typo3_webroot}}/typo3conf/LocalConfiguration.php'
]);
add('shared_dirs', [
'config/sites',
]);
host('production')
->hostname('host.3punkt0.com')
->user('ep-reisen')
@@ -35,15 +39,15 @@ task('build', function () {
task('upload:epevents', function () {
upload(
__DIR__ . '/web/typo3conf/ext/ep_events/Resources/Public/',
'{{release_path}}/web/typo3conf/ext/ep_events/Resources/Public'
__DIR__ . '/public/typo3conf/ext/ep_events/Resources/Public/',
'{{release_path}}/public/typo3conf/ext/ep_events/Resources/Public'
);
});
task('upload:eptheme', function () {
upload(
__DIR__ . '/web/typo3conf/ext/ep_theme/Resources/Public/',
'{{release_path}}/web/typo3conf/ext/ep_theme/Resources/Public'
__DIR__ . '/public/typo3conf/ext/ep_theme/Resources/Public/',
'{{release_path}}/public/typo3conf/ext/ep_theme/Resources/Public'
);
});
+825 -1203
View File
File diff suppressed because it is too large Load Diff
View File
@@ -98,8 +98,8 @@ class AjaxFormController extends ActionController
*/
protected function errorAction() {
$formErrors = [];
if ($this->arguments->getValidationResults()->hasErrors()) {
foreach ($this->arguments->getValidationResults()->getFlattenedErrors() as $key => $errors)
if ($this->arguments->validate()->hasErrors()) {
foreach ($this->arguments->validate()->getFlattenedErrors() as $key => $errors)
{
$key = str_replace('.', '', $key);
$errorsRaw = [];
@@ -114,6 +114,7 @@ class AjaxFormController extends ActionController
$response['status'] = 'validation';
$response['errors'] = $formErrors;
return json_encode($response);
}
@@ -89,22 +89,22 @@ class Inquiry extends AbstractValueObject
/**
* @var string
*
* @validate NotEmpty
* @TYPO3\CMS\Extbase\Annotation\Validate("NotEmpty")
*/
protected $name;
/**
* @var string
*
* @validate NotEmpty
* @validate EmailAddress
* @TYPO3\CMS\Extbase\Annotation\Validate("NotEmpty")
* @TYPO3\CMS\Extbase\Annotation\Validate("EmailAddress")
*/
protected $email;
/**
* @var string
*
* @validate NotEmpty
* @TYPO3\CMS\Extbase\Annotation\Validate("NotEmpty")
*/
protected $phone;
@@ -0,0 +1,121 @@
<?php
namespace EP\EpEvents\Updates;
use GeorgRinger\News\Service\Transliterator\Transliterator;
use TYPO3\CMS\Core\Database\ConnectionPool;
use TYPO3\CMS\Core\Database\Query\QueryBuilder;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Install\Updates\DatabaseUpdatedPrerequisite;
use TYPO3\CMS\Install\Updates\UpgradeWizardInterface;
class ActivitySlugUpdater implements UpgradeWizardInterface
{
/**
* @return string
*/
public function getTitle(): string
{
return 'Updates slug field "path_segment" of EXT:ep_events activity records';
}
/**
* @return string
*/
public function getDescription(): string
{
return 'Fills empty slug field "path_segment" of EXT:ep_events records with urlized name.';
}
/**
* @return string
*/
public function getIdentifier(): string
{
return 'activitySlug';
}
/**
* @return bool
*/
public function updateNecessary(): bool
{
$elementCount = $this->countRequiredUpdates();
return (bool)$elementCount;
}
/**
* @return bool
*/
public function executeUpdate(): bool
{
$queryBuilder = $this->getQueryBuilder();
$statement = $queryBuilder->select('uid', 'name')
->from('tx_epevents_domain_model_activity')
->where(
$queryBuilder->expr()->orX(
$queryBuilder->expr()->eq(
'path_segment',
$queryBuilder->createNamedParameter('')
),
$queryBuilder->expr()->isNull('path_segment')
)
)
->execute();
while ($record = $statement->fetch()) {
$slug = Transliterator::urlize($record['name']);
$queryBuilder = $this->getQueryBuilder();
$queryBuilder->update('tx_epevents_domain_model_activity')
->where(
$queryBuilder->expr()->eq(
'uid',
$queryBuilder->createNamedParameter($record['uid'], \PDO::PARAM_INT)
)
)
->set('path_segment', $slug);
$queryBuilder->execute();
}
return true;
}
protected function countRequiredUpdates(): int
{
$queryBuilder = $this->getQueryBuilder();
return $queryBuilder->count('uid')
->from('tx_epevents_domain_model_activity')
->where(
$queryBuilder->expr()->orX(
$queryBuilder->expr()->eq(
'path_segment',
$queryBuilder->createNamedParameter('')
),
$queryBuilder->expr()->isNull('path_segment')
)
)
->execute()->fetchColumn();
}
protected function getQueryBuilder(): QueryBuilder
{
/** @var QueryBuilder $queryBuilder */
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)
->getQueryBuilderForTable('tx_epevents_domain_model_activity');
$queryBuilder->getRestrictions()->removeAll();
return $queryBuilder;
}
/**
* @return string[]
*/
public function getPrerequisites(): array
{
return [
DatabaseUpdatedPrerequisite::class,
];
}
}
@@ -28,8 +28,8 @@ namespace EP\EpEvents\ViewHelpers;
***************************************************************/
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper;
use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface;
use TYPO3Fluid\Fluid\Core\ViewHelper\AbstractViewHelper;
use TYPO3Fluid\Fluid\Core\ViewHelper\Traits\CompileWithRenderStatic;
class ConfiguratorTypeLabelsViewHelper extends AbstractViewHelper
@@ -68,6 +68,7 @@ class ConfiguratorTypeLabelsViewHelper extends AbstractViewHelper
{
$types[] = $config[$type][$index];
}
return implode(', ', $types);
}
}
@@ -27,8 +27,8 @@ namespace EP\EpEvents\ViewHelpers;
* This copyright notice MUST APPEAR in all copies of the script!
***************************************************************/
use TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper;
use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface;
use TYPO3Fluid\Fluid\Core\ViewHelper\AbstractViewHelper;
use TYPO3Fluid\Fluid\Core\ViewHelper\Traits\CompileWithRenderStatic;
class SectionCssClassViewHelper extends AbstractViewHelper
@@ -27,8 +27,8 @@ namespace EP\EpEvents\ViewHelpers;
* This copyright notice MUST APPEAR in all copies of the script!
***************************************************************/
use TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper;
use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface;
use TYPO3Fluid\Fluid\Core\ViewHelper\AbstractViewHelper;
use TYPO3Fluid\Fluid\Core\ViewHelper\Traits\CompileWithRenderStatic;
class SectionIconViewHelper extends AbstractViewHelper
@@ -27,8 +27,8 @@ namespace EP\EpEvents\ViewHelpers;
* This copyright notice MUST APPEAR in all copies of the script!
***************************************************************/
use TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper;
use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface;
use TYPO3Fluid\Fluid\Core\ViewHelper\AbstractViewHelper;
use TYPO3Fluid\Fluid\Core\ViewHelper\Traits\CompileWithRenderStatic;
class SoftHyphenViewHelper extends AbstractViewHelper
@@ -0,0 +1,37 @@
<?php
defined('TYPO3_MODE') or die();
call_user_func(function() {
$budgetItems = $paxItems = $periodItems = [
['keine Auswahl', 0]
];
$extensionConfiguration = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Configuration\ExtensionConfiguration::class)->get('ep_events');
$budgetItemsConfig = explode(';', $extensionConfiguration['configuratorBudgetOptions']);
foreach ($budgetItemsConfig as $item)
{
[$value, $label] = explode(':', $item);
$budgetItems[] = [$label, $value];
}
$GLOBALS['TCA']['tx_epevents_domain_model_offer']['columns']['configurator_budget']['config']['items'] = $budgetItems;
$paxItemsConfig = explode(';', $extensionConfiguration['configuratorPaxOptions']);
foreach ($paxItemsConfig as $item)
{
[$value, $label] = explode(':', $item);
$paxItems[] = [$label, $value];
}
$GLOBALS['TCA']['tx_epevents_domain_model_offer']['columns']['configurator_pax']['config']['items'] = $paxItems;
$periodItemsConfig = explode(';', $extensionConfiguration['configuratorPeriodOptions']);
foreach ($periodItemsConfig as $item)
{
[$value, $label] = explode(':', $item);
$periodItems[] = [$label, $value];
}
$GLOBALS['TCA']['tx_epevents_domain_model_offer']['columns']['configurator_period']['config']['items'] = $periodItems;
});
@@ -18,12 +18,13 @@ return [
'starttime' => 'starttime',
'endtime' => 'endtime',
],
'searchFields' => 'name,name_internal,description,image_teaser,image_header,image_offer,configurator_type,',
'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',
keywords, description, bannertext, footertext, image_teaser, image_header, image_offer, configurator_type,
path_segment',
],
'types' => [
'1' => [
@@ -35,7 +36,7 @@ return [
],
'palettes' => [
'general' => ['showitem' => 'configurator_type, hidden'],
'naming' => ['showitem' => 'name, name_internal'],
'naming' => ['showitem' => 'name, name_internal, --linebreak--, path_segment'],
],
'columns' => [
'sys_language_uid' => [
@@ -304,5 +305,21 @@ return [
'eval' => ''
],
],
'path_segment' => [
'exclude' => 0,
'label' => 'Pfadsegment',
'config' => [
'type' => 'slug',
'generatorOptions' => [
'fields' => ['name'],
'prefixParentPageSlug' => false,
'replacements' => [
'/' => '-',
],
],
'fallbackCharacter' => '-',
'eval' => 'uniqueInSite',
],
],
],
];
@@ -1,4 +1,4 @@
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:fluid_styled_content/Configuration/TypoScript/setup.txt">
@import "EXT:fluid_styled_content/Configuration/TypoScript/setup.typoscript"
lib.contentElement {
layoutRootPaths.20 = EXT:ep_events/Resources/Private/Layouts/FluidStyledContent
@@ -0,0 +1 @@
@import "EXT:form/Configuration/TypoScript/setup.typoscript"
@@ -1,4 +1,4 @@
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:news/Configuration/TypoScript/setup.txt">
@import "EXT:news/Configuration/TypoScript/setup.txt"
plugin.tx_news {
view {
@@ -113,10 +113,10 @@ page {
headerData.999.stdWrap.if.isTrue = {$plugin.tx_epevents.settings.googleTagManagerId}
}
[globalVar = TSFE:page|doktype = 101]
[page["doktype"] == 101]
page.stdWrap.addPageCacheTags = category_page,epevents_page
[end]
[END]
[globalVar = TSFE:page|doktype = 102]
[page["doktype"] == 102]
page.stdWrap.addPageCacheTags = offer_page,epevents_page
[end]
[END]
@@ -57,6 +57,5 @@ plugin.tx_epevents {
}
}
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:fluid_styled_content/Configuration/TypoScript/constants.txt">
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:form_legacy/Configuration/TypoScript/constants.txt">
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:news/Configuration/TypoScript/constants.txt">
@import "EXT:fluid_styled_content/Configuration/TypoScript/constants.typoscript"
@import "EXT:news/Configuration/TypoScript/constants.txt"
@@ -1,16 +1,16 @@
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_events/Configuration/TypoScript/Extensions/FluidStyledContent.typoscript">
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_events/Configuration/TypoScript/Extensions/Form.typoscript">
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_events/Configuration/TypoScript/Extensions/News.typoscript">
@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"
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_events/Configuration/TypoScript/Library/DynamicContent.typoscript">
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_events/Configuration/TypoScript/Library/ParseFunc.typoscript">
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_events/Configuration/TypoScript/Library/SearchForm.typoscript">
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_events/Configuration/TypoScript/Library/Configurator.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"
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_events/Configuration/TypoScript/ContentElements/banner.typoscript">
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_events/Configuration/TypoScript/ContentElements/herounit.typoscript">
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_events/Configuration/TypoScript/ContentElements/statement.typoscript">
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_events/Configuration/TypoScript/ContentElements/tile.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"
plugin.tx_epevents {
features {
@@ -81,9 +81,9 @@ lib.parseFunc_RTE {
tt_content.stdWrap.innerWrap >
lib.stdheader.3.headerClass >
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_events/Configuration/TypoScript/Page/Main.typoscript">
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_events/Configuration/TypoScript/Page/Ajax.typoscript">
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_events/Configuration/TypoScript/Page/XMLSitemap.typoscript">
@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/XMLSitemap.typoscript"
config {
doctype = html5

Some files were not shown because too many files have changed in this diff Show More