113 if ($this->contentObject !==
null) {
128 $this->configurationCache = [];
131 $this->configuration = $this->typoScriptService->convertTypoScriptArrayToPlainArray(
$configuration);
148 if (isset($this->configurationCache[$configurationCacheKey])) {
149 return $this->configurationCache[$configurationCacheKey];
152 if (!isset($frameworkConfiguration[
'persistence'][
'storagePid'])) {
160 if (isset($this->configuration[
'switchableControllerActions'])) {
173 if (!empty($frameworkConfiguration[
'persistence'][
'storagePid'])) {
174 if (is_array($frameworkConfiguration[
'persistence'][
'storagePid'])) {
178 if (!$this->environmentService->isEnvironmentInFrontendMode()) {
181 $conf = $this->typoScriptService->convertPlainArrayToTypoScriptArray($frameworkConfiguration[
'persistence']);
182 $frameworkConfiguration[
'persistence'][
'storagePid'] =
$GLOBALS[
'TSFE']->cObj->stdWrap($conf[
'storagePid'], $conf[
'storagePid.']);
183 if (!$this->environmentService->isEnvironmentInFrontendMode()) {
188 if (!empty($frameworkConfiguration[
'persistence'][
'recursive'])) {
191 $storagePids = \TYPO3\CMS\Core\Utility\GeneralUtility::intExplode(
',', $frameworkConfiguration[
'persistence'][
'storagePid']);
192 array_walk($storagePids,
function (&$storagePid) {
193 if ($storagePid > 0) {
194 $storagePid = -$storagePid;
198 implode(
',', $storagePids),
199 (
int)$frameworkConfiguration[
'persistence'][
'recursive']
204 $this->configurationCache[$configurationCacheKey] = $frameworkConfiguration;
205 return $frameworkConfiguration;
216 $extbaseConfiguration = [];
217 if (isset($setup[
'config.'][
'tx_extbase.'])) {
218 $extbaseConfiguration = $this->typoScriptService->convertTypoScriptArrayToPlainArray($setup[
'config.'][
'tx_extbase.']);
220 return $extbaseConfiguration;
239 $overriddenSwitchableControllerActions = [];
240 foreach ($switchableControllerActions as $controllerName => $actions) {
241 if (!isset($frameworkConfiguration[
'controllerConfiguration'][$controllerName])) {
244 $overriddenSwitchableControllerActions[$controllerName] = [
'actions' => $actions];
245 $nonCacheableActions = $frameworkConfiguration[
'controllerConfiguration'][$controllerName][
'nonCacheableActions'] ??
null;
246 if (!is_array($nonCacheableActions)) {
251 $overriddenNonCacheableActions = array_intersect($nonCacheableActions, $actions);
252 if (!empty($overriddenNonCacheableActions)) {
253 $overriddenSwitchableControllerActions[$controllerName][
'nonCacheableActions'] = $overriddenNonCacheableActions;
256 $frameworkConfiguration[
'controllerConfiguration'] = $overriddenSwitchableControllerActions;