Project

General

Profile

Bug #12615 ยป 0017355_v2_workspaces.patch

Oliver Hader, 2011-01-28 14:29

View differences:

typo3/sysext/version/cm1/index.php (Arbeitskopie)
$this->MOD_MENU['display'][-1] = $GLOBALS['LANG']->getLL('defaultDraft');
}
// Add workspaces:
if ($GLOBALS['BE_USER']->workspace===0) { // Spend time on this only in online workspace because it might take time:
// Add workspaces (only if the live workspace is currently active):
if (t3lib_extMgm::isLoaded('workspaces') && $GLOBALS['BE_USER']->workspace ===0 ) {
$workspaces = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows('uid,title,adminusers,members,reviewers','sys_workspace','pid=0'.t3lib_BEfunc::deleteClause('sys_workspace'),'','title');
foreach($workspaces as $rec) {
if ($GLOBALS['BE_USER']->checkWorkspace($rec)) {
typo3/sysext/version/ext_tables.php (Arbeitskopie)
<?php
if (!defined ('TYPO3_MODE')) die ('Access denied.');
if (!defined ('TYPO3_MODE')) {
die ('Access denied.');
}
if (TYPO3_MODE=='BE') {
$GLOBALS['TBE_MODULES_EXT']['xMOD_alt_clickmenu']['extendCMclasses'][]=array(
......
t3lib_extMgm::addModule('web', 'txversionM1', '', t3lib_extMgm::extPath($_EXTKEY) . 'cm1/');
}
}
/**
* Table "sys_workspace":
*/
$TCA['sys_workspace'] = array(
'ctrl' => array(
'label' => 'title',
'tstamp' => 'tstamp',
'title' => 'LLL:EXT:lang/locallang_tca.php:sys_workspace',
'adminOnly' => 1,
'rootLevel' => 1,
'delete' => 'deleted',
'iconfile' => 'sys_workspace.png',
'typeicon_classes' => array(
'default' => 'mimetypes-x-sys_workspace'
),
'dynamicConfigFile' => t3lib_extMgm::extPath($_EXTKEY) . 'tca.php',
'versioningWS_alwaysAllowLiveEdit' => true,
'dividers2tabs' => true
)
);
?>
?>
typo3/sysext/version/tca.php (Arbeitskopie)
<?php
/**
* System workspaces - Defines the offline workspaces available to users in TYPO3.
*/
$TCA['sys_workspace'] = array(
'ctrl' => $TCA['sys_workspace']['ctrl'],
'columns' => array(
'title' => array(
'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.title',
'config' => array(
'type' => 'input',
'size' => '20',
'max' => '30',
'eval' => 'required,trim,unique'
)
),
'description' => array(
'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.description',
'config' => array(
'type' => 'text',
'rows' => 5,
'cols' => 30
)
),
'adminusers' => array(
'label' => 'LLL:EXT:lang/locallang_tca.xml:sys_workspace.adminusers',
'config' => array(
'type' => 'group',
'internal_type' => 'db',
'allowed' => 'be_users,be_groups',
'prepend_tname' => 1,
'size' => '3',
'maxitems' => '10',
'autoSizeMax' => 10,
'show_thumbs' => '1',
'wizards' => array(
'suggest' => array(
'type' => 'suggest',
)
)
)
),
'members' => array(
'label' => 'LLL:EXT:lang/locallang_tca.xml:sys_workspace.members',
'config' => array(
'type' => 'group',
'internal_type' => 'db',
'allowed' => 'be_users,be_groups',
'prepend_tname' => 1,
'size' => '3',
'maxitems' => '100',
'autoSizeMax' => 10,
'show_thumbs' => '1',
'wizards' => array(
'suggest' => array(
'type' => 'suggest',
)
)
)
),
'reviewers' => array(
'label' => 'LLL:EXT:lang/locallang_tca.xml:sys_workspace.reviewers',
'config' => array(
'type' => 'group',
'internal_type' => 'db',
'allowed' => 'be_users,be_groups',
'prepend_tname' => 1,
'size' => '3',
'maxitems' => '100',
'autoSizeMax' => 10,
'show_thumbs' => '1',
'wizards' => array(
'suggest' => array(
'type' => 'suggest',
)
)
)
),
'db_mountpoints' => array(
'label' => 'LLL:EXT:lang/locallang_tca.xml:db_mountpoints',
'config' => array(
'type' => 'group',
'internal_type' => 'db',
'allowed' => 'pages',
'size' => '3',
'maxitems' => '10',
'autoSizeMax' => 10,
'show_thumbs' => '1',
'wizards' => array(
'suggest' => array(
'type' => 'suggest',
)
)
)
),
'file_mountpoints' => array(
'label' => 'LLL:EXT:lang/locallang_tca.xml:file_mountpoints',
'config' => array(
'type' => 'select',
'foreign_table' => 'sys_filemounts',
'foreign_table_where' => ' AND sys_filemounts.pid=0 ORDER BY sys_filemounts.title',
'size' => '3',
'maxitems' => '10',
'autoSizeMax' => 10,
'renderMode' => $GLOBALS['TYPO3_CONF_VARS']['BE']['accessListRenderMode'],
'iconsInOptionTags' => 1,
)
),
'publish_time' => array(
'label' => 'LLL:EXT:lang/locallang_tca.xml:sys_workspace.publish_time',
'config' => array(
'type' => 'input',
'size' => '8',
'max' => '20',
'eval' => 'datetime',
'default' => '0',
'checkbox' => '0'
)
),
'unpublish_time' => array(
'label' => 'LLL:EXT:lang/locallang_tca.xml:sys_workspace.unpublish_time',
'config' => array(
'type' => 'input',
'size' => '8',
'max' => '20',
'eval' => 'datetime',
'checkbox' => '0',
'default' => '0',
'range' => array(
'upper' => mktime(0,0,0,12,31,2020),
)
)
),
'freeze' => array(
'label' => 'LLL:EXT:lang/locallang_tca.xml:sys_workspace.freeze',
'config' => array(
'type' => 'check',
'default' => '0'
)
),
'live_edit' => array(
'label' => 'LLL:EXT:lang/locallang_tca.xml:sys_workspace.live_edit',
'config' => array(
'type' => 'check',
'default' => '0'
)
),
'review_stage_edit' => array(
'label' => 'LLL:EXT:lang/locallang_tca.xml:sys_workspace.review_stage_edit',
'config' => array(
'type' => 'check',
'default' => '0'
)
),
'disable_autocreate' => array(
'label' => 'LLL:EXT:lang/locallang_tca.xml:sys_workspace.disable_autocreate',
'config' => array(
'type' => 'check',
'default' => '0'
)
),
'swap_modes' => array(
'label' => 'LLL:EXT:lang/locallang_tca.xml:sys_workspace.swap_modes',
'config' => array(
'type' => 'select',
'items' => array(
array('', 0),
array('Swap-Into-Workspace on Auto-publish', 1),
array('Disable Swap-Into-Workspace', 2)
),
)
),
'publish_access' => array(
'label' => 'LLL:EXT:lang/locallang_tca.xml:sys_workspace.publish_access',
'config' => array(
'type' => 'check',
'items' => array(
array('Publish only content in publish stage', 0),
array('Only workspace owner can publish', 0),
),
)
),
'stagechg_notification' => array(
'label' => 'LLL:EXT:lang/locallang_tca.xml:sys_workspace.stagechg_notification',
'config' => array(
'type' => 'select',
'items' => array(
array('', 0),
array('Notify users on next stage only', 1),
array('Notify all users on any change', 10)
),
)
),
),
'types' => array(
'0' => array('showitem' => 'title,description,
--div--;LLL:EXT:lang/locallang_tca.xml:sys_filemounts.tabs.users,adminusers,members,reviewers,stagechg_notification,
--div--;LLL:EXT:lang/locallang_tca.xml:sys_filemounts.tabs.mountpoints,db_mountpoints,file_mountpoints,
--div--;LLL:EXT:lang/locallang_tca.xml:sys_filemounts.tabs.publishing,publish_time,unpublish_time,
--div--;LLL:EXT:lang/locallang_tca.xml:sys_filemounts.tabs.other,freeze,live_edit,review_stage_edit,disable_autocreate,swap_modes,publish_access'
)
)
);
// if other versioning options than element versions are active,
// the TCA column needs to be added as well
if (isset($GLOBALS['TYPO3_CONF_VARS']['BE']['elementVersioningOnly'])
&& !$GLOBALS['TYPO3_CONF_VARS']['BE']['elementVersioningOnly']) {
$additionalWorkspaceTcaColumn = array(
'vtypes' => array(
'label' => 'LLL:EXT:lang/locallang_tca.xml:sys_workspace.vtypes',
'config' => array(
'type' => 'check',
'items' => array(
array('Element', 0),
array('Page', 0),
array('Branch', 0)
)
)
)
);
t3lib_extMgm::addTCAcolumns('sys_workspace', $additionalWorkspaceTcaColumn, FALSE);
t3lib_extMgm::addToAllTCAtypes('sys_workspace', 'vtypes', '', 'after:swap_modes');
}
?>
    (1-1/1)