-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathext_localconf.php
79 lines (67 loc) · 3.62 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
<?php
declare(strict_types=1);
use PSB\PsbFoundation\EventListener\CacheConfigurationBuilder;
use PSB\PsbFoundation\Service\Configuration\PageTypeService;
use PSB\PsbFoundation\Service\Configuration\PluginService;
use PSB\PsbFoundation\Service\ExtensionInformationService;
use PSB\PsbFoundation\Service\GlobalVariableProviders\EarlyAccessConstantsProvider;
use PSB\PsbFoundation\Service\GlobalVariableProviders\RequestParameterProvider;
use PSB\PsbFoundation\Service\GlobalVariableProviders\SiteConfigurationProvider;
use PSB\PsbFoundation\Service\GlobalVariableService;
use PSB\PsbFoundation\Service\Typo3\LanguageServiceFactory;
use PSB\PsbFoundation\Utility\Configuration\FilePathUtility;
use PSB\PsbFoundation\Utility\FileUtility;
use TYPO3\CMS\Core\Core\Environment;
use TYPO3\CMS\Core\Localization\LanguageServiceFactory as Typo3LanguageServiceFactory;
use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
use TYPO3\CMS\Core\Utility\GeneralUtility;
defined('TYPO3') or die();
(static function() {
// Overwrite LanguageServiceFactory to implement usage of plural forms in translations.
$GLOBALS['TYPO3_CONF_VARS']['SYS']['Objects'][Typo3LanguageServiceFactory::class] = [
'className' => LanguageServiceFactory::class,
];
GlobalVariableService::registerGlobalVariableProvider(EarlyAccessConstantsProvider::class);
GlobalVariableService::registerGlobalVariableProvider(RequestParameterProvider::class);
GlobalVariableService::registerGlobalVariableProvider(SiteConfigurationProvider::class);
// configure all plugins of those extensions which provide an ExtensionInformation-class and add TypoScript if missing
$extensionInformationService = GeneralUtility::makeInstance(ExtensionInformationService::class);
$pageTypeService = GeneralUtility::makeInstance(PageTypeService::class);
$pluginService = GeneralUtility::makeInstance(PluginService::class);
foreach ($extensionInformationService->getAllExtensionInformation() as $extensionInformation) {
$pageTypeService->addToDragArea($extensionInformation);
$pluginService->configurePlugins($extensionInformation);
foreach ([
'user',
'User',
] as $filename) {
$userTsConfigFilename = FilePathUtility::EXTENSION_DIRECTORY_PREFIX . $extensionInformation->getExtensionKey(
) . '/Configuration/' . $filename . '.tsconfig';
if (FileUtility::fileExists($userTsConfigFilename)) {
ExtensionManagementUtility::addUserTSConfig('@import \'' . $userTsConfigFilename . '\'');
}
}
}
if (file_exists(Environment::getVarPath() . CacheConfigurationBuilder::FILE_PATHS['TSCONFIG'])) {
$fileContents = file_get_contents(
Environment::getVarPath() . CacheConfigurationBuilder::FILE_PATHS['TSCONFIG']
);
if (!empty(trim($fileContents))) {
$GLOBALS['TYPO3_CONF_VARS']['BE']['defaultPageTSconfig'] .= LF . file_get_contents(
Environment::getVarPath() . CacheConfigurationBuilder::FILE_PATHS['TSCONFIG']
);
}
}
if (file_exists(Environment::getVarPath() . CacheConfigurationBuilder::FILE_PATHS['TYPOSCRIPT'])) {
$fileContents = file_get_contents(
Environment::getVarPath() . CacheConfigurationBuilder::FILE_PATHS['TYPOSCRIPT']
);
if (!empty(trim($fileContents))) {
ExtensionManagementUtility::addTypoScriptSetup(
file_get_contents(
Environment::getVarPath() . CacheConfigurationBuilder::FILE_PATHS['TYPOSCRIPT']
)
);
}
}
})();