Project

General

Profile

Feature #2971 » patch-2971.txt

Sonja Schubert, 2009-03-25 15:31

 
### Eclipse Workspace Patch 1.0
#P igeworkspace42
Index: typo3/sysext/lang/locallang_tca.xml
===================================================================
--- typo3/sysext/lang/locallang_tca.xml (revision 288)
+++ typo3/sysext/lang/locallang_tca.xml (working copy)
@@ -82,6 +82,8 @@
<label index="sys_workspace.stagechg_notification">Stage change notification by email:</label>
<label index="sys_workspace.use_custom_staging">Use custom stages:</label>
<label index="sys_workspace.custom_stages">Custom stages:</label>
+ <label index="sys_workspace.use_user_db_mounts">Use DB mounts from user/group</label>
+ <label index="sys_workspace.use_user_file_mounts">Use file mounts from user/group</label>
<label index="sys_workspace_stage.responsible_persons">Responsible persons:</label>
<label index="sys_workspace_stage.default_mailcomment">Default mail comment:</label>
<label index="sys_workspace_stage.parentid">UID of parent record:</label>
Index: t3lib/stddb/tbl_be.php
===================================================================
--- t3lib/stddb/tbl_be.php (revision 323)
+++ t3lib/stddb/tbl_be.php (working copy)
@@ -782,6 +782,12 @@
'show_thumbs' => '1'
)
),
+ 'use_user_db_mounts' => Array (
+ 'label' => 'LLL:EXT:lang/locallang_tca.xml:sys_workspace.use_user_db_mounts',
+ 'config' => Array (
+ 'type' => 'check',
+ )
+ ),
'file_mountpoints' => array(
'label' => 'LLL:EXT:lang/locallang_tca.xml:file_mountpoints',
'config' => array(
@@ -795,6 +801,13 @@
'iconsInOptionTags' => 1,
)
),
+ 'use_user_file_mounts' => Array (
+ 'exclude' => 0,
+ 'label' => 'LLL:EXT:lang/locallang_tca.xml:sys_workspace.use_user_file_mounts',
+ 'config' => Array (
+ 'type' => 'check',
+ )
+ ),
'publish_time' => array(
'label' => 'LLL:EXT:lang/locallang_tca.xml:sys_workspace.publish_time',
'config' => array(
@@ -914,7 +927,7 @@
'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.mountpoints,db_mountpoints,use_user_db_mounts,file_mountpoints,use_user_file_mounts,
--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.staging,use_custom_staging,custom_stages,
--div--;LLL:EXT:lang/locallang_tca.xml:sys_filemounts.tabs.other,freeze,live_edit,review_stage_edit,disable_autocreate,swap_modes,vtypes,publish_access'
Index: typo3/mod/user/ws/index.php
===================================================================
--- typo3/mod/user/ws/index.php (revision 287)
+++ typo3/mod/user/ws/index.php (working copy)
@@ -749,7 +749,12 @@
// here only if obtaining mount points for custom workspaces
// Warning: all fields needed for t3lib_iconWorks::getIconImage()!
- $MPs = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows('*', 'pages', 'deleted=0 AND uid IN (' . $GLOBALS['TYPO3_DB']->cleanIntList($wksp['db_mountpoints']) . ')', '', 'title');
+ // Use the user/group mountpoints instead of workspace mountpoints if the checkbox in workspace configuration isset
+ if($GLOBALS['BE_USER']->workspaceRec['use_user_db_mounts'] == 1) {
+ $MPs = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows('*', 'pages', 'deleted=0 AND uid IN (' . $GLOBALS['TYPO3_DB']->cleanIntList($GLOBALS['BE_USER']->groupData['webmounts']) . ')', '', 'title');
+ } else {
+ $MPs = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows('*', 'pages', 'deleted=0 AND uid IN (' . $GLOBALS['TYPO3_DB']->cleanIntList($wksp['db_mountpoints']) . ')', '', 'title');
+ }
$content_array = array();
if (count($MPs) > 0) {
$isAdmin = $GLOBALS['BE_USER']->isAdmin();
@@ -802,7 +807,11 @@
// Here if displaying information for custom workspace
// Warning: all fields needed for t3lib_iconWorks::getIconImage()!
- $MPs = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows('*', 'sys_filemounts', 'deleted=0 AND hidden=0 AND uid IN (' . $GLOBALS['TYPO3_DB']->cleanIntList($wksp['file_mountpoints']) . ')', '', 'title');
+ if($GLOBALS['BE_USER']->workspaceRec['use_user_file_mounts'] == 1) {
+ $MPs = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows('*', 'sys_filemounts', 'deleted=0 AND hidden=0 AND uid IN (' . $GLOBALS['TYPO3_DB']->cleanIntList($GLOBALS['BE_USER']->dataLists['filemount_list']) . ')', '', 'title');
+ } else {
+ $MPs = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows('*', 'sys_filemounts', 'deleted=0 AND hidden=0 AND uid IN (' . $GLOBALS['TYPO3_DB']->cleanIntList($wksp['file_mountpoints']) . ')', '', 'title');
+ }
if (count($MPs) != 0) {
// Has mount points
$isAdmin = $GLOBALS['BE_USER']->isAdmin();
Index: t3lib/stddb/tables.sql
===================================================================
--- t3lib/stddb/tables.sql (revision 286)
+++ t3lib/stddb/tables.sql (working copy)
@@ -241,7 +241,9 @@
members text,
reviewers text,
db_mountpoints varchar(255) DEFAULT '' NOT NULL,
+ use_user_db_mounts tinyint(3) DEFAULT '0' NOT NULL,
file_mountpoints varchar(255) DEFAULT '' NOT NULL,
+ use_user_file_mounts tinyint(3) DEFAULT '0' NOT NULL,
publish_time int(11) DEFAULT '0' NOT NULL,
unpublish_time int(11) DEFAULT '0' NOT NULL,
freeze tinyint(3) DEFAULT '0' NOT NULL,
Index: typo3/sysext/beuser/mod/index.php
===================================================================
--- typo3/sysext/beuser/mod/index.php (revision 270)
+++ typo3/sysext/beuser/mod/index.php (working copy)
@@ -1062,7 +1062,7 @@
$options[$rec['uid']] = $rec['uid'].': '.$rec['title'];
// Check if all mount points are accessible, otherwise show error:
- if (trim($rec['db_mountpoints'])!=='') {
+ if (trim($rec['db_mountpoints'])!=='' && ($rec['use_user_db_mounts'] == 0)) {
$mountPoints = t3lib_div::intExplode(',',$this->workspaceRec['db_mountpoints'],1);
foreach ($mountPoints as $mpId) {
if (!$this->isInWebMount($mpId,'1=1')) {
(1-1/3)