This repository has been archived by the owner on Aug 9, 2023. It is now read-only.
forked from FluidTYPO3/flux
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ext_localconf.php
88 lines (73 loc) · 5.23 KB
/
ext_localconf.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<?php
if (!defined('TYPO3_MODE')) {
die('Access denied.');
}
if (!(TYPO3_REQUESTTYPE & TYPO3_REQUESTTYPE_INSTALL)) {
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['flux']['setup'] = unserialize($_EXTCONF);
// Globally registered fluid namespace
$GLOBALS['TYPO3_CONF_VARS']['SYS']['fluid']['namespaces']['flux'] = ['FluidTYPO3\\Flux\\ViewHelpers'];
// FormEngine integration between TYPO3 forms and Flux Providers
$GLOBALS['TYPO3_CONF_VARS']['SYS']['formEngine']['formDataGroup']['tcaDatabaseRecord'][\FluidTYPO3\Flux\Backend\FormEngine\ProviderProcessor::class] = array(
'depends' => array(
\TYPO3\CMS\Backend\Form\FormDataProvider\PageTsConfig::class,
\TYPO3\CMS\Backend\Form\FormDataProvider\TcaColumnsProcessCommon::class,
\TYPO3\CMS\Backend\Form\FormDataProvider\TcaColumnsProcessShowitem::class
),
'before' => array(
\TYPO3\CMS\Backend\Form\FormDataProvider\TcaColumnsRemoveUnused::class
)
);
// Various hooks needed to operate Flux
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_befunc.php']['getFlexFormDSClass']['flux'] = \FluidTYPO3\Flux\Backend\DynamicFlexForm::class;
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS'][\TYPO3\CMS\Core\Configuration\FlexForm\FlexFormTools::class]['flexParsing']['flux'] = \FluidTYPO3\Flux\Backend\DynamicFlexForm::class;
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processDatamapClass'][] = \FluidTYPO3\Flux\Backend\TceMain::class;
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processCmdmapClass'][] = \FluidTYPO3\Flux\Backend\TceMain::class;
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['moveRecordClass'][] = \FluidTYPO3\Flux\Backend\TceMain::class;
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['clearCachePostProc'][] = \FluidTYPO3\Flux\Backend\TceMain::class . '->clearCacheCommand';
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms/layout/class.tx_cms_layout.php']['tt_content_drawItem']['flux'] = \FluidTYPO3\Flux\Backend\Preview::class;
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms']['db_new_content_el']['wizardItemsHook']['flux'] = \FluidTYPO3\Flux\Hooks\WizardItemsHookSubscriber::class;
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['GLOBAL']['recStatInfoHooks']['flux'] = \FluidTYPO3\Flux\Hooks\ContentIconHookSubscriber::class . '->addSubIcon';
// The following is a dual registration of the same TCA-manipulating hook; the reason for registering it twice for two
// different hooks is that extTablesInclusion-PostProcessing does not get executed in FE, resulting in errors due to
// features provided by this hook subscriber not being loaded. We use the includeStaticTypoScriptSourcesAtEnd since this
// is the absolutely last possible place we can configure plugins before causing a "Content type XYZ has no rendering
// definition" error in FE output.
if (TYPO3_MODE === 'BE') {
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['GLOBAL']['extTablesInclusion-PostProcessing']['flux'] = \FluidTYPO3\Flux\Backend\TableConfigurationPostProcessor::class;
} else {
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tstemplate.php']['includeStaticTypoScriptSources'][] = \FluidTYPO3\Flux\Backend\TableConfigurationPostProcessor::class . '->processData';
}
if (isset($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['flux']['setup']['listNestedContent']) && !(boolean)$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['flux']['setup']['listNestedContent']) {
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['typo3/class.db_list_extra.inc']['getTable']['flux'] = \FluidTYPO3\Flux\Hooks\RecordListGetTableHookSubscriber::class;
}
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript($_EXTKEY, 'setup', '
plugin.tx_flux.settings {
flexform {
rteDefaults = richtext:rte_transform[flag=rte_enabled|mode=ts_css]
}
}
');
if (TRUE === class_exists(\FluidTYPO3\Flux\Core::class)) {
// native Outlets, replaceable by short name in subsequent registerOutlet() calls by adding second argument (string, name of type)
\FluidTYPO3\Flux\Core::registerOutlet('standard');
// native Pipes, replaceable by short name in subsequent registerPipe() calls by adding second argument (string, name of type)
\FluidTYPO3\Flux\Core::registerPipe('standard');
\FluidTYPO3\Flux\Core::registerPipe('controller');
\FluidTYPO3\Flux\Core::registerPipe('email');
\FluidTYPO3\Flux\Core::registerPipe('flashMessage');
\FluidTYPO3\Flux\Core::registerPipe('typeConverter');
}
/** @var $extbaseObjectContainer \TYPO3\CMS\Extbase\Object\Container\Container */
$extbaseObjectContainer = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Extbase\Object\Container\Container::class);
$extbaseObjectContainer->registerImplementation(\TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface::class, \FluidTYPO3\Flux\Configuration\ConfigurationManager::class);
unset($extbaseObjectContainer);
}
if (!is_array($GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['flux'])) {
$GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['flux'] = array(
'frontend' => \TYPO3\CMS\Core\Cache\Frontend\VariableFrontend::class,
'groups' => array('system'),
'options' => [
'defaultLifetime' => 2592000,
],
);
}