diff options
| author | Ron Lucke <lucke@elan-ev.de> | 2024-02-02 07:42:27 +0000 |
|---|---|---|
| committer | Ron Lucke <lucke@elan-ev.de> | 2024-02-02 07:42:27 +0000 |
| commit | 6b7b04e06bcae3fc0e31d987336281a1c2ba4cc7 (patch) | |
| tree | 0c157ae396fc20481b1b6b1e8a9be0a30db963e2 /lib/models/Courseware | |
| parent | feb28852d82475ebcd0573807e5d68481d0fe5b8 (diff) | |
fixes #3426 and #3427
Closes #3426 and #3427
Merge request studip/studip!2452
Diffstat (limited to 'lib/models/Courseware')
| -rw-r--r-- | lib/models/Courseware/BlockTypes/Folder.php | 43 |
1 files changed, 22 insertions, 21 deletions
diff --git a/lib/models/Courseware/BlockTypes/Folder.php b/lib/models/Courseware/BlockTypes/Folder.php index bc34f85..2eed4b0 100644 --- a/lib/models/Courseware/BlockTypes/Folder.php +++ b/lib/models/Courseware/BlockTypes/Folder.php @@ -55,27 +55,28 @@ class Folder extends BlockType if ($folder) { $typedFolder = $folder->getTypedFolder(); $payload['folder-type'] = $typedFolder->folder_type; - - foreach ($typedFolder->getFiles() as $folderFile) { - $file['id'] = $folderFile->id; - $file['attributes'] = [ - 'name' => $folderFile->name, - 'mime-type' => $folderFile->mime_type, - 'filesize' => (int) $folderFile->size, - 'mkdate' => date('c', $folderFile->mkdate), - ]; - $file['relationships'] = [ - 'owner' => [ - 'data' => ['type' => 'users', 'id' => $folderFile->user_id], - 'meta' => ['name' => $folderFile->getFileRef()->getAuthorName()] - ] - ]; - $file['meta'] = [ - 'download-url' => $folderFile->getDownloadURL(), - ]; - - if ($this->filePermission($typedFolder, $file, $user)) { - array_push($payload['files'], $file); + if ($typedFolder->isReadable($user->id)) { + foreach ($typedFolder->getFiles() as $folderFile) { + $file['id'] = $folderFile->id; + $file['attributes'] = [ + 'name' => $folderFile->name, + 'mime-type' => $folderFile->mime_type, + 'filesize' => (int) $folderFile->size, + 'mkdate' => date('c', $folderFile->mkdate), + ]; + $file['relationships'] = [ + 'owner' => [ + 'data' => ['type' => 'users', 'id' => $folderFile->user_id], + 'meta' => ['name' => $folderFile->getFileRef()->getAuthorName()] + ] + ]; + $file['meta'] = [ + 'download-url' => $folderFile->getDownloadURL(), + ]; + + if ($this->filePermission($typedFolder, $file, $user)) { + array_push($payload['files'], $file); + } } } } |
