2 if (!defined ('TYPO3_MODE')) die ('Access denied.');
4 require_once(t3lib_extMgm
::extPath('extbase') . 'Classes/MVC/Dispatcher.php');
5 require_once(t3lib_extMgm
::extPath('extbase') . 'Classes/Utility/Extension.php');
7 // Register caches if not already done in localconf.php or a previously loaded extension.
8 // We do not set frontend and backend: The cache manager uses t3lib_cache_frontend_VariableFrontend
9 // and t3lib_cache_backend_DbBackend by default if not set otherwise.
10 // This default is perfectly fine for our reflection and object cache.
11 if (!is_array($GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['extbase_reflection'])) {
12 $GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['extbase_reflection'] = array();
14 if (!is_array($GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['extbase_object'])) {
15 $GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['extbase_object'] = array();
17 if (!is_array($GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['extbase_typo3dbbackend_tablecolumns'])) {
18 $GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['extbase_typo3dbbackend_tablecolumns'] = array();
20 if (!is_array($GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['extbase_datamapfactory_datamap'])) {
21 $GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['extbase_datamapfactory_datamap'] = array();
24 // We need to set the default implementation for Storage Backend & Query Settings
25 // the code below is NO PUBLIC API! It's just to make sure that
26 // Extbase works correctly in the backend if the page tree is empty or no
27 // template is defined.
28 $extbaseObjectContainer = t3lib_div
::makeInstance('Tx_Extbase_Object_Container_Container'); // Singleton
29 $extbaseObjectContainer->registerImplementation('Tx_Extbase_Persistence_Storage_BackendInterface', 'Tx_Extbase_Persistence_Storage_Typo3DbBackend');
30 $extbaseObjectContainer->registerImplementation('Tx_Extbase_Persistence_QuerySettingsInterface', 'Tx_Extbase_Persistence_Typo3QuerySettings');
31 unset($extbaseObjectContainer);
33 // Register type converters
34 Tx_Extbase_Utility_Extension
::registerTypeConverter('Tx_Extbase_Property_TypeConverter_ArrayConverter');
35 Tx_Extbase_Utility_Extension
::registerTypeConverter('Tx_Extbase_Property_TypeConverter_BooleanConverter');
36 Tx_Extbase_Utility_Extension
::registerTypeConverter('Tx_Extbase_Property_TypeConverter_DateTimeConverter');
37 Tx_Extbase_Utility_Extension
::registerTypeConverter('Tx_Extbase_Property_TypeConverter_FloatConverter');
38 Tx_Extbase_Utility_Extension
::registerTypeConverter('Tx_Extbase_Property_TypeConverter_IntegerConverter');
39 Tx_Extbase_Utility_Extension
::registerTypeConverter('Tx_Extbase_Property_TypeConverter_ObjectStorageConverter');
40 Tx_Extbase_Utility_Extension
::registerTypeConverter('Tx_Extbase_Property_TypeConverter_PersistentObjectConverter');
41 Tx_Extbase_Utility_Extension
::registerTypeConverter('Tx_Extbase_Property_TypeConverter_StringConverter');
43 // Experimental FAL<->extbase converters
44 Tx_Extbase_Utility_Extension
::registerTypeConverter('Tx_Extbase_Property_TypeConverter_FileConverter');
45 Tx_Extbase_Utility_Extension
::registerTypeConverter('Tx_Extbase_Property_TypeConverter_FileReferenceConverter');
46 Tx_Extbase_Utility_Extension
::registerTypeConverter('Tx_Extbase_Property_TypeConverter_FolderBasedFileCollectionConverter');
47 Tx_Extbase_Utility_Extension
::registerTypeConverter('Tx_Extbase_Property_TypeConverter_StaticFileCollectionConverter');
48 Tx_Extbase_Utility_Extension
::registerTypeConverter('Tx_Extbase_Property_TypeConverter_FolderConverter');
50 # $GLOBALS ['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processDatamapClass'][] = 'EXT:extbase/Classes/Persistence/Hook/TCEMainValueObjectUpdater.php:tx_Extbase_Persistence_Hook_TCEMainValueObjectUpdater';
52 if (TYPO3_MODE
=== 'BE') {
53 // registers Extbase at the cli_dispatcher with key "extbase".
54 $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['GLOBAL']['cliKeys']['extbase'] = array(
55 'EXT:extbase/Scripts/CommandLineLauncher.php',
58 // register help command
59 $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['extbase']['commandControllers'][] = 'Tx_Extbase_Command_HelpCommandController';