aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndré Noack <noack@data-quest.de>2024-01-08 14:50:27 +0000
committerJan-Hendrik Willms <tleilax+github@gmail.com>2024-01-10 11:26:15 +0100
commit1407847eeca9b7ea1518ed61994476e1baffdb4f (patch)
tree1481da43896a4850dde25196c8145f2de6d3afd4
parent0d2c7335a05b5a3fc9c49f4e002e2dea1c774c28 (diff)
Resolve ""Falsche" Verzeichnisstruktur bei Download aus Veranstaltung"
Closes #928 Merge request studip/studip!2490
-rw-r--r--lib/filesystem/FileArchiveManager.class.php12
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/filesystem/FileArchiveManager.class.php b/lib/filesystem/FileArchiveManager.class.php
index 498bb58..d0c1a76 100644
--- a/lib/filesystem/FileArchiveManager.class.php
+++ b/lib/filesystem/FileArchiveManager.class.php
@@ -104,7 +104,7 @@ class FileArchiveManager
//The URL has been fetched and we can put it
//in a file in the archive:
$archive->addFromString(
- $archive_fs_path . $file_type->getFilename() . '.url',
+ $archive_fs_path . FileManager::cleanFileName($file_type->getFilename()) . '.url',
"[InternetShortcut]\nURL={$url}\n"
);
//Check the file size of the archive:
@@ -119,7 +119,7 @@ class FileArchiveManager
if (is_array($file_list)) {
$user = $file_type->getUser();
$file_list[] = [
- 'name' => $file_type->getFilename(),
+ 'name' => FileManager::cleanFileName($file_type->getFilename()),
'size' => $file_type->getSize(),
'first_name' => ($user instanceof User) ? $user->vorname : '',
'last_name' => ($user instanceof User) ? $user->nachname : '',
@@ -144,7 +144,7 @@ class FileArchiveManager
if ($path) {
//It is a file in the file system:
if (file_exists($path)) {
- $archive->addFile($path, $archive_fs_path . $file_type->getFilename());
+ $archive->addFile($path, $archive_fs_path . FileManager::cleanFileName($file_type->getFilename()));
//Check the file size of the archive:
if (file_exists($archive->filename) && filesize($archive->filename) > $archive_max_size) {
throw new FileArchiveManagerException(
@@ -160,13 +160,13 @@ class FileArchiveManager
$archive_max_size = Config::get()->ZIP_DOWNLOAD_MAX_SIZE * 1024 * 1024; //1048576 bytes = 1 Mebibyte
$user = $file_type->getUser();
$file_list[] = [
- 'name' => $file_type->getFilename(),
+ 'name' => FileManager::cleanFileName($file_type->getFilename()),
'size' => $file_type->getSize(),
'first_name' => ($user instanceof User) ? $user->vorname : '',
'last_name' => ($user instanceof User) ? $user->nachname : '',
'downloads' => $file_type->getDownloads(),
'mkdate' => date('d.m.Y H:i', $file_type->getMakeDate()),
- 'path' => ($archive_fs_path . $file_type->getFilename())
+ 'path' => ($archive_fs_path . FileManager::cleanFileName($file_type->getFilename()))
];
if (count($file_list) > $archive_max_num_files) {
$archive->unchangeAll();
@@ -283,7 +283,7 @@ class FileArchiveManager
$folder_zip_path = $archive_fs_path;
if ($keep_hierarchy) {
- $folder_zip_path .= $folder->name;
+ $folder_zip_path .= FileManager::cleanFileName($folder->name);
$archive->addEmptyDir($folder_zip_path);
}
foreach ($folder->getFiles() as $file) {