TYPO3 CMS  TYPO3_6-2
TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager Class Reference
Inheritance diagram for TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager:
TYPO3\CMS\Core\SingletonInterface Tx_Extbase_Configuration_AbstractConfigurationManager TYPO3\CMS\Extbase\Configuration\BackendConfigurationManager TYPO3\CMS\Extbase\Configuration\FrontendConfigurationManager Tx_Extbase_Configuration_BackendConfigurationManager Tx_Extbase_Configuration_FrontendConfigurationManager

Public Member Functions

 setContentObject (\TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer $contentObject=NULL)
 
 getContentObject ()
 
 setConfiguration (array $configuration=array())
 
 getConfiguration ($extensionName=NULL, $pluginName=NULL)
 
 getDefaultBackendStoragePid ()
 
 getTypoScriptSetup ()
 

Public Attributes

const DEFAULT_BACKEND_STORAGE_PID = 0
 

Protected Member Functions

 getExtbaseConfiguration ()
 
 overrideSwitchableControllerActions (array &$frameworkConfiguration, array $switchableControllerActions)
 
 getContextSpecificFrameworkConfiguration (array $frameworkConfiguration)
 
 getPluginConfiguration ($extensionName, $pluginName=NULL)
 
 getSwitchableControllerActions ($extensionName, $pluginName)
 
 getRecursiveStoragePids ($storagePid, $recursionDepth=0)
 

Protected Attributes

 $configuration = array()
 
 $contentObject
 
 $objectManager
 
 $typoScriptService
 
 $extensionName
 
 $pluginName
 
 $configurationCache = array()
 
 $environmentService
 

Detailed Description

This file is part of the TYPO3 CMS project.

It is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, either version 2 of the License, or any later version.

For the full copyright and license information, please read the LICENSE.txt file that was distributed with this source code.

The TYPO3 project - inspiring people to share! Abstract base class for a general purpose configuration manager

Definition at line 19 of file AbstractConfigurationManager.php.

Member Function Documentation

◆ getConfiguration()

TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager::getConfiguration (   $extensionName = NULL,
  $pluginName = NULL 
)

Loads the Extbase Framework configuration.

The Extbase framework configuration HAS TO be retrieved using this method, as they are come from different places than the normal settings. Framework configuration is, in contrast to normal settings, needed for the Extbase framework to operate correctly.

Parameters
string$extensionNameif specified, the configuration for the given extension will be returned (plugin.tx_extensionname)
string$pluginNameif specified, the configuration for the given plugin will be returned (plugin.tx_extensionname_pluginname)
Returns
array the Extbase framework configuration

We simulate the frontend to enable the use of cObjects in stdWrap. Than we convert the configuration to normal TypoScript and apply the stdWrap to the storagePid

Definition at line 120 of file AbstractConfigurationManager.php.

References TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager\$extensionName, $GLOBALS, TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager\$pluginName, TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager\getContentObject(), TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager\getContextSpecificFrameworkConfiguration(), TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager\getDefaultBackendStoragePid(), TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager\getExtbaseConfiguration(), TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager\getPluginConfiguration(), TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager\getRecursiveStoragePids(), TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager\getSwitchableControllerActions(), TYPO3\CMS\Core\Utility\GeneralUtility\intExplode(), TYPO3\CMS\Core\Utility\ArrayUtility\mergeRecursiveWithOverrule(), TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager\overrideSwitchableControllerActions(), TYPO3\CMS\Extbase\Utility\FrontendSimulatorUtility\resetFrontendEnvironment(), and TYPO3\CMS\Extbase\Utility\FrontendSimulatorUtility\simulateFrontendEnvironment().

◆ getContentObject()

◆ getContextSpecificFrameworkConfiguration()

TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager::getContextSpecificFrameworkConfiguration ( array  $frameworkConfiguration)
abstractprotected

The context specific configuration returned by this method will override the framework configuration which was obtained from TypoScript. This can be used f.e. to override the storagePid with the value set inside the Plugin Instance.

WARNING: Make sure this method ALWAYS returns an array!

