From 00cef8e181b66f150aee33881b40f6cd54962c24 Mon Sep 17 00:00:00 2001
From: Ron Lucke <lucke@elan-ev.de>
Date: Thu, 14 Oct 2021 13:54:09 +0000
Subject: [PATCH] refs #312

---
 .../Courseware/BlockTypes/BlockType.php       | 32 +++++++++++--------
 1 file changed, 19 insertions(+), 13 deletions(-)

diff --git a/lib/models/Courseware/BlockTypes/BlockType.php b/lib/models/Courseware/BlockTypes/BlockType.php
index aa2c478815c..960ccad133b 100755
--- a/lib/models/Courseware/BlockTypes/BlockType.php
+++ b/lib/models/Courseware/BlockTypes/BlockType.php
@@ -303,14 +303,17 @@ abstract class BlockType
     protected function copyFileById(string $fileId, string $rangeId): string
     {
         $user = \User::findCurrent();
+        if ($file_ref = \FileRef::find($fileId)) {
+            $copiedFile = \FileManager::copyFile(
+                $file_ref->getFiletype(),
+                $this->getDestinationFolder($user, $rangeId),
+                $user
+            );
 
-        $copiedFile = \FileManager::copyFile(
-            \FileRef::find($fileId)->getFiletype(),
-            $this->getDestinationFolder($user, $rangeId),
-            $user
-        );
+            return $copiedFile->id;
+        }
 
-        return $copiedFile->id;
+        return '';
     }
 
     /**
@@ -325,14 +328,17 @@ abstract class BlockType
     {
         $user = \User::findCurrent();
         $destinationFolder = $this->getDestinationFolder($user, $rangeId);
-        $sourceFolder = \Folder::find($folderId)->getTypedFolder();
-        $copiedFolder = \FileManager::copyFolder(
-            $sourceFolder,
-            $destinationFolder,
-            $user
-        );
+        if ($sourceFolder = \Folder::find($folderId)) {
+            $copiedFolder = \FileManager::copyFolder(
+                $sourceFolder->getTypedFolder(),
+                $destinationFolder,
+                $user
+            );
+
+            return $copiedFolder->id;
+        }
 
-        return $copiedFolder->id;
+        return '';
     }
 
     private function getDestinationFolder(\User $user, string $rangeId): \StandardFolder
-- 
GitLab