Fix errors on files/dir permissions on dolfilemanager.

This commit is contained in:
Laurent Destailleur 2016-06-19 11:19:11 +02:00
parent 3720c95a52
commit cd122462aa
4 changed files with 16 additions and 10 deletions

View File

@ -102,6 +102,8 @@ function SendError($number, $text)
{ {
SetXmlHeaders(); SetXmlHeaders();
dol_syslog('Error: '.$number.' '.$text, LOG_ERR);
// Create the XML document header // Create the XML document header
echo '<?xml version="1.0" encoding="utf-8" ?>' ; echo '<?xml version="1.0" encoding="utf-8" ?>' ;

View File

@ -266,15 +266,15 @@ function FileUpload($resourceType, $currentFolder, $sCommand, $CKEcallback = '')
break ; break ;
} }
$permissions = 0777; $permissions = '0777';
if ( isset( $Config['ChmodOnUpload'] ) && $Config['ChmodOnUpload'] ) if ( isset( $Config['ChmodOnUpload'] ) && $Config['ChmodOnUpload'] )
{ {
$permissions = $Config['ChmodOnUpload'] ; $permissions = (string) $Config['ChmodOnUpload'] ;
} }
$permissionsdec = octdec($permissions);
dol_syslog("commands.php permission = ".$permissions." ".$permissionsdec." ".decoct($permissionsdec));
$oldumask = umask(0); $oldumask = umask(0);
chmod($sFilePath, $permissions); chmod($sFilePath, $permissionsdec);
umask($oldumask); umask($oldumask);
} }

View File

@ -55,8 +55,9 @@ function DoResponse()
// Check if it is an allowed command // Check if it is an allowed command
if (! IsAllowedCommand($sCommand)) if (! IsAllowedCommand($sCommand))
{
SendError(1, 'The "' . $sCommand . '" command isn\'t allowed'); SendError(1, 'The "' . $sCommand . '" command isn\'t allowed');
}
// Check if it is an allowed type. // Check if it is an allowed type.
if (! IsAllowedType($sResourceType)) if (! IsAllowedType($sResourceType))
SendError(1, 'Invalid type specified'); SendError(1, 'Invalid type specified');

View File

@ -181,14 +181,17 @@ function CreateServerFolder($folderPath, $lastFolder = null)
} }
else else
{ {
$permissions = 0777 ; $permissions = '0777';
if ( isset( $Config['ChmodOnFolderCreate'] ) ) if ( isset( $Config['ChmodOnFolderCreate'] ) && $Config['ChmodOnFolderCreate'])
{ {
$permissions = $Config['ChmodOnFolderCreate'] ; $permissions = (string) $Config['ChmodOnFolderCreate'];
} }
$permissionsdec = octdec($permissions);
$permissionsdec |= octdec('0111'); // Set x bit required for directories
dol_syslog("io.php permission = ".$permissions." ".$permissionsdec." ".decoct($permissionsdec));
// To create the folder with 0777 permissions, we need to set umask to zero. // To create the folder with 0777 permissions, we need to set umask to zero.
$oldumask = umask(0); $oldumask = umask(0);
mkdir($folderPath, $permissions); mkdir($folderPath, $permissionsdec);
umask($oldumask); umask($oldumask);
} }