2 declare(strict_types = 1);
43 public function getConfiguration(
string $table,
string $field,
int $pid,
string $recordType, array $tcaFieldConf): array
60 $usePreset = $pageTs[
'preset'] ?? $tcaFieldConf[
'richtextConfiguration'] ??
'default';
72 if (!isset($configuration[
'proc.'][
'mode']) && !isset($configuration[
'proc.'][
'overruleMode'])) {
73 $configuration[
'proc.'][
'overruleMode'] =
'default';
76 return $configuration;
89 if (!empty($presetName) && isset(
$GLOBALS[
'TYPO3_CONF_VARS'][
'RTE'][
'Presets'][$presetName])) {
90 $fileLoader = GeneralUtility::makeInstance(YamlFileLoader::class);
91 $configuration = $fileLoader->load(
$GLOBALS[
'TYPO3_CONF_VARS'][
'RTE'][
'Presets'][$presetName]);
93 if (is_array($configuration[
'processing'])) {
97 return $configuration;
121 $typoScriptArray = [];
122 foreach ($plainArray as $key => $value) {
123 if (is_array($value)) {
124 if (!isset($typoScriptArray[$key])) {
125 $typoScriptArray[$key] = 1;
129 $typoScriptArray[$key] = $value ===
null ?
'' : $value;
132 return $typoScriptArray;
145 foreach ($typoScriptArray as $key => $data) {
146 if (substr($key, -1) !==
'.') {
150 $typoScriptService = GeneralUtility::makeInstance(TypoScriptService::class);
151 $typoScriptArray[substr($key, 0, -1)] = $typoScriptService->convertTypoScriptArrayToPlainArray($typoScriptArray[$key]);
154 return $typoScriptArray;
172 $defaultPageTsConfigOverrides = $fullPageTsConfig[
'default.'] ??
null;
173 $fieldSpecificPageTsConfigOverrides = $fullPageTsConfig[
'config.'][$table .
'.'][$field .
'.'] ??
null;
174 unset($fullPageTsConfig[
'default.'], $fullPageTsConfig[
'config.']);
177 $rtePageTsConfiguration = $fullPageTsConfig;
180 if (is_array($defaultPageTsConfigOverrides)) {
185 if (is_array($fieldSpecificPageTsConfigOverrides)) {
186 $fieldSpecificPageTsConfigOverridesWithoutType = $fieldSpecificPageTsConfigOverrides;
187 unset($fieldSpecificPageTsConfigOverridesWithoutType[
'types.']);
193 && isset($fieldSpecificPageTsConfigOverrides[
'types.'][$recordType .
'.'])
194 && is_array($fieldSpecificPageTsConfigOverrides[
'types.'][$recordType .
'.'])
197 $rtePageTsConfiguration,
198 $fieldSpecificPageTsConfigOverrides[
'types.'][$recordType .
'.']
203 return $rtePageTsConfiguration;