2 namespace TYPO3\CMS\Extbase\Configuration;
44 return $GLOBALS[
'TSFE']->tmpl->setup;
58 $pluginConfiguration = array();
59 if (is_array($setup[
'plugin.'][
'tx_' . strtolower(
$extensionName) .
'.'])) {
60 $pluginConfiguration = $this->typoScriptService->convertTypoScriptArrayToPlainArray($setup[
'plugin.'][
'tx_' . strtolower(
$extensionName) .
'.']);
64 if (is_array($setup[
'plugin.'][
'tx_' . $pluginSignature .
'.'])) {
65 \TYPO3\CMS\Core\Utility\ArrayUtility::mergeRecursiveWithOverrule(
67 $this->typoScriptService->convertTypoScriptArrayToPlainArray($setup[
'plugin.'][
'tx_' . $pluginSignature .
'.'])
71 return $pluginConfiguration;
88 if (!is_array($switchableControllerActions)) {
89 $switchableControllerActions = array();
91 return $switchableControllerActions;
107 return $frameworkConfiguration;
119 $pages = $this->contentObject->data[
'pages'];
120 if (is_string($pages) && $pages !==
'') {
122 if ($this->contentObject->data[
'recursive'] > 0) {
123 $explodedPages = \TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode(
',', $pages);
124 foreach ($explodedPages as $pid) {
125 $list[] = $this->contentObject->getTreeList($pid, $this->contentObject->data[
'recursive']);
129 $pages = $pages .
',' . implode(
',',
$list);
131 \TYPO3\CMS\Core\Utility\ArrayUtility::mergeRecursiveWithOverrule($frameworkConfiguration, array(
132 'persistence' => array(
133 'storagePid' => $pages
137 return $frameworkConfiguration;
149 $pluginSignature = strtolower($frameworkConfiguration[
'extensionName'] .
'_' . $frameworkConfiguration[
'pluginName']);
150 $pluginConfiguration = $setup[
'plugin.'][
'tx_' . $pluginSignature .
'.'];
151 if (is_array($pluginConfiguration)) {
152 $pluginConfiguration = $this->typoScriptService->convertTypoScriptArrayToPlainArray($pluginConfiguration);
157 return $frameworkConfiguration;
169 $flexFormConfiguration = $this->contentObject->data[
'pi_flexform'];
170 if (is_string($flexFormConfiguration)) {
171 if ($flexFormConfiguration !==
'') {
172 $flexFormConfiguration = $this->flexFormService->convertFlexFormContentToArray($flexFormConfiguration);
174 $flexFormConfiguration = array();
177 if (is_array($flexFormConfiguration) && !empty($flexFormConfiguration)) {
183 return $frameworkConfiguration;
196 if (is_array($configuration[$configurationPartName])) {
197 if (is_array($frameworkConfiguration[$configurationPartName])) {
198 \TYPO3\CMS\Core\Utility\ArrayUtility::mergeRecursiveWithOverrule($frameworkConfiguration[$configurationPartName], $configuration[$configurationPartName]);
200 $frameworkConfiguration[$configurationPartName] = $configuration[$configurationPartName];
203 return $frameworkConfiguration;
216 if (!isset($flexFormConfiguration[
'switchableControllerActions']) || is_array($flexFormConfiguration[
'switchableControllerActions'])) {
217 return $frameworkConfiguration;
221 $switchableControllerActionPartsFromFlexForm = \TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode(
',', str_replace(
';',
',', $flexFormConfiguration[
'switchableControllerActions']),
true);
222 $newSwitchableControllerActionsFromFlexForm = array();
223 foreach ($switchableControllerActionPartsFromFlexForm as $switchableControllerActionPartFromFlexForm) {
224 list($controller, $action) = \TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode(
'->', $switchableControllerActionPartFromFlexForm);
225 if (empty($controller) || empty($action)) {
226 throw new \TYPO3\CMS\Extbase\Configuration\Exception\ParseErrorException(
'Controller or action were empty when overriding switchableControllerActions from flexForm.', 1257146403);
228 $newSwitchableControllerActionsFromFlexForm[$controller][] = $action;
230 if (!empty($newSwitchableControllerActionsFromFlexForm)) {
233 return $frameworkConfiguration;
245 if ($recursionDepth <= 0) {
249 $recursiveStoragePids =
'';
250 $storagePids = \TYPO3\CMS\Core\Utility\GeneralUtility::intExplode(
',', $storagePid);
251 foreach ($storagePids as $startPid) {
252 $pids = $this->
getContentObject()->getTreeList($startPid, $recursionDepth, 0);
253 if ((
string)$pids !==
'') {
254 $recursiveStoragePids .= $pids .
',';
257 return rtrim($recursiveStoragePids,
',');