diff options
| author | Elmar Ludwig <elmar.ludwig@uni-osnabrueck.de> | 2025-10-16 11:49:38 +0200 |
|---|---|---|
| committer | David Siegfried <david.siegfried@uni-vechta.de> | 2025-10-16 09:49:38 +0000 |
| commit | 67a1781ffc30d98a9c5514da246f8e5552dbe0c0 (patch) | |
| tree | 7e5ef95ac2fe5d93a391a9f14cb673c40d4acdf9 | |
| parent | 6a3a77d11d605d57c6bdefbad4e96d474c74f458 (diff) | |
remove broken reimplementation of findTopFolder(), fixes #5944
Closes #5944
Merge request studip/studip!4545
| -rw-r--r-- | lib/classes/JsonApi/Routes/Courseware/StructuralElementsImageUpload.php | 4 | ||||
| -rw-r--r-- | lib/models/Courseware/Filesystem/PublicFolder.php | 25 | ||||
| -rw-r--r-- | lib/models/Courseware/StructuralElement.php | 5 |
3 files changed, 5 insertions, 29 deletions
diff --git a/lib/classes/JsonApi/Routes/Courseware/StructuralElementsImageUpload.php b/lib/classes/JsonApi/Routes/Courseware/StructuralElementsImageUpload.php index aaca497..860252b 100644 --- a/lib/classes/JsonApi/Routes/Courseware/StructuralElementsImageUpload.php +++ b/lib/classes/JsonApi/Routes/Courseware/StructuralElementsImageUpload.php @@ -29,9 +29,9 @@ class StructuralElementsImageUpload extends NonJsonApiController } $instance = $this->findInstanceWithRange($structuralElement['range_type'], $structuralElement['range_id']); - $publicFolder = PublicFolder::findOrCreateTopFolder($instance); + $publicFolder = \Folder::findTopFolder($instance->getRoot()->id, PublicFolder::class, 'courseware'); - $fileRef = $this->handleUpload($request, $publicFolder, $structuralElement); + $fileRef = $this->handleUpload($request, $publicFolder->getTypedFolder(), $structuralElement); // remove existing image if (is_a($structuralElement->image, \FileRef::class)) { diff --git a/lib/models/Courseware/Filesystem/PublicFolder.php b/lib/models/Courseware/Filesystem/PublicFolder.php index 271c929..0c1fa3e 100644 --- a/lib/models/Courseware/Filesystem/PublicFolder.php +++ b/lib/models/Courseware/Filesystem/PublicFolder.php @@ -2,8 +2,6 @@ namespace Courseware\Filesystem; -use Courseware\Instance; -use FileType; use Folder; use FolderType; use Icon; @@ -11,29 +9,6 @@ use StandardFolder; class PublicFolder extends StandardFolder { - public static function findOrCreateTopFolder(Instance $instance): PublicFolder - { - if (!($folder = self::findTopFolder($instance))) { - $folder = self::createTopFolder($instance); - } - - return $folder; - } - - public static function findTopFolder(Instance $instance): ?PublicFolder - { - if ($folder = Folder::findOneByrange_id($instance->getRoot()->id)) { - return new PublicFolder($folder); - } - - return null; - } - - public static function createTopFolder(Instance $instance): PublicFolder - { - return new PublicFolder(Folder::createTopFolder($instance->getRoot()->id, 'courseware', PublicFolder::class)); - } - protected $folder; /** diff --git a/lib/models/Courseware/StructuralElement.php b/lib/models/Courseware/StructuralElement.php index d5cf5b5..e469454 100644 --- a/lib/models/Courseware/StructuralElement.php +++ b/lib/models/Courseware/StructuralElement.php @@ -2,6 +2,7 @@ namespace Courseware; +use Courseware\Filesystem\PublicFolder; use JSONArrayObject; use User; @@ -978,9 +979,9 @@ SQL; $original_file_ref = \FileRef::find($this->image_id); if ($original_file_ref) { $instance = new Instance($this->getCourseware($parent->range_id, $parent->range_type)); - $folder = \Courseware\Filesystem\PublicFolder::findOrCreateTopFolder($instance); + $folder = \Folder::findTopFolder($instance->getRoot()->id, PublicFolder::class, 'courseware'); /** @var \FileRef $file_ref */ - $file_ref = \FileManager::copyFile($original_file_ref->getFileType(), $folder, $user); + $file_ref = \FileManager::copyFile($original_file_ref->getFileType(), $folder->getTypedFolder(), $user); $file_ref_id = $file_ref->id; } |
