Skip to content

Commit 43187b5

Browse files
committed
#156 Code checkup for TYPO3 v12 compatibility
1 parent 4ebb5ce commit 43187b5

File tree

2 files changed

+43
-17
lines changed

2 files changed

+43
-17
lines changed

Classes/Middleware/PlainRenderingMiddleware.php

Lines changed: 42 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
use TYPO3\CMS\Core\TypoScript\AST\Node\RootNode;
2020
use TYPO3\CMS\Core\Utility\GeneralUtility;
2121
use TYPO3\CMS\Core\Database\ConnectionPool;
22+
use TYPO3\CMS\Core\Information\Typo3Version;
2223

2324
class PlainRenderingMiddleware implements MiddlewareInterface
2425
{
@@ -32,31 +33,56 @@ public function process(ServerRequestInterface $request, RequestHandlerInterface
3233
return $handler->handle($request);
3334
}
3435

36+
// get frontend typoscript
3537
$frontendTyposcript = $request->getAttribute('frontend.typoscript');
36-
37-
$configArray = $frontendTyposcript->getConfigArray();
38-
$configArray['debug'] = 0;
39-
$configArray['disableAllHeaderCode'] = 1;
40-
$configArray['disableCharsetHeader'] = 0;
41-
$frontendTyposcript->setConfigArray($configArray);
42-
4338
// prepare rendering overwrite
4439
// set UID
4540
$uid = $request->getQueryParams()[self::namespace]['content'];
46-
47-
$pageArray = $frontendTyposcript->getPageArray();
48-
$pageArray['10'] = 'COA';
49-
$pageArray['10.'] = [
50-
'10' => 'RECORDS',
41+
// get current typo3 version
42+
$version = GeneralUtility::makeInstance(Typo3Version::class)->getMajorVersion();
43+
// prepare page rendering
44+
$pageArray = [
45+
'10' => 'COA',
5146
'10.' => [
52-
'tables' => 'tt_content',
53-
'source' => "tt_content_{$uid}"
47+
'10' => 'RECORDS',
48+
'10.' => [
49+
'tables' => 'tt_content',
50+
'source' => "tt_content_{$uid}"
51+
]
5452
]
5553
];
56-
$frontendTyposcript->setPageArray($pageArray);
54+
// get frontend typoscript
55+
$setup = $frontendTyposcript->getSetupArray();
56+
// change fluid Layout to remove Wrap
57+
if (isset($setup['lib.']['contentElement.'])) $setup['lib.']['contentElement.']['layoutRootPaths.'][999] = 'EXT:dp_cookieconsent/Resources/Private/Overwrite/Layouts/';
58+
// TODO Check: Working T3 v 13?
59+
if ($version >= 13) {
60+
$configArray = $frontendTyposcript->getConfigArray();
61+
$configArray = array_merge($configArray, [
62+
'debug' => 0,
63+
'disableAllHeaderCode' => 1,
64+
'disableCharsetHeader' => 0
65+
]);
66+
// disable svgstore
67+
if (isset($configArray['svgstore.'])) $configArray['svgstore.']['enabled'] = 0;
68+
$frontendTyposcript->setSetupArray($setup);
69+
$frontendTyposcript->setConfigArray($configArray);
70+
$frontendTyposcript->setPageArray($pageArray);
71+
} else {
72+
// fallback to older TYPO3 versions
73+
$setup['config.'] = array_merge($setup['config.'], [
74+
'debug' => 0,
75+
'disableAllHeaderCode' => 1,
76+
'disableCharsetHeader' => 0
77+
]);
78+
// disable svgstore
79+
if (isset($setup['config.']['svgstore.'])) $setup['config.']['svgstore.']['enabled'] = 0;
80+
// set TypoScript updates
81+
$frontendTyposcript->setSetupArray($setup);
82+
$controller->pSetup = $pageArray;
83+
}
5784

5885
$request = $request->withAttribute('frontend.typoscript', $frontendTyposcript);
59-
6086
return $handler->handle($request);
6187
}
6288
}

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
"AGPL-3.0-or-later"
2626
],
2727
"require": {
28-
"typo3/cms-core": "^10.4.0||^11.5.0||^12.4.0||^13.4.0||dev-master||dev-main"
28+
"typo3/cms-core": "^12.4.0||^13.4.0||dev-main"
2929
},
3030
"replace": {
3131
"typo3-ter/dp_cookieconsent": "self.version"

0 commit comments

Comments
 (0)