55 if (!array_key_exists($pageId, $this->typoScriptSetupCache)) {
57 $template = GeneralUtility::makeInstance(TemplateService::class);
59 $template->tt_track =
false;
61 $template->setProcessExtensionStatics(
true);
66 $rootline = GeneralUtility::makeInstance(RootlineUtility::class, $pageId)->get();
67 }
catch (\RuntimeException $e) {
72 $template->runThroughTemplates($rootline, 0);
73 $template->generateConfig();
74 $this->typoScriptSetupCache[$pageId] = $template->setup;
76 return $this->typoScriptSetupCache[$pageId];
90 $pluginConfiguration = [];
91 if (is_array($setup[
'module.'][
'tx_' . strtolower(
$extensionName) .
'.'] ??
false)) {
92 $pluginConfiguration = $this->typoScriptService->convertTypoScriptArrayToPlainArray($setup[
'module.'][
'tx_' . strtolower(
$extensionName) .
'.']);
96 if (is_array($setup[
'module.'][
'tx_' . $pluginSignature .
'.'] ??
false)) {
97 $overruleConfiguration = $this->typoScriptService->convertTypoScriptArrayToPlainArray($setup[
'module.'][
'tx_' . $pluginSignature .
'.']);
101 return $pluginConfiguration;
118 if (!is_array($switchableControllerActions)) {
119 $switchableControllerActions = [];
121 return $switchableControllerActions;
132 if ($this->currentPageId !==
null) {
150 return (
int)GeneralUtility::_GP(
'id');
160 $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)
161 ->getQueryBuilderForTable(
'pages');
166 ->add(GeneralUtility::makeInstance(DeletedRestriction::class))
167 ->add(GeneralUtility::makeInstance(HiddenRestriction::class));
169 $rootPage = $queryBuilder
173 $queryBuilder->expr()->eq(
'is_siteroot', $queryBuilder->createNamedParameter(1, \PDO::PARAM_INT)),
174 $queryBuilder->expr()->eq(
'sys_language_uid', $queryBuilder->createNamedParameter(0, \PDO::PARAM_INT))
180 if (empty($rootPage)) {
184 return (
int)$rootPage[
'uid'];
194 $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)
195 ->getQueryBuilderForTable(
'sys_template');
200 ->add(GeneralUtility::makeInstance(DeletedRestriction::class))
201 ->add(GeneralUtility::makeInstance(HiddenRestriction::class));
203 $rootTemplate = $queryBuilder
205 ->from(
'sys_template')
207 $queryBuilder->expr()->eq(
'root', $queryBuilder->createNamedParameter(1, \PDO::PARAM_INT))
213 if (empty($rootTemplate)) {
217 return (
int)$rootTemplate[
'pid'];
240 if (!isset($frameworkConfiguration[
'mvc'][
'requestHandlers'])) {
241 $frameworkConfiguration[
'mvc'][
'requestHandlers'] = [
242 FrontendRequestHandler::class => FrontendRequestHandler::class,
243 BackendRequestHandler::class => BackendRequestHandler::class
246 return $frameworkConfiguration;
258 if ($recursionDepth <= 0) {
262 $recursiveStoragePids =
'';
263 $storagePids = GeneralUtility::intExplode(
',', $storagePid);
265 $queryGenerator = GeneralUtility::makeInstance(QueryGenerator::class);
266 foreach ($storagePids as $startPid) {
267 $pids = $queryGenerator->getTreeList($startPid, $recursionDepth, 0, $permsClause);
268 if ((
string)$pids !==
'') {
269 $recursiveStoragePids .= $pids .
',';
273 return rtrim($recursiveStoragePids,
',');