From 72a65f6b341ccb5ce1bc751bc25c4650aaccddff Mon Sep 17 00:00:00 2001 From: Jan-Hendrik Willms Date: Mon, 17 Nov 2025 12:45:36 +0100 Subject: transfer changes to Folder::findTopFolder to 5.5 and 5.4, fixes #6055, re #5944 Merge request studip/studip!4611 (cherry picked from commit 19b8ec028626fda40a460cfc6dcb62d8e2d40991) 52933e01 transfer changes to Folder::findTopFolder to 5.5 and 5.4, fixes #6055, re #5944 Co-authored-by: Jan-Hendrik Willms --- lib/models/Folder.php | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/lib/models/Folder.php b/lib/models/Folder.php index 5f22423..38da655 100644 --- a/lib/models/Folder.php +++ b/lib/models/Folder.php @@ -370,12 +370,12 @@ 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) + * @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, $folder_type = 'RootFolder') + public static function findTopFolder($range_id, $folder_type = 'RootFolder', ?string $range_type = null) { $top_folder = self::findOneBySQL( "range_id = ? AND folder_type = ? AND parent_id=''", @@ -386,10 +386,12 @@ class Folder extends SimpleORMap implements FeedbackRange if (!$top_folder) { //top_folder doest not exist: create it //determine range type: - $range_type = self::findRangeTypeById($range_id); if (!$range_type) { - //no range type means we can't create a folder! - return null; + $range_type = self::findRangeTypeById($range_id); + if (!$range_type) { + //no range type means we can't create a folder! + return null; + } } $top_folder = self::createTopFolder($range_id, $range_type, $folder_type); -- cgit v1.0