From 7a76ec9e02417825ba41bbceffc9f568312d3c19 Mon Sep 17 00:00:00 2001 From: fe80 Date: Wed, 5 Jun 2024 10:08:15 +0200 Subject: [PATCH] fix(ActionlogController): correct signature image for s3 bucket --- app/Http/Controllers/ActionlogController.php | 27 ++++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/app/Http/Controllers/ActionlogController.php b/app/Http/Controllers/ActionlogController.php index 91425281ee..4cdfb7d5ae 100644 --- a/app/Http/Controllers/ActionlogController.php +++ b/app/Http/Controllers/ActionlogController.php @@ -14,18 +14,23 @@ class ActionlogController extends Controller // file_get_contents, so we set the error reporting for just this class error_reporting(0); - $this->authorize('view', \App\Models\Asset::class); - $file = config('app.private_uploads').'/signatures/'.$filename; - $filetype = Helper::checkUploadIsImage($file); + $disk = config('filesystems.default'); + switch (config("filesystems.disks.$disk.driver")) { + case 's3': + $file = 'private_uploads/signatures/'.$filename; + return redirect()->away(Storage::disk($disk)->temporaryUrl($file, now()->addMinutes(5))); + default: + $this->authorize('view', \App\Models\Asset::class); + $file = config('app.private_uploads').'/signatures/'.$filename; + $filetype = Helper::checkUploadIsImage($file); - $contents = file_get_contents($file, false, stream_context_create(['http' => ['ignore_errors' => true]])); - if ($contents === false) { - Log::warning('File '.$file.' not found'); - return false; - } else { - return Response::make($contents)->header('Content-Type', $filetype); - } - + $contents = file_get_contents($file, false, stream_context_create(['http' => ['ignore_errors' => true]])); + if ($contents === false) { + Log::warning('File '.$file.' not found'); + return false; + } else { + return Response::make($contents)->header('Content-Type', $filetype); + } } public function getStoredEula($filename){ $this->authorize('view', \App\Models\Asset::class);