89 if ($this->contentObject !== NULL) {
104 $this->configurationCache = array();
107 $this->configuration = $this->typoScriptService->convertTypoScriptArrayToPlainArray(
$configuration);
122 $configurationCacheKey = strtolower((
$extensionName ?: $this->extensionName) .
'_' . (
$pluginName ?: $this->pluginName));
123 if (isset($this->configurationCache[$configurationCacheKey])) {
124 return $this->configurationCache[$configurationCacheKey];
127 if (!isset($frameworkConfiguration[
'persistence'][
'storagePid'])) {
135 if (isset($this->configuration[
'switchableControllerActions'])) {
148 if (!empty($frameworkConfiguration[
'persistence'][
'storagePid'])) {
149 if (is_array($frameworkConfiguration[
'persistence'][
'storagePid'])) {
155 if (!$this->environmentService->isEnvironmentInFrontendMode()) {
158 $conf = $this->typoScriptService->convertPlainArrayToTypoScriptArray($frameworkConfiguration[
'persistence']);
159 $frameworkConfiguration[
'persistence'][
'storagePid'] =
$GLOBALS[
'TSFE']->cObj->stdWrap($conf[
'storagePid'], $conf[
'storagePid.']);
160 if (!$this->environmentService->isEnvironmentInFrontendMode()) {
165 if (!empty($frameworkConfiguration[
'persistence'][
'recursive'])) {
169 array_walk($storagePids,
function (&$storagePid) {
170 if ($storagePid > 0) {
171 $storagePid = -$storagePid;
175 implode(
',', $storagePids),
176 (
int)$frameworkConfiguration[
'persistence'][
'recursive']
181 $this->configurationCache[$configurationCacheKey] = $frameworkConfiguration;
182 return $frameworkConfiguration;
192 $extbaseConfiguration = array();
193 if (isset($setup[
'config.'][
'tx_extbase.'])) {
194 $extbaseConfiguration = $this->typoScriptService->convertTypoScriptArrayToPlainArray($setup[
'config.'][
'tx_extbase.']);
196 return $extbaseConfiguration;
205 return self::DEFAULT_BACKEND_STORAGE_PID;
214 $overriddenSwitchableControllerActions = array();
215 foreach ($switchableControllerActions as $controllerName => $actions) {
216 if (!isset($frameworkConfiguration[
'controllerConfiguration'][$controllerName])) {
219 $overriddenSwitchableControllerActions[$controllerName] = array(
'actions' => $actions);
220 $nonCacheableActions = $frameworkConfiguration[
'controllerConfiguration'][$controllerName][
'nonCacheableActions'];
221 if (!is_array($nonCacheableActions)) {
226 $overriddenNonCacheableActions = array_intersect($nonCacheableActions, $actions);
227 if (!empty($overriddenNonCacheableActions)) {
228 $overriddenSwitchableControllerActions[$controllerName][
'nonCacheableActions'] = $overriddenNonCacheableActions;
231 $frameworkConfiguration[
'controllerConfiguration'] = $overriddenSwitchableControllerActions;
static resetFrontendEnvironment()
static mergeRecursiveWithOverrule(array &$original, array $overrule, $addKeys=TRUE, $includeEmptyValues=TRUE, $enableUnsetFeature=TRUE)
getExtbaseConfiguration()
getContextSpecificFrameworkConfiguration(array $frameworkConfiguration)
static simulateFrontendEnvironment(\TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer $cObj=NULL)
static intExplode($delimiter, $string, $removeEmptyValues=FALSE, $limit=0)
getDefaultBackendStoragePid()
getConfiguration($extensionName=NULL, $pluginName=NULL)
const DEFAULT_BACKEND_STORAGE_PID
getSwitchableControllerActions($extensionName, $pluginName)
if(!defined('TYPO3_MODE')) $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_userauth.php']['logoff_pre_processing'][]
getPluginConfiguration($extensionName, $pluginName=NULL)
setConfiguration(array $configuration=array())
getRecursiveStoragePids($storagePid, $recursionDepth=0)
overrideSwitchableControllerActions(array &$frameworkConfiguration, array $switchableControllerActions)
setContentObject(\TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer $contentObject=NULL)