Merge pull request #7764 from owncloud/datadir-chmod

use a non-recursive chmod on the datadir
This commit is contained in:
icewind1991 2014-03-17 15:52:44 +01:00
commit 6fbf3dd7c4
2 changed files with 1 additions and 30 deletions

View File

@ -343,35 +343,6 @@ class OC_Helper {
return $bytes; return $bytes;
} }
/**
* @brief Recursive editing of file permissions
* @param string $path path to file or folder
* @param int $filemode unix style file permissions
* @return bool
*/
static function chmodr($path, $filemode) {
if (!is_dir($path))
return chmod($path, $filemode);
$dh = opendir($path);
if(is_resource($dh)) {
while (($file = readdir($dh)) !== false) {
if ($file != '.' && $file != '..') {
$fullpath = $path . '/' . $file;
if (is_link($fullpath))
return false;
elseif (!is_dir($fullpath) && !@chmod($fullpath, $filemode))
return false; elseif (!self::chmodr($fullpath, $filemode))
return false;
}
}
closedir($dh);
}
if (@chmod($path, $filemode))
return true;
else
return false;
}
/** /**
* @brief Recursive copying of folders * @brief Recursive copying of folders
* @param string $src source folder * @param string $src source folder

View File

@ -526,7 +526,7 @@ class OC_Util {
.' cannot be listed by other users.'; .' cannot be listed by other users.';
$perms = substr(decoct(@fileperms($dataDirectory)), -3); $perms = substr(decoct(@fileperms($dataDirectory)), -3);
if (substr($perms, -1) != '0') { if (substr($perms, -1) != '0') {
OC_Helper::chmodr($dataDirectory, 0770); chmod($dataDirectory, 0770);
clearstatcache(); clearstatcache();
$perms = substr(decoct(@fileperms($dataDirectory)), -3); $perms = substr(decoct(@fileperms($dataDirectory)), -3);
if (substr($perms, 2, 1) != '0') { if (substr($perms, 2, 1) != '0') {