2 namespace TYPO3\CMS\Extbase\Configuration;
57 if (!array_key_exists($pageId, $this->typoScriptSetupCache)) {
59 $template = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\TypoScript\TemplateService::class);
61 $template->tt_track = 0;
63 $template->setProcessExtensionStatics(
true);
69 $sysPage = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Frontend\Page\PageRepository::class);
71 $rootline = $sysPage->getRootLine($pageId,
'',
true);
74 $template->runThroughTemplates($rootline, 0);
75 $template->generateConfig();
76 $this->typoScriptSetupCache[$pageId] = $template->setup;
78 return $this->typoScriptSetupCache[$pageId];
92 $pluginConfiguration = array();
93 if (is_array($setup[
'module.'][
'tx_' . strtolower(
$extensionName) .
'.'])) {
94 $pluginConfiguration = $this->typoScriptService->convertTypoScriptArrayToPlainArray($setup[
'module.'][
'tx_' . strtolower(
$extensionName) .
'.']);
98 if (is_array($setup[
'module.'][
'tx_' . $pluginSignature .
'.'])) {
99 $overruleConfiguration = $this->typoScriptService->convertTypoScriptArrayToPlainArray($setup[
'module.'][
'tx_' . $pluginSignature .
'.']);
100 \TYPO3\CMS\Core\Utility\ArrayUtility::mergeRecursiveWithOverrule($pluginConfiguration, $overruleConfiguration);
103 return $pluginConfiguration;
120 if (!is_array($switchableControllerActions)) {
121 $switchableControllerActions = array();
123 return $switchableControllerActions;
134 if ($this->currentPageId !== null) {
140 $this->currentPageId = $this->currentPageId ?: self::DEFAULT_BACKEND_STORAGE_PID;
152 return (
int)\TYPO3\CMS\Core\Utility\GeneralUtility::_GP(
'id');
162 $rootPage =
$GLOBALS[
'TYPO3_DB']->exec_SELECTgetSingleRow(
163 'uid',
'pages',
'deleted=0 AND hidden=0 AND is_siteroot=1',
'',
'sorting'
165 if (empty($rootPage)) {
169 return (
int)$rootPage[
'uid'];
179 $rootTemplate =
$GLOBALS[
'TYPO3_DB']->exec_SELECTgetSingleRow(
180 'pid',
'sys_template',
'deleted=0 AND hidden=0 AND root=1',
'',
'crdate'
182 if (empty($rootTemplate)) {
186 return (
int)$rootTemplate[
'pid'];
209 if (!isset($frameworkConfiguration[
'mvc'][
'requestHandlers'])) {
210 $frameworkConfiguration[
'mvc'][
'requestHandlers'] = array(
211 \TYPO3\CMS\Extbase\Mvc\Web\FrontendRequestHandler::class => \TYPO3\CMS\Extbase\Mvc\Web\FrontendRequestHandler::class,
212 \TYPO3\CMS\Extbase\Mvc\Web\BackendRequestHandler::class => \TYPO3\CMS\Extbase\Mvc\Web\BackendRequestHandler::class
215 return $frameworkConfiguration;
228 if ($recursionDepth <= 0) {
232 $recursiveStoragePids =
'';
233 $storagePids = \TYPO3\CMS\Core\Utility\GeneralUtility::intExplode(
',', $storagePid);
234 foreach ($storagePids as $startPid) {
235 $pids = $this->queryGenerator->getTreeList($startPid, $recursionDepth, 0, 1);
236 if ((
string)$pids !==
'') {
237 $recursiveStoragePids .= $pids .
',';
241 return rtrim($recursiveStoragePids,
',');