From ea99ca3d3887a7c8d216fd8bbb94c2f4e927d4f5 Mon Sep 17 00:00:00 2001 From: Taras Machyshyn Date: Fri, 18 Nov 2016 17:33:29 +0200 Subject: [PATCH] FileManager: bug fixes --- application/Espo/Core/Utils/File/Manager.php | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/application/Espo/Core/Utils/File/Manager.php b/application/Espo/Core/Utils/File/Manager.php index 7a6fa9b50c..45f0fbdf6c 100644 --- a/application/Espo/Core/Utils/File/Manager.php +++ b/application/Espo/Core/Utils/File/Manager.php @@ -625,12 +625,19 @@ class Manager $items = (array) $items; } + $removeList = array(); $permissionDeniedList = array(); foreach ($items as $item) { if (isset($dirPath)) { $item = Utils\Util::concatPath($dirPath, $item); } + if (!file_exists($item)) { + continue; + } + + $removeList[] = $item; + if (!is_writable($item)) { $permissionDeniedList[] = $item; } else if (!is_writable(dirname($item))) { @@ -644,11 +651,7 @@ class Manager } $result = true; - foreach ($items as $item) { - if (isset($dirPath)) { - $item = Utils\Util::concatPath($dirPath, $item); - } - + foreach ($removeList as $item) { if (is_dir($item)) { $result &= $this->removeInDir($item, true); } else {