From b0bf0e4119a43f546b90364eec57f91e2b42d3d3 Mon Sep 17 00:00:00 2001 From: Carsten Rose <carsten.rose@math.uzh.ch> Date: Sat, 16 Mar 2019 16:59:08 +0100 Subject: [PATCH] Catch exception on filesize(), return '-' for non existing files. --- extension/Source/core/helper/HelperFile.php | 14 +++++++++----- extension/Source/core/report/Report.php | 5 +++-- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/extension/Source/core/helper/HelperFile.php b/extension/Source/core/helper/HelperFile.php index 6eb7a14ad..c7957d1e3 100644 --- a/extension/Source/core/helper/HelperFile.php +++ b/extension/Source/core/helper/HelperFile.php @@ -108,20 +108,24 @@ class HelperFile { * @throws UserFormException */ public static function getFileStat($pathFileName) { - $vars = array(); + $vars = [VAR_FILE_MIME_TYPE => '-', VAR_FILE_SIZE => '-']; if (empty($pathFileName)) { - return array(); + return $vars; } $pathFileName = self::correctRelativePathFileName($pathFileName); if (!file_exists($pathFileName)) { - return array(); + return $vars; } - $vars[VAR_FILE_MIME_TYPE] = self::getMimeType($pathFileName); - $vars[VAR_FILE_SIZE] = filesize($pathFileName); + try { + $vars[VAR_FILE_MIME_TYPE] = self::getMimeType($pathFileName); + $vars[VAR_FILE_SIZE] = filesize($pathFileName); + } catch (Exception $e) { + // do nothing + } return $vars; } diff --git a/extension/Source/core/report/Report.php b/extension/Source/core/report/Report.php index a2fab3e25..b472874f8 100644 --- a/extension/Source/core/report/Report.php +++ b/extension/Source/core/report/Report.php @@ -837,7 +837,8 @@ class Report { break; case COLUMN_FILE_SIZE: - $content .= filesize($columnValue); + $arr = HelperFile::getFileStat($columnValue); + $content .= $arr[VAR_FILE_SIZE] ?? '-'; break; case COLUMN_NL2BR: @@ -1328,7 +1329,7 @@ class Report { if ($defaultDownload !== '') { // Action 'Download' needs to be specified at the beginning // $columnValue = $defaultDownload . "|" . $columnValue; - $columnValue .= $defaultDownload . "|" ; + $columnValue .= $defaultDownload . "|"; } if ($defaultMode !== '') { -- GitLab