From cc7325074e517f2e6eccf59553d4913f77d97196 Mon Sep 17 00:00:00 2001 From: snipe Date: Mon, 6 Mar 2023 10:47:28 -0800 Subject: [PATCH 1/4] Check that the file exists before trying to stat it for filesize Signed-off-by: snipe --- app/Http/Controllers/Api/ImportController.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/Api/ImportController.php b/app/Http/Controllers/Api/ImportController.php index 2426a49bed..5874d96031 100644 --- a/app/Http/Controllers/Api/ImportController.php +++ b/app/Http/Controllers/Api/ImportController.php @@ -126,7 +126,12 @@ class ImportController extends Controller } $file_name = date('Y-m-d-his').'-'.$fixed_filename; $import->file_path = $file_name; - $import->filesize = filesize($path.'/'.$file_name); + $import->filesize = null; + + if (file_exists($path.'/'.$file_name)) { + $import->filesize = filesize($path.'/'.$file_name); + } + $import->save(); $results[] = $import; } From 8b6e8898c1681f61254270a2c1a15402f4c8f0cd Mon Sep 17 00:00:00 2001 From: snipe Date: Mon, 6 Mar 2023 15:09:12 -0800 Subject: [PATCH 2/4] Fixed hardcoded string Signed-off-by: snipe --- app/Http/Controllers/Api/SettingsController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Http/Controllers/Api/SettingsController.php b/app/Http/Controllers/Api/SettingsController.php index d0f7fea602..a0438ef078 100644 --- a/app/Http/Controllers/Api/SettingsController.php +++ b/app/Http/Controllers/Api/SettingsController.php @@ -271,7 +271,7 @@ class SettingsController extends Controller $headers = ['ContentType' => 'application/zip']; return Storage::download($path.'/'.$file, $file, $headers); } else { - return response()->json(Helper::formatStandardApiResponse('error', null, 'File not found')); + return response()->json(Helper::formatStandardApiResponse('error', null, trans('general.file_not_found'))); } } From e1069ac2341af39a78d9ac80069194508660c4b9 Mon Sep 17 00:00:00 2001 From: snipe Date: Mon, 6 Mar 2023 15:09:37 -0800 Subject: [PATCH 3/4] =?UTF-8?q?Return=20a=20file=20not=20found=20error=20i?= =?UTF-8?q?f=20it=20doesn=E2=80=99t=20appear=20on=20disk?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: snipe --- app/Http/Controllers/Api/ImportController.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Api/ImportController.php b/app/Http/Controllers/Api/ImportController.php index 5874d96031..6f5fc05ff3 100644 --- a/app/Http/Controllers/Api/ImportController.php +++ b/app/Http/Controllers/Api/ImportController.php @@ -128,9 +128,11 @@ class ImportController extends Controller $import->file_path = $file_name; $import->filesize = null; - if (file_exists($path.'/'.$file_name)) { - $import->filesize = filesize($path.'/'.$file_name); + if (!file_exists($path.'/'.$file_name)) { + return response()->json(Helper::formatStandardApiResponse('error', null, trans('general.file_not_found')), 500); } + + $import->filesize = filesize($path.'/'.$file_name); $import->save(); $results[] = $import; From 16bd2cde0f0d07942c71194cc00cbeff0b29e382 Mon Sep 17 00:00:00 2001 From: snipe Date: Mon, 6 Mar 2023 15:09:45 -0800 Subject: [PATCH 4/4] Updated string for file not found Signed-off-by: snipe --- resources/lang/de/general.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/lang/de/general.php b/resources/lang/de/general.php index 08412e2e27..3f9634b60b 100644 --- a/resources/lang/de/general.php +++ b/resources/lang/de/general.php @@ -395,7 +395,7 @@ return [ 'end_date' => 'Enddatum', 'alt_uploaded_image_thumbnail' => 'Hochgeladene Miniaturansicht', 'placeholder_kit' => 'Kit auswählen', - 'file_not_found' => 'File not found', + 'file_not_found' => 'File not found on server', 'preview_not_available' => '(no preview)', 'setup' => 'Setup', 'pre_flight' => 'Pre-Flight',