From 2e0e2b288f96b4a447ccd78659578d4746fbc8b8 Mon Sep 17 00:00:00 2001 From: David Siegfried <david.siegfried@uni-vechta.de> Date: Tue, 16 Aug 2022 14:16:07 +0000 Subject: [PATCH] show folder-size, closes #1402 Closes #1402 Merge request studip/studip!894 --- app/controllers/file.php | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/app/controllers/file.php b/app/controllers/file.php index 2ee852ea63e..f41d87ba0b6 100644 --- a/app/controllers/file.php +++ b/app/controllers/file.php @@ -331,12 +331,7 @@ class FileController extends AuthenticatedController //The file system object is a folder. //Calculate the files and the folder size: - $this->folder_size = 0; - $this->folder_file_amount = 0; - foreach ($this->folder->getFiles() as $file) { - $this->folder_file_amount++; - $this->folder_size += $file->getSize(); - } + list($this->folder_size, $this->folder_file_amount) = $this->getFolderSize($this->folder); PageLayout::setTitle($this->folder->name); $this->render_action('folder_details'); } @@ -1918,6 +1913,7 @@ class FileController extends AuthenticatedController PageLayout::postMessage($result); } } + list($this->folder_size, $this->folder_file_amount) = $this->getFolderSize($folder); } public function delete_folder_action($folder_id) @@ -2148,4 +2144,15 @@ class FileController extends AuthenticatedController return \FilesController::getRangeLink($folder) . '#fileref_' . $fileRef->id; } + + private function getFolderSize($folder): array + { + $folder_size = 0; + $folder_file_amount = 0; + foreach ($folder->getFiles() as $file) { + $folder_size += $file->getSize(); + $folder_file_amount++; + } + return [$folder_size, $folder_file_amount]; + } } -- GitLab