19
19
use TYPO3 \CMS \Core \TypoScript \AST \Node \RootNode ;
20
20
use TYPO3 \CMS \Core \Utility \GeneralUtility ;
21
21
use TYPO3 \CMS \Core \Database \ConnectionPool ;
22
+ use TYPO3 \CMS \Core \Information \Typo3Version ;
22
23
23
24
class PlainRenderingMiddleware implements MiddlewareInterface
24
25
{
@@ -32,31 +33,56 @@ public function process(ServerRequestInterface $request, RequestHandlerInterface
32
33
return $ handler ->handle ($ request );
33
34
}
34
35
36
+ // get frontend typoscript
35
37
$ 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
-
43
38
// prepare rendering overwrite
44
39
// set UID
45
40
$ 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 ' ,
51
46
'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
+ ]
54
52
]
55
53
];
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
+ }
57
84
58
85
$ request = $ request ->withAttribute ('frontend.typoscript ' , $ frontendTyposcript );
59
-
60
86
return $ handler ->handle ($ request );
61
87
}
62
88
}
0 commit comments