From ae61e7fbdffe7640dd5b6f4cbc82fd6a1eb60487 Mon Sep 17 00:00:00 2001 From: Murtaza Sultani <sultani@data-quest.de> Date: Wed, 10 Jul 2024 15:53:59 +0000 Subject: [PATCH] =?UTF-8?q?Resolve=20"Methode=20"Folder::findTopFolder()"?= =?UTF-8?q?=20pr=C3=BCft=20nicht=20auf=20Typ=20"RootFolder""?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #4008 Merge request studip/studip!3198 --- lib/filesystem/FileManager.php | 4 ++-- lib/models/Folder.php | 9 +++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/filesystem/FileManager.php b/lib/filesystem/FileManager.php index 55cd769bc7f..13527a9004b 100644 --- a/lib/filesystem/FileManager.php +++ b/lib/filesystem/FileManager.php @@ -1667,7 +1667,7 @@ class FileManager */ public static function getInboxFolder(User $user) { - $top_folder = Folder::findTopFolder($user->id, 'user'); + $top_folder = Folder::findTopFolder($user->id); if (!$top_folder) { return null; } @@ -1710,7 +1710,7 @@ class FileManager */ public static function getOutboxFolder(User $user) { - $top_folder = Folder::findTopFolder($user->id, 'user'); + $top_folder = Folder::findTopFolder($user->id); if (!$top_folder) { return null; } diff --git a/lib/models/Folder.php b/lib/models/Folder.php index 7b666219eb0..b73571c133f 100644 --- a/lib/models/Folder.php +++ b/lib/models/Folder.php @@ -370,14 +370,15 @@ class Folder extends SimpleORMap implements FeedbackRange * Note that the range_id parameter is mandatory! * * @param string range_id The ID of the Stud.IP object whose top folder shall be found. + * @param string folder_type The expected folder type related to the Stud.IP object (defaults to RootFolder, use MessageFolder for the top folder of a message) * * @returns Folder|null Folder object on success or null, if no folder can be created. **/ - public static function findTopFolder($range_id) + public static function findTopFolder($range_id, $folder_type = 'RootFolder') { $top_folder = self::findOneBySQL( - "range_id = ? AND parent_id=''", - [$range_id] + "range_id = ? AND folder_type = ? AND parent_id=''", + [$range_id, $folder_type] ); //top_folder may not exist! @@ -390,7 +391,7 @@ class Folder extends SimpleORMap implements FeedbackRange return null; } - $top_folder = self::createTopFolder($range_id, $range_type); + $top_folder = self::createTopFolder($range_id, $range_type, $folder_type); } return $top_folder; -- GitLab