aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorJan-Hendrik Willms <tleilax+studip@gmail.com>2025-11-17 12:45:36 +0100
committerJan-Hendrik Willms <tleilax+studip@gmail.com>2025-11-17 12:45:36 +0100
commit72a65f6b341ccb5ce1bc751bc25c4650aaccddff (patch)
treefd24ba6713a52b3ecf627a1082bb6ab705444476 /lib
parent28f0c58237583c4627f1bc29bbefee7e52d50140 (diff)
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 <tleilax+studip@gmail.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/models/Folder.php14
1 files 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);