From 518b9fa2ba3e9c5de45b0aeca8c38fbd43b247f0 Mon Sep 17 00:00:00 2001 From: Yuri Kuznetsov Date: Thu, 7 Oct 2021 17:17:22 +0300 Subject: [PATCH] unlink file in checkCreateFile --- application/Espo/Core/Utils/File/Manager.php | 23 +++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/application/Espo/Core/Utils/File/Manager.php b/application/Espo/Core/Utils/File/Manager.php index d751a989a4..04251bb1d5 100644 --- a/application/Espo/Core/Utils/File/Manager.php +++ b/application/Espo/Core/Utils/File/Manager.php @@ -630,8 +630,11 @@ class Manager $pathParts = pathinfo($filePath); if (!file_exists($pathParts['dirname'])) { - $dirPermission = $defaultPermissions['dir']; - $dirPermission = is_string($dirPermission) ? base_convert($dirPermission,8,10) : $dirPermission; + $dirPermissionOriginal = $defaultPermissions['dir']; + + $dirPermission = is_string($dirPermissionOriginal) ? + base_convert($dirPermissionOriginal, 8, 10) : + $dirPermissionOriginal; if (!$this->mkdir($pathParts['dirname'], $dirPermission, true)) { throw new Error( @@ -640,11 +643,21 @@ class Manager } } - if (touch($filePath)) { - return $this->getPermissionUtils()->setDefaultPermissions($filePath); + $touchResult = touch($filePath); + + if (!$touchResult) { + return false; } - return false; + $setPrermissionsResult = $this->getPermissionUtils()->setDefaultPermissions($filePath); + + if (!$setPrermissionsResult) { + $this->unlink($filePath); + + return false; + } + + return true; } /**