From f763dba41ec2c3d6183f625c3a974c81882bd2f4 Mon Sep 17 00:00:00 2001 From: Konstantin G Romanov Date: Mon, 6 Aug 2012 15:35:41 +0400 Subject: [PATCH] * copyDirectory creates dstDir recursively. --- framework/utils/CFileHelper.php | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/framework/utils/CFileHelper.php b/framework/utils/CFileHelper.php index a90c37673..bed5b8244 100644 --- a/framework/utils/CFileHelper.php +++ b/framework/utils/CFileHelper.php @@ -111,11 +111,12 @@ class CFileHelper protected static function copyDirectoryRecursive($src,$dst,$base,$fileTypes,$exclude,$level,$options) { if(!is_dir($dst)) - mkdir($dst); - if(isset($options['newDirMode'])) - @chmod($dst,$options['newDirMode']); - else - @chmod($dst,0777); + { + $oldumask=umask(0); + mkdir($dst, isset($options['newDirMode']) ? $options['newDirMode'] : 0777, true); + umask($oldumask); + } + $folder=opendir($src); while(($file=readdir($folder))!==false) {