From e6206f6514c3d3cc25c6cf7daf04fc886d573c60 Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Fri, 24 Nov 2023 12:07:55 +0100 Subject: [PATCH] wait #6513 @0.25 --- .../Magic/Models/CubistMagicAbstractModel.php | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/app/Magic/Models/CubistMagicAbstractModel.php b/src/app/Magic/Models/CubistMagicAbstractModel.php index df20e33..c9a5fc2 100644 --- a/src/app/Magic/Models/CubistMagicAbstractModel.php +++ b/src/app/Magic/Models/CubistMagicAbstractModel.php @@ -1192,7 +1192,7 @@ class CubistMagicAbstractModel extends Model implements HasMedia * @return string * @throws \Exception */ - public function uploadFreeFile($uploadedFile, $attribute) + public function uploadFreeFile($uploadedFile, $attribute, $operation = 'move') { $field = $this->getField($attribute); if (!$field instanceof FilesOrURL) { @@ -1210,13 +1210,20 @@ class CubistMagicAbstractModel extends Model implements HasMedia } $name = \Cubist\Util\Files\Files::tidyName($name); $dest = $dir . $name; + if (is_link($dest)) { + unlink($dest); + } if (file_exists($dest)) { unlink($dest); } - if ($uploadedFile instanceof UploadedFile) { - move_uploaded_file($uploadedFile->getPathname(), $dest); - } else { - rename($uploadedFile->getPathname(), $dest); + if ($operation === 'move') { + if ($uploadedFile instanceof UploadedFile) { + move_uploaded_file($uploadedFile->getPathname(), $dest); + } else { + rename($uploadedFile->getPathname(), $dest); + } + } else if ($operation === 'copy') { + copy($uploadedFile->getPathname(), $dest); } return $name; } -- 2.39.5