Project

General

Profile

Feature #16554 » bug4203.diff

Administrator Admin, 2008-04-07 21:57

View differences:

trunk.new/t3lib/class.t3lib_userauthgroup.php 2008-04-07 23:40:10.000000000 +0400
if ($this->workspace>0 && trim($this->workspaceRec['file_mountpoints'])!=='') {
// Processing filemounts
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('*', 'sys_filemounts', 'deleted=0 AND hidden=0 AND pid=0 AND uid IN ('.$GLOBALS['TYPO3_DB']->cleanIntList($this->workspaceRec['file_mountpoints']).')');
$paradigm = $this->getTSConfigVal('options.folderTree.WSFilemountsMode');
$wsFilemounts = $GLOBALS['TYPO3_DB']->cleanIntList($this->workspaceRec['file_mountpoints']);
$userFilemounts = $this->dataLists['filemount_list'];
switch($paradigm){
case 'ignoreWS':
$filemountUidList = $userFilemounts;
break;
case 'intersect':
$wsArr = t3lib_div::intExplode(',',$wsFilemounts);
$userArr = t3lib_div::intExplode(',',$userFilemounts);
$resultArr = array_intersect($wsArr,$userArr);
$filemountUidList = implode(',',$resultArr);
break;
case 'combine':
$wsArr = t3lib_div::intExplode(',',$wsFilemounts);
$userArr = t3lib_div::intExplode(',',$userFilemounts);
$resultArr = array_unique(array_merge($wsArr,$userArr));
$filemountUidList = implode(',',$resultArr);
break;
case 'ignoreUser':
default:
$filemountUidList = $wsFilemounts;//default old behaviour
}
if ($filemountUidList){
$andWhere = 'AND uid IN ('.$filemountUidList.')';
}else{
$andWhere = 'AND 0';
}
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('*', 'sys_filemounts', 'deleted=0 AND hidden=0 AND pid=0 '.$andWhere);
while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
$this->addFileMount($row['title'], $row['path'], $row['path'], $row['base']?1:0, '');
}
trunk.new/typo3/sysext/lang/locallang_csh_sysws.xml 2008-04-07 22:52:44.000000000 +0400
<label index="db_mountpoints.details">Any DB mount specified here must be inside the DB mount set for the backend user who logs in. If that is not the case the workspace DB mount will simply not be mounted for the user. If no DB mounts are specified for the workspace the users will access the DB mounts of their user profile.</label>
<label index="file_mountpoints.description">Filemounts available for workspace users. Please see details for security information!</label>
<label index="file_mountpoints.details">IMPORTANT: By default a draft workspace has all filemounts disabled! This is because versioning does not apply to any files edited through filemounts in TYPO3. Hence any access to those files would violate the principle that no content managed in a draft workspace will be live before published.
However, for specific projects this violation might be acceptable or necessary and therefore you can add a filemount. This will be forced upon any user in the workspace regardless of his filemounts inherited from his groups and user profile!</label>
However, for specific projects this violation might be acceptable or necessary and therefore you can add a filemount. This will be forced upon any user in the workspace regardless of his filemounts inherited from his groups and user profile!
Also, see the &quot;options.folderTree.WSFilemountsMode&quot; User TS Config option for information about how you can change that behaviour.</label>
<label index="publish_time.description">Specify a time of publication of the workspace content.</label>
<label index="publish_time.details">The publish and unpublish times are active only if &quot;mod/user/ws/cli/ws_cli.phpsh&quot; is set up as a cronjob running every minute. Example configuration could be &quot;* * * * * /[ABSOLUTE PATH TO TYPO3 SITE]/typo3/mod/user/ws/cli/ws_cli.phpsh&quot;</label>
<label index="_publish_time.seeAlso">sys_workspace:unpublish_time</label>
(1-1/5)