81b5e33411ee9d0079c9146cc0a96557c1e30c3f
2 /***************************************************************
5 * (c) 1999-2008 Kasper Skaarhoj (kasperYYYY@typo3.com)
8 * This script is part of the TYPO3 project. The TYPO3 project is
9 * free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 2 of the License, or
12 * (at your option) any later version.
14 * The GNU General Public License can be found at
15 * http://www.gnu.org/copyleft/gpl.html.
16 * A copy is found in the textfile GPL.txt and important notices to the license
17 * from the author is found in LICENSE.txt distributed with these scripts.
20 * This script is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 * GNU General Public License for more details.
25 * This copyright notice MUST APPEAR in all copies of the script!
26 ***************************************************************/
28 * Contains the dynamic configuation of the fields in the core tables of TYPO3: be_users, be_groups, sys_filemounts and sys_workspace
31 * Revised for TYPO3 3.6 July/2003 by Kasper Skaarhoj
33 * @author Kasper Skaarhoj <kasperYYYY@typo3.com>
34 * @see tables.php, tables.sql
43 * Backend users - Those who login into the TYPO3 administration backend
45 $TCA['be_users'] = array(
46 'ctrl' => $TCA['be_users']['ctrl'],
48 'showRecordFieldList' => 'username,usergroup,db_mountpoints,file_mountpoints,admin,options,fileoper_perms,userMods,lockToDomain,realName,email,disable,starttime,endtime'
52 'label' => 'LLL:EXT:lang/locallang_tca.xml:be_users.username',
57 'eval' => 'nospace,lower,unique,required'
61 'label' => 'LLL:EXT:lang/locallang_tca.xml:be_users.password',
66 'eval' => 'required,md5,password'
70 'label' => 'LLL:EXT:lang/locallang_tca.xml:be_users.usergroup',
73 'foreign_table' => 'be_groups',
74 'foreign_table_where' => 'ORDER BY be_groups.title',
77 # 'renderMode' => $GLOBALS['TYPO3_CONF_VARS']['BE']['accessListRenderMode'],
78 'iconsInOptionTags' => 1,
84 'title' => 'LLL:EXT:lang/locallang_tca.xml:be_users.usergroup_edit_title',
85 'script' => 'wizard_edit.php',
86 'popup_onlyOpenIfSelected' => 1,
87 'icon' => 'edit2.gif',
88 'JSopenParams' => 'height=350,width=580,status=0,menubar=0,scrollbars=1',
92 'title' => 'LLL:EXT:lang/locallang_tca.xml:be_users.usergroup_add_title',
95 'table' => 'be_groups',
97 'setValue' => 'prepend'
99 'script' => 'wizard_add.php',
103 'title' => 'LLL:EXT:lang/locallang_tca.xml:be_users.usergroup_list_title',
104 'icon' => 'list.gif',
106 'table' => 'be_groups',
109 'script' => 'wizard_list.php',
114 'lockToDomain' => array(
115 'label' => 'LLL:EXT:lang/locallang_tca.xml:lockToDomain',
122 'softref' => 'substitute'
125 'db_mountpoints' => array(
126 'label' => 'LLL:EXT:lang/locallang_tca.xml:be_users.options_db_mounts',
129 'internal_type' => 'db',
130 'allowed' => 'pages',
137 'file_mountpoints' => array(
138 'label' => 'LLL:EXT:lang/locallang_tca.xml:be_users.options_file_mounts',
141 'foreign_table' => 'sys_filemounts',
142 'foreign_table_where' => ' AND sys_filemounts.pid=0 ORDER BY sys_filemounts.title',
146 'renderMode' => $GLOBALS['TYPO3_CONF_VARS']['BE']['accessListRenderMode'],
147 'iconsInOptionTags' => 1,
153 'title' => 'LLL:EXT:lang/locallang_tca.xml:file_mountpoints_edit_title',
154 'script' => 'wizard_edit.php',
155 'icon' => 'edit2.gif',
156 'popup_onlyOpenIfSelected' => 1,
157 'JSopenParams' => 'height=350,width=580,status=0,menubar=0,scrollbars=1',
161 'title' => 'LLL:EXT:lang/locallang_tca.xml:file_mountpoints_add_title',
164 'table' => 'sys_filemounts',
166 'setValue' => 'prepend'
168 'script' => 'wizard_add.php',
172 'title' => 'LLL:EXT:lang/locallang_tca.xml:file_mountpoints_list_title',
173 'icon' => 'list.gif',
175 'table' => 'sys_filemounts',
178 'script' => 'wizard_list.php',
184 'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.email',
190 'softref' => 'email[subst]'
194 'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.name',
203 'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.disable',
208 'disableIPlock' => array(
209 'label' => 'LLL:EXT:lang/locallang_tca.xml:be_users.disableIPlock',
215 'label' => 'LLL:EXT:lang/locallang_tca.xml:be_users.admin',
222 'label' => 'LLL:EXT:lang/locallang_tca.xml:be_users.options',
226 array('LLL:EXT:lang/locallang_tca.xml:be_users.options_db_mounts', 0),
227 array('LLL:EXT:lang/locallang_tca.xml:be_users.options_file_mounts', 0)
232 'fileoper_perms' => array(
233 'label' => 'LLL:EXT:lang/locallang_tca.xml:be_users.fileoper_perms',
237 array('LLL:EXT:lang/locallang_tca.xml:be_users.fileoper_perms_general', 0),
238 array('LLL:EXT:lang/locallang_tca.xml:be_users.fileoper_perms_unzip', 0),
239 array('LLL:EXT:lang/locallang_tca.xml:be_users.fileoper_perms_diroper_perms', 0),
240 array('LLL:EXT:lang/locallang_tca.xml:be_users.fileoper_perms_diroper_perms_copy', 0),
241 array('LLL:EXT:lang/locallang_tca.xml:be_users.fileoper_perms_diroper_perms_delete', 0),
246 'workspace_perms' => array(
247 'label' => 'LLL:EXT:lang/locallang_tca.xml:workspace_perms',
251 array('LLL:EXT:lang/locallang_tca.xml:workspace_perms_live', 0),
252 array('LLL:EXT:lang/locallang_tca.xml:workspace_perms_draft', 0),
253 array('LLL:EXT:lang/locallang_tca.xml:workspace_perms_custom', 0),
258 'starttime' => array(
259 'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.starttime',
270 'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.endtime',
279 'upper' => mktime(0,0,0,12,31,2020),
284 'label' => 'LLL:EXT:lang/locallang_tca.xml:be_users.lang',
288 array('English', ''),
289 array('Albanian', 'sq'),
290 array('Arabic', 'ar'),
291 array('Basque', 'eu'),
292 array('Bosnian', 'ba'),
293 array('Brazilian Portuguese', 'br'),
294 array('Bulgarian', 'bg'),
295 array('Catalan', 'ca'),
296 array('Chinese (Simpl.)', 'ch'),
297 array('Chinese (Trad.)', 'hk'),
298 array('Croatian', 'hr'),
299 array('Czech', 'cz'),
300 array('Danish', 'dk'),
301 array('Dutch', 'nl'),
302 array('Esperanto', 'eo'),
303 array('Estonian', 'et'),
304 array('Faroese', 'fo'),
305 array('Finnish', 'fi'),
306 array('French', 'fr'),
307 array('Galician', 'ga'),
308 array('Georgian', 'ge'),
309 array('German', 'de'),
310 array('Greek', 'gr'),
311 array('Greenlandic', 'gl'),
312 array('Hebrew', 'he'),
313 array('Hindi', 'hi'),
314 array('Hungarian', 'hu'),
315 array('Icelandic', 'is'),
316 array('Italian', 'it'),
317 array('Japanese', 'jp'),
318 array('Korean', 'kr'),
319 array('Latvian', 'lv'),
320 array('Lithuanian', 'lt'),
321 array('Malay', 'my'),
322 array('Norwegian', 'no'),
323 array('Persian', 'fa'),
324 array('Polish', 'pl'),
325 array('Portuguese', 'pt'),
326 array('Romanian', 'ro'),
327 array('Russian', 'ru'),
328 array('Serbian', 'sr'),
329 array('Slovak', 'sk'),
330 array('Slovenian', 'si'),
331 array('Spanish', 'es'),
332 array('Swedish', 'se'),
334 array('Turkish', 'tr'),
335 array('Ukrainian', 'ua'),
336 array('Vietnamese', 'vn'),
341 'label' => 'LLL:EXT:lang/locallang_tca.xml:userMods',
344 'special' => 'modListUser',
348 'renderMode' => $GLOBALS['TYPO3_CONF_VARS']['BE']['accessListRenderMode'],
349 'iconsInOptionTags' => 1,
352 'allowed_languages' => array(
353 'label' => 'LLL:EXT:lang/locallang_tca.xml:allowed_languages',
356 'special' => 'languages',
357 'maxitems' => '1000',
358 'renderMode' => 'checkbox',
362 'label' => 'LLL:EXT:lang/locallang_tca.xml:TSconfig',
370 'type' => t3lib_extMgm
::isLoaded('tsconfig_help')?
'popup':'',
371 'title' => 'LLL:EXT:lang/locallang_tca.xml:TSconfig_title',
372 'script' => 'wizard_tsconfig.php?mode=beuser',
373 'icon' => 'wizard_tsconfig.gif',
374 'JSopenParams' => 'height=500,width=780,status=0,menubar=0,scrollbars=1',
377 'softref' => 'TSconfig'
379 'defaultExtras' => 'fixed-font : enable-tab',
381 'createdByAction' => array('config' => array('type' => 'passthrough'))
384 '0' => array('showitem' => 'username;;;;2-2-2, password, usergroup, lockToDomain, disableIPlock, admin;;;;5-5-5, realName;;;;3-3-3, email, lang, userMods;;;;4-4-4, allowed_languages, workspace_perms, options, db_mountpoints, file_mountpoints, fileoper_perms, --div--, TSconfig;;;;5-5-5'),
385 '1' => array('showitem' => 'username;;;;2-2-2, password, usergroup, disableIPlock, admin;;;;5-5-5, realName;;;;3-3-3, email, lang, options;;;;4-4-4, allowed_languages, db_mountpoints, file_mountpoints, fileoper_perms, --div--, TSconfig;;;;5-5-5')
388 '1' => array('showitem' => 'disable, starttime, endtime')
395 * Backend usergroups - Much permission criterias are based on membership of backend groups.
397 $TCA['be_groups'] = array(
398 'ctrl' => $TCA['be_groups']['ctrl'],
399 'interface' => array(
400 'showRecordFieldList' => 'title,db_mountpoints,file_mountpoints,inc_access_lists,tables_select,tables_modify,pagetypes_select,non_exclude_fields,groupMods,lockToDomain,description'
404 'label' => 'LLL:EXT:lang/locallang_tca.xml:be_groups.title',
409 'eval' => 'trim,required'
412 'db_mountpoints' => array(
413 'label' => 'LLL:EXT:lang/locallang_tca.xml:db_mountpoints',
416 'internal_type' => 'db',
417 'allowed' => 'pages',
424 'file_mountpoints' => array(
425 'label' => 'LLL:EXT:lang/locallang_tca.xml:file_mountpoints',
428 'foreign_table' => 'sys_filemounts',
429 'foreign_table_where' => ' AND sys_filemounts.pid=0 ORDER BY sys_filemounts.title',
433 'renderMode' => $GLOBALS['TYPO3_CONF_VARS']['BE']['accessListRenderMode'],
434 'iconsInOptionTags' => 1,
440 'title' => 'LLL:EXT:lang/locallang_tca.xml:file_mountpoints_edit_title',
441 'script' => 'wizard_edit.php',
442 'popup_onlyOpenIfSelected' => 1,
443 'icon' => 'edit2.gif',
444 'JSopenParams' => 'height=350,width=580,status=0,menubar=0,scrollbars=1',
448 'title' => 'LLL:EXT:lang/locallang_tca.xml:file_mountpoints_add_title',
451 'table' => 'sys_filemounts',
453 'setValue' => 'prepend'
455 'script' => 'wizard_add.php',
459 'title' => 'LLL:EXT:lang/locallang_tca.xml:file_mountpoints_list_title',
460 'icon' => 'list.gif',
462 'table' => 'sys_filemounts',
465 'script' => 'wizard_list.php',
470 'workspace_perms' => array(
471 'label' => 'LLL:EXT:lang/locallang_tca.xml:workspace_perms',
475 array('LLL:EXT:lang/locallang_tca.xml:workspace_perms_live', 0),
476 array('LLL:EXT:lang/locallang_tca.xml:workspace_perms_draft', 0),
477 array('LLL:EXT:lang/locallang_tca.xml:workspace_perms_custom', 0),
482 'pagetypes_select' => array(
483 'label' => 'LLL:EXT:lang/locallang_tca.xml:be_groups.pagetypes_select',
486 'special' => 'pagetypes',
490 'renderMode' => $GLOBALS['TYPO3_CONF_VARS']['BE']['accessListRenderMode'],
491 'iconsInOptionTags' => 1,
494 'tables_modify' => array(
495 'label' => 'LLL:EXT:lang/locallang_tca.xml:be_groups.tables_modify',
498 'special' => 'tables',
502 'renderMode' => $GLOBALS['TYPO3_CONF_VARS']['BE']['accessListRenderMode'],
503 'iconsInOptionTags' => 1,
506 'tables_select' => array(
507 'label' => 'LLL:EXT:lang/locallang_tca.xml:be_groups.tables_select',
510 'special' => 'tables',
514 'renderMode' => $GLOBALS['TYPO3_CONF_VARS']['BE']['accessListRenderMode'],
515 'iconsInOptionTags' => 1,
518 'non_exclude_fields' => array(
519 'label' => 'LLL:EXT:lang/locallang_tca.xml:be_groups.non_exclude_fields',
522 'special' => 'exclude',
526 'renderMode' => $GLOBALS['TYPO3_CONF_VARS']['BE']['accessListRenderMode'],
529 'explicit_allowdeny' => array(
530 'label' => 'LLL:EXT:lang/locallang_tca.xml:be_groups.explicit_allowdeny',
533 'special' => 'explicitValues',
535 'renderMode' => 'checkbox',
538 'allowed_languages' => array(
539 'label' => 'LLL:EXT:lang/locallang_tca.xml:allowed_languages',
542 'special' => 'languages',
544 'renderMode' => 'checkbox',
547 'custom_options' => array(
548 'label' => 'LLL:EXT:lang/locallang_tca.xml:be_groups.custom_options',
551 'special' => 'custom',
553 'renderMode' => 'checkbox',
557 'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.disable',
563 'lockToDomain' => array(
564 'label' => 'LLL:EXT:lang/locallang_tca.xml:lockToDomain',
571 'softref' => 'substitute'
574 'groupMods' => array(
575 'label' => 'LLL:EXT:lang/locallang_tca.xml:userMods',
578 'special' => 'modListGroup',
582 'renderMode' => $GLOBALS['TYPO3_CONF_VARS']['BE']['accessListRenderMode'],
583 'iconsInOptionTags' => 1,
586 'inc_access_lists' => array(
587 'label' => 'LLL:EXT:lang/locallang_tca.xml:be_groups.inc_access_lists',
593 'description' => array(
594 'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.description',
602 'label' => 'LLL:EXT:lang/locallang_tca.xml:TSconfig',
610 'type' => t3lib_extMgm
::isLoaded('tsconfig_help')?
'popup':'',
611 'title' => 'LLL:EXT:lang/locallang_tca.xml:TSconfig_title',
612 'script' => 'wizard_tsconfig.php?mode=beuser',
613 'icon' => 'wizard_tsconfig.gif',
614 'JSopenParams' => 'height=500,width=780,status=0,menubar=0,scrollbars=1',
617 'softref' => 'TSconfig'
619 'defaultExtras' => 'fixed-font : enable-tab',
621 'hide_in_lists' => array(
622 'label' => 'LLL:EXT:lang/locallang_tca.xml:be_groups.hide_in_lists',
629 'label' => 'LLL:EXT:lang/locallang_tca.xml:be_groups.subgroup',
632 'foreign_table' => 'be_groups',
633 'foreign_table_where' => 'AND NOT(be_groups.uid = ###THIS_UID###) AND be_groups.hidden=0 ORDER BY be_groups.title',
637 'renderMode' => $GLOBALS['TYPO3_CONF_VARS']['BE']['accessListRenderMode'],
638 'iconsInOptionTags' => 1,
643 '0' => array('showitem' => 'hidden;;;;1-1-1,title;;;;2-2-2, lockToDomain, --div--, inc_access_lists;;;;3-3-3, db_mountpoints;;;;4-4-4,file_mountpoints,workspace_perms,hide_in_lists,subgroup,description, --div--, TSconfig;;;;5-5-5'),
644 '1' => array('showitem' => 'hidden;;;;1-1-1,title;;;;2-2-2, lockToDomain, --div--, inc_access_lists;;;;3-3-3, groupMods, tables_select, tables_modify, pagetypes_select, non_exclude_fields, explicit_allowdeny, allowed_languages, custom_options, --div--, db_mountpoints;;;;4-4-4,file_mountpoints,workspace_perms,hide_in_lists,subgroup,description, --div--, TSconfig;;;;5-5-5')
651 * System filemounts - Defines filepaths on the server which can be mounted for users so they can upload and manage files online by eg. the Filelist module
653 $TCA['sys_filemounts'] = array(
654 'ctrl' => $TCA['sys_filemounts']['ctrl'],
655 'interface' => array(
656 'showRecordFieldList' => 'title,hidden,path,base'
660 'label' => 'LLL:EXT:lang/locallang_tca.xml:sys_filemounts.title',
665 'eval' => 'required,trim'
669 'label' => 'LLL:EXT:lang/locallang_tca.xml:sys_filemounts.path',
674 'eval' => 'required,trim',
675 'softref' => 'substitute'
679 'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.disable',
685 'label' => 'LLL:EXT:lang/locallang_tca.xml:sys_filemounts.base',
689 array('LLL:EXT:lang/locallang_tca.xml:sys_filemounts.base_absolute', 0),
690 array('LLL:EXT:lang/locallang_tca.xml:sys_filemounts.base_relative', 1)
697 '0' => array('showitem' => 'hidden;;;;1-1-1,title;;;;3-3-3,path,base')
704 * System workspaces - Defines the offline workspaces available to users in TYPO3.
706 $TCA['sys_workspace'] = array(
707 'ctrl' => $TCA['sys_workspace']['ctrl'],
710 'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.title',
715 'eval' => 'required,trim,unique'
718 'description' => array(
719 'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.description',
726 'adminusers' => array(
727 'label' => 'LLL:EXT:lang/locallang_tca.xml:sys_workspace.adminusers',
730 'internal_type' => 'db',
731 'allowed' => 'be_users',
739 'label' => 'LLL:EXT:lang/locallang_tca.xml:sys_workspace.members',
742 'internal_type' => 'db',
743 'allowed' => 'be_users,be_groups',
744 'prepend_tname' => 1,
751 'reviewers' => array(
752 'label' => 'LLL:EXT:lang/locallang_tca.xml:sys_workspace.reviewers',
755 'internal_type' => 'db',
756 'allowed' => 'be_users,be_groups',
757 'prepend_tname' => 1,
764 'db_mountpoints' => array(
765 'label' => 'LLL:EXT:lang/locallang_tca.xml:db_mountpoints',
768 'internal_type' => 'db',
769 'allowed' => 'pages',
776 'file_mountpoints' => array(
777 'label' => 'LLL:EXT:lang/locallang_tca.xml:file_mountpoints',
780 'foreign_table' => 'sys_filemounts',
781 'foreign_table_where' => ' AND sys_filemounts.pid=0 ORDER BY sys_filemounts.title',
785 'renderMode' => $GLOBALS['TYPO3_CONF_VARS']['BE']['accessListRenderMode'],
786 'iconsInOptionTags' => 1,
789 'publish_time' => array(
790 'label' => 'LLL:EXT:lang/locallang_tca.xml:sys_workspace.publish_time',
795 'eval' => 'datetime',
800 'unpublish_time' => array(
801 'label' => 'LLL:EXT:lang/locallang_tca.xml:sys_workspace.unpublish_time',
806 'eval' => 'datetime',
810 'upper' => mktime(0,0,0,12,31,2020),
815 'label' => 'LLL:EXT:lang/locallang_tca.xml:sys_workspace.freeze',
821 'live_edit' => array(
822 'label' => 'LLL:EXT:lang/locallang_tca.xml:sys_workspace.live_edit',
828 'review_stage_edit' => array(
829 'label' => 'LLL:EXT:lang/locallang_tca.xml:sys_workspace.review_stage_edit',
835 'disable_autocreate' => array(
836 'label' => 'LLL:EXT:lang/locallang_tca.xml:sys_workspace.disable_autocreate',
842 'swap_modes' => array(
843 'label' => 'LLL:EXT:lang/locallang_tca.xml:sys_workspace.swap_modes',
848 array('Swap-Into-Workspace on Auto-publish', 1),
849 array('Disable Swap-Into-Workspace', 2)
854 'label' => 'LLL:EXT:lang/locallang_tca.xml:sys_workspace.vtypes',
864 'publish_access' => array(
865 'label' => 'LLL:EXT:lang/locallang_tca.xml:sys_workspace.publish_access',
869 array('Publish only content in publish stage', 0),
870 array('Only workspace owner can publish', 0),
874 'stagechg_notification' => array(
875 'label' => 'LLL:EXT:lang/locallang_tca.xml:sys_workspace.stagechg_notification',
880 array('Notify users on next stage only', 1),
881 array('Notify all users on any change', 10)
887 '0' => array('showitem' => 'title,description,--div--;Users,adminusers,members,reviewers,stagechg_notification,--div--;Mountpoints,db_mountpoints,file_mountpoints,--div--;Publishing,publish_time,unpublish_time,--div--;Other,freeze,live_edit,review_stage_edit,disable_autocreate,swap_modes,vtypes,publish_access')
894 * System languages - Defines possible languages used for translation of records in the system
896 $TCA['sys_language'] = array(
897 'ctrl' => $TCA['sys_language']['ctrl'],
898 'interface' => array(
899 'showRecordFieldList' => 'hidden,title'
903 'label' => 'LLL:EXT:lang/locallang_general.php:LGL.language',
908 'eval' => 'trim,required'
912 'label' => 'LLL:EXT:lang/locallang_general.php:LGL.disable',
919 'static_lang_isocode' => array(
921 'label' => 'LLL:EXT:lang/locallang_tca.php:sys_language.isocode',
922 'displayCond' => 'EXT:static_info_tables:LOADED:true',
928 'foreign_table' => 'static_languages',
929 'foreign_table_where' => 'AND static_languages.pid=0 ORDER BY static_languages.lg_name_en',
936 'label' => 'LLL:EXT:lang/locallang_tca.php:sys_language.flag',
942 'fileFolder' => 'typo3/gfx/flags/', // Only shows if "t3lib/" is in the PATH_site...
943 'fileFolder_extList' => 'png,jpg,jpeg,gif',
944 'fileFolder_recursions' => 0,
953 '1' => array('showitem' => 'hidden;;;;1-1-1,title;;;;2-2-2,static_lang_isocode,flag')