1<?php
2return [
3    'ctrl' => [
4        'title' => 'LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:sys_file_collection',
5        'label' => 'title',
6        'descriptionColumn' => 'description',
7        'tstamp' => 'tstamp',
8        'crdate' => 'crdate',
9        'cruser_id' => 'cruser_id',
10        'versioningWS' => true,
11        'origUid' => 't3_origuid',
12        'languageField' => 'sys_language_uid',
13        'transOrigPointerField' => 'l10n_parent',
14        'transOrigDiffSourceField' => 'l10n_diffsource',
15        'default_sortby' => 'crdate',
16        'delete' => 'deleted',
17        'type' => 'type',
18        'typeicon_column' => 'type',
19        'typeicon_classes' => [
20            'default' => 'apps-filetree-folder-media',
21            'static' => 'apps-clipboard-images',
22            'folder' => 'apps-filetree-folder-media'
23        ],
24        'enablecolumns' => [
25            'disabled' => 'hidden',
26            'starttime' => 'starttime',
27            'endtime' => 'endtime'
28        ],
29        'searchFields' => 'files,title'
30    ],
31    'interface' => [
32        'showRecordFieldList' => 'sys_language_uid,l10n_parent,l10n_diffsource,hidden,starttime,endtime,files,title,description'
33    ],
34    'columns' => [
35        't3ver_label' => [
36            'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.versionLabel',
37            'config' => [
38                'type' => 'input',
39                'size' => 30,
40                'max' => 30
41            ]
42        ],
43        'sys_language_uid' => [
44            'exclude' => true,
45            'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.language',
46            'config' => [
47                'type' => 'select',
48                'renderType' => 'selectSingle',
49                'foreign_table' => 'sys_language',
50                'foreign_table_where' => 'ORDER BY sys_language.title',
51                'items' => [
52                    ['LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.allLanguages', -1],
53                    ['LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.default_value', 0]
54                ],
55                'default' => 0,
56                'fieldWizard' => [
57                    'selectIcons' => [
58                        'disabled' => false,
59                    ],
60                ],
61            ]
62        ],
63        'l10n_parent' => [
64            'displayCond' => 'FIELD:sys_language_uid:>:0',
65            'exclude' => true,
66            'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
67            'config' => [
68                'type' => 'select',
69                'renderType' => 'selectSingle',
70                'items' => [
71                    ['', 0]
72                ],
73                'foreign_table' => 'sys_file_collection',
74                'foreign_table_where' => 'AND sys_file_collection.pid=###CURRENT_PID### AND sys_file_collection.sys_language_uid IN (-1,0)',
75                'default' => 0,
76            ]
77        ],
78        'l10n_diffsource' => [
79            'config' => [
80                'type' => 'passthrough',
81                'default' => ''
82            ]
83        ],
84        'hidden' => [
85            'exclude' => true,
86            'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.hidden',
87            'config' => [
88                'type' => 'check',
89                'default' => 0
90            ]
91        ],
92        'starttime' => [
93            'exclude' => true,
94            'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.starttime',
95            'config' => [
96                'type' => 'input',
97                'renderType' => 'inputDateTime',
98                'eval' => 'date,int',
99                'default' => 0,
100            ]
101        ],
102        'endtime' => [
103            'exclude' => true,
104            'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.endtime',
105            'config' => [
106                'type' => 'input',
107                'renderType' => 'inputDateTime',
108                'eval' => 'date,int',
109                'default' => 0,
110                'range' => [
111                    'upper' => mktime(0, 0, 0, 1, 1, 2038),
112                ]
113            ]
114        ],
115        'type' => [
116            'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:sys_file_collection.type',
117            'config' => [
118                'type' => 'select',
119                'renderType' => 'selectSingle',
120                'items' => [
121                    ['LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:sys_file_collection.type.0', 'static'],
122                    ['LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:sys_file_collection.type.1', 'folder'],
123                    ['LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:sys_file_collection.type.2', 'category']
124                ]
125            ]
126        ],
127        'files' => [
128            'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:sys_file_collection.files',
129            'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig('files')
130        ],
131        'title' => [
132            'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:sys_file_collection.title',
133            'config' => [
134                'type' => 'input',
135                'size' => 30,
136                'eval' => 'required'
137            ]
138        ],
139        'storage' => [
140            'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:sys_file_collection.storage',
141            'onChange' => 'reload',
142            'config' => [
143                'type' => 'select',
144                'renderType' => 'selectSingle',
145                'items' => [
146                    ['', 0]
147                ],
148                'foreign_table' => 'sys_file_storage',
149                'foreign_table_where' => 'ORDER BY sys_file_storage.name',
150                'size' => 1,
151                'minitems' => 0,
152                'maxitems' => 1,
153                'default' => 0,
154            ]
155        ],
156        'folder' => [
157            'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:sys_file_collection.folder',
158            'config' => [
159                'type' => 'select',
160                'renderType' => 'selectSingle',
161                'items' => [],
162                'itemsProcFunc' => 'TYPO3\\CMS\\Core\\Resource\\Service\\UserFileMountService->renderTceformsSelectDropdown',
163                'default' => '',
164            ]
165        ],
166        'recursive' => [
167            'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:sys_file_collection.recursive',
168            'config' => [
169                'type' => 'check',
170                'renderType' => 'checkboxToggle',
171                'default' => 0,
172                'items' => [
173                    [
174                        0 => '',
175                        1 => '',
176                    ]
177                ],
178            ]
179        ],
180        'category' => [
181            'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:sys_file_collection.category',
182            'config' => [
183                'minitems' => 0,
184                'maxitems' => 1,
185                'type' => 'select',
186                'renderType' => 'selectTree',
187                'foreign_table' => 'sys_category',
188                'foreign_table_where' => ' AND sys_category.sys_language_uid IN (-1,0) ORDER BY sys_category.sorting ASC',
189                'treeConfig' => [
190                    'parentField' => 'parent',
191                    'appearance' => [
192                        'expandAll' => true,
193                        'showHeader' => true,
194                    ]
195                ],
196                'default' => 0,
197            ]
198        ],
199        'description' => [
200            'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.description',
201            'config' => [
202                'type' => 'text',
203                'rows' => 5,
204                'cols' => 30,
205                'max' => 2000,
206            ]
207        ]
208    ],
209    'types' => [
210        '0' => [
211            'showitem' => '
212                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
213                    type,title,files,
214                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
215                    --palette--;;language,
216                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
217                    --palette--;;timeRestriction,
218                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
219                    description,
220                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
221            '
222        ],
223        'static' => [
224            'showitem' => '
225                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
226                    type,title,files,
227                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
228                    --palette--;;language,
229                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
230                    --palette--;;timeRestriction,
231                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
232                    description,
233                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
234            '
235        ],
236        'folder' => [
237            'showitem' => '
238                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
239                    type,title,storage, folder, recursive,
240                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
241                    --palette--;;language,
242                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
243                    --palette--;;timeRestriction,
244                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
245                    description,
246                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
247            '
248        ],
249        'category' => [
250            'showitem' => '
251                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
252                    type,title,category,
253                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
254                    --palette--;;language,
255                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
256                    --palette--;;timeRestriction,
257                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
258                    description,
259                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
260            ',
261        ],
262    ],
263    'palettes' => [
264        'timeRestriction' => ['showitem' => 'starttime, endtime'],
265        'language' => ['showitem' => 'sys_language_uid, l10n_parent'],
266    ],
267];
268