From ff476251f5ebe12b4989df4ca857c85a82c5af74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=8Carodej?= Date: Thu, 31 Mar 2022 11:18:09 +0200 Subject: [PATCH] .dwg fix --- README.md | 4 ++++ src/Domain/Files/Actions/UploadFileAction.php | 2 +- .../Controllers/UpgradeSystemController.php | 10 ++++++++++ src/Support/helpers.php | 15 +++++++++------ 4 files changed, 24 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index c430e5d8..90698459 100644 --- a/README.md +++ b/README.md @@ -40,6 +40,10 @@ ## Installation +- [How to install VPS with Debian 10](https://medium.com/vuefilemanager/how-to-set-up-vuefilemanager-laravel-application-on-vps-with-debian-10-64676a3ff4d7) +- [How to Set Up AWS S3](https://medium.com/vuefilemanager/how-to-set-up-vuefilemanager-with-aws-s3-as-an-external-storage-a2c525aec698) +- [How to Set Up Digital Ocean Spaces](https://medium.com/vuefilemanager/how-to-set-up-vuefilemanager-with-digital-ocean-spaces-as-a-external-storage-6cccf590c23d) + ### 1. Upload files on your server Upload project files to the web root folder of your domain. It's mostly located in `html`, `www` or `public_html` folder name. diff --git a/src/Domain/Files/Actions/UploadFileAction.php b/src/Domain/Files/Actions/UploadFileAction.php index c2f6f48a..f913a71c 100644 --- a/src/Domain/Files/Actions/UploadFileAction.php +++ b/src/Domain/Files/Actions/UploadFileAction.php @@ -88,7 +88,7 @@ class UploadFileAction // Create new file $item = UserFile::create([ - 'mimetype' => get_file_type_from_mimetype($fileMimetype), + 'mimetype' => $request->input('extension'), 'type' => get_file_type($fileMimetype), 'parent_id' => ($this->getFileParentId)($request, $user->id), 'name' => $request->input('filename'), diff --git a/src/Domain/Maintenance/Controllers/UpgradeSystemController.php b/src/Domain/Maintenance/Controllers/UpgradeSystemController.php index f1e25e8e..d84f0712 100644 --- a/src/Domain/Maintenance/Controllers/UpgradeSystemController.php +++ b/src/Domain/Maintenance/Controllers/UpgradeSystemController.php @@ -1,4 +1,5 @@ whereIn('parent_id', $teamFolderIds) ->update(['user_id' => $teamFolder->user_id]); }); + + // Upgrade dwg files + File::withTrashed() + ->where('mimetype', 'vnd.dwg') + ->cursor() + ->each(fn($file) => $file->update([ + 'mimetype' => 'dwg', + 'type' => 'file', + ])); } } diff --git a/src/Support/helpers.php b/src/Support/helpers.php index 9bcddb43..2d8ad97f 100644 --- a/src/Support/helpers.php +++ b/src/Support/helpers.php @@ -637,16 +637,19 @@ if (! function_exists('format_date')) { if (! function_exists('get_file_type')) { /** * Get file type from mimetype - * - * @param $file_mimetype - * @return string */ - function get_file_type($file_mimetype) + function get_file_type(string $fileMimetype): string { // Get mimetype from file - $mimetype = explode('/', $file_mimetype); + $mimetype = explode('/', $fileMimetype); - if (in_array($mimetype[0], ['image', 'video', 'audio'])) { + // Check image + if ($mimetype[0] === 'image' && in_array(strtolower($mimetype[1]), ['jpg', 'jpeg', 'bmp', 'png', 'gif', 'svg', 'svg+xml'])) { + return 'image'; + } + + // Check video or audio + if (in_array($mimetype[0], ['video', 'audio'])) { return $mimetype[0]; }