]> _ Git - cubist_cms-back.git/commitdiff
wait #6513 @0.25
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 24 Nov 2023 11:07:55 +0000 (12:07 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 24 Nov 2023 11:07:55 +0000 (12:07 +0100)
src/app/Magic/Models/CubistMagicAbstractModel.php

index df20e3319e7c582b8bbfefff793bd0a3985a6b99..c9a5fc244cdd53b6338f40d67a9249218e08010f 100644 (file)
@@ -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;
     }