46 'input' => [
'size',
'max',
'readOnly'],
47 'text' => [
'cols',
'rows',
'wrap',
'max',
'readOnly'],
48 'check' => [
'cols',
'readOnly'],
49 'select' => [
'size',
'autoSizeMax',
'maxitems',
'minitems',
'readOnly',
'treeConfig'],
50 'group' => [
'size',
'autoSizeMax',
'max_size',
'maxitems',
'minitems',
'readOnly'],
51 'inline' => [
'appearance',
'behaviour',
'foreign_label',
'foreign_selector',
'foreign_unique',
'maxitems',
'minitems',
'size',
'autoSizeMax',
'symmetric_label',
'readOnly'],
52 'imageManipulation' => [
'ratios',
'cropVariants']
68 if (is_array($TSconfig)) {
69 $TSconfig = GeneralUtility::removeDotsFromTS($TSconfig);
70 $type = $fieldConfig[
'type'] ??
'';
71 if (isset($TSconfig[
'config']) && is_array($TSconfig[
'config']) && is_array(static::$allowOverrideMatrix[$type])) {
73 foreach ($TSconfig[
'config'] as $key => $_) {
74 if (!in_array($key, static::$allowOverrideMatrix[$type],
true)) {
75 unset($TSconfig[
'config'][$key]);
79 if (!empty($TSconfig[
'config'])) {
99 $runtimeCache = GeneralUtility::makeInstance(CacheManager::class)->getCache(
'cache_runtime');
100 $cache = $runtimeCache->get(
'formEngineUtilityTsConfigForTableRow') ?: [];
101 $cacheIdentifier = $table .
':' . $row[
'uid'];
102 if (!isset($cache[$cacheIdentifier])) {
104 $runtimeCache->set(
'formEngineUtilityTsConfigForTableRow', $cache);
106 if ($field && isset($cache[$cacheIdentifier][$field])) {
107 return $cache[$cacheIdentifier][$field];
109 return $cache[$cacheIdentifier];
121 public static function getIconHtml($icon, $alt =
'', $title =
'')
123 $icon = (string)$icon;
124 $absoluteFilePath = GeneralUtility::getFileAbsFileName($icon);
125 if (!empty($absoluteFilePath) && is_file($absoluteFilePath)) {
128 .
' alt="' . htmlspecialchars($alt) .
'" '
129 . ($title ?
'title="' . htmlspecialchars($title) .
'"' :
'')
133 $iconFactory = GeneralUtility::makeInstance(IconFactory::class);
134 return '<span title="' . htmlspecialchars($title) .
'">'
148 $backendUser = static::getBackendUserAuthentication();
149 if (isset($uc[
'inlineView']) && is_array($uc[
'inlineView'])) {
150 $inlineView = (array)unserialize($backendUser->uc[
'inlineView'], [
'allowed_classes' =>
false]);
151 foreach ($uc[
'inlineView'] as $topTable => $topRecords) {
152 foreach ($topRecords as $topUid => $childElements) {
153 foreach ($childElements as $childTable => $childRecords) {
154 $uids = array_keys($tce->substNEWwithIDs_table, $childTable);
156 $newExpandedChildren = [];
157 foreach ($childRecords as $childUid => $state) {
158 if ($state && in_array($childUid, $uids)) {
159 $newChildUid = $tce->substNEWwithIDs[$childUid];
160 $newExpandedChildren[] = $newChildUid;
164 if (!empty($newExpandedChildren)) {
165 $inlineViewCurrent = &$inlineView[$topTable][$topUid][$childTable];
166 if (is_array($inlineViewCurrent)) {
167 $inlineViewCurrent = array_unique(array_merge($inlineViewCurrent, $newExpandedChildren));
169 $inlineViewCurrent = $newExpandedChildren;
176 $backendUser->uc[
'inlineView'] = serialize($inlineView);
177 $backendUser->writeUC();
197 foreach ($row as $fieldName => $fieldValue) {
198 if (!is_array($fieldValue)) {
199 $newRow[$fieldName] = $fieldValue;
201 $newElementValue = [];
202 foreach ($fieldValue as $itemNumber => $itemValue) {
203 if (is_array($itemValue) && array_key_exists(1, $itemValue)) {
204 $newElementValue[] = $itemValue[1];
206 $newElementValue[] = $itemValue;
209 $newRow[$fieldName] = implode(
',', $newElementValue);