Parameters
array$frameworkConfigurationThe framework configuration until now
Returns
array context specific configuration which will override the configuration obtained by TypoScript

Referenced by TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager\getConfiguration(), and TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager\overrideSwitchableControllerActions().

◆ getDefaultBackendStoragePid()

TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager::getDefaultBackendStoragePid ( )

Returns the default backend storage pid

Returns
string

Definition at line 204 of file AbstractConfigurationManager.php.

Referenced by TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager\getConfiguration().

◆ getExtbaseConfiguration()

TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager::getExtbaseConfiguration ( )
protected

Returns the TypoScript configuration found in config.tx_extbase

Returns
array

Definition at line 190 of file AbstractConfigurationManager.php.

References TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager\getTypoScriptSetup().

Referenced by TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager\getConfiguration().

◆ getPluginConfiguration()

TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager::getPluginConfiguration (   $extensionName,
  $pluginName = NULL 
)
abstractprotected

Returns the TypoScript configuration found in plugin.tx_yourextension_yourplugin / module.tx_yourextension_yourmodule merged with the global configuration of your extension from plugin.tx_yourextension / module.tx_yourextension

Parameters
string$extensionName
string$pluginNamein FE mode this is the specified plugin name, in BE mode this is the full module signature
Returns
array

Referenced by TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager\getConfiguration(), and TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager\overrideSwitchableControllerActions().

◆ getRecursiveStoragePids()

TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager::getRecursiveStoragePids (   $storagePid,
  $recursionDepth = 0 
)
abstractprotected

The implementation of the methods to return a list of storagePid that are below a certain storage pid.

Parameters
string$storagePidStorage PID to start at; multiple PIDs possible as comma-separated list
integer$recursionDepthMaximum number of levels to search, 0 to disable recursive lookup
Returns
string storage PIDs

Referenced by TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager\getConfiguration(), and TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager\overrideSwitchableControllerActions().

◆ getSwitchableControllerActions()

TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager::getSwitchableControllerActions (   $extensionName,
  $pluginName 
)
abstractprotected

Returns the configured controller/action pairs of the specified plugin/module in the format array( 'Controller1' => array('action1', 'action2'), 'Controller2' => array('action3', 'action4') )

Parameters
string$extensionName
string$pluginNamein FE mode this is the specified plugin name, in BE mode this is the full module signature
Returns
array

Referenced by TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager\getConfiguration(), and TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager\overrideSwitchableControllerActions().

◆ getTypoScriptSetup()

TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager::getTypoScriptSetup ( )
abstract

◆ overrideSwitchableControllerActions()

◆ setConfiguration()

TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager::setConfiguration ( array  $configuration = array())

Sets the specified raw configuration coming from the outside. Note that this is a low level method and only makes sense to be used by Extbase internally.

Parameters
array$configurationThe new configuration
Returns
void

Definition at line 102 of file AbstractConfigurationManager.php.

References TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager\$configuration.

◆ setContentObject()

TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager::setContentObject ( \TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer  $contentObject = NULL)
Parameters
\TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer$contentObject
Returns
void

Definition at line 81 of file AbstractConfigurationManager.php.

References TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager\$contentObject.

Member Data Documentation

◆ $configuration

TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager::$configuration = array()
protected

◆ $configurationCache

TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager::$configurationCache = array()
protected

Definition at line 69 of file AbstractConfigurationManager.php.

◆ $contentObject

TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager::$contentObject
protected

◆ $environmentService

TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager::$environmentService
protected

Definition at line 75 of file AbstractConfigurationManager.php.

◆ $extensionName

◆ $objectManager

TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager::$objectManager
protected

Definition at line 42 of file AbstractConfigurationManager.php.

◆ $pluginName

◆ $typoScriptService

TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager::$typoScriptService
protected

Definition at line 48 of file AbstractConfigurationManager.php.

◆ DEFAULT_BACKEND_STORAGE_PID

const TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager::DEFAULT_BACKEND_STORAGE_PID = 0