diff --git a/app/Models/LocalFileVolume.php b/app/Models/LocalFileVolume.php index 0b9491da6..decfb1a8d 100644 --- a/app/Models/LocalFileVolume.php +++ b/app/Models/LocalFileVolume.php @@ -87,19 +87,21 @@ public function saveStorageOnServer() $fileVolume->save(); throw new \Exception('The following file is a directory on the server, but you are trying to mark it as a file.

Please delete the directory on the server or mark it as directory.'); } - if (! $fileVolume->is_directory && $isDir == 'NOK') { + if ($isDir == 'NOK' && ! $fileVolume->is_directory) { + $chmod = data_get($fileVolume, 'chmod'); + $chown = data_get($fileVolume, 'chown'); if ($content) { $content = base64_encode($content); - $chmod = $fileVolume->chmod; - $chown = $fileVolume->chown; $commands->push("echo '$content' | base64 -d | tee $path > /dev/null"); - $commands->push("chmod +x $path"); - if ($chown) { - $commands->push("chown $chown $path"); - } - if ($chmod) { - $commands->push("chmod $chmod $path"); - } + } else { + $commands->push("touch $path"); + } + $commands->push("chmod +x $path"); + if ($chown) { + $commands->push("chown $chown $path"); + } + if ($chmod) { + $commands->push("chmod $chmod $path"); } } elseif ($isDir == 'NOK' && $fileVolume->is_directory) { $commands->push("mkdir -p $path > /dev/null 2>&1 || true");