diff --git a/lib/filesystem/FileManager.php b/lib/filesystem/FileManager.php index 55cd769bc7f0e8b72fa25e91d1da42d025df97b0..13527a9004b6cd07b83f4e6698bd4e57fb9dc2e9 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 7b666219eb0115932ca8b26eb7c0c8e4d1b080be..b73571c133f9c20fd842c151c058d0804a4b3f38 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;