From 038e07be1802e8da4b64bfdfa4ec3d99ba5a50dc Mon Sep 17 00:00:00 2001 From: Muammer Top Date: Thu, 4 Nov 2021 16:24:19 +0300 Subject: [PATCH] #4832 insert files table for images folder --- .../src/Console/Commands/CheckImages.php | 64 +++++++++++++++++++ .../src/MediaFieldTypeServiceProvider.php | 5 ++ 2 files changed, 69 insertions(+) create mode 100644 addons/default/visiosoft/media-field_type/src/Console/Commands/CheckImages.php diff --git a/addons/default/visiosoft/media-field_type/src/Console/Commands/CheckImages.php b/addons/default/visiosoft/media-field_type/src/Console/Commands/CheckImages.php new file mode 100644 index 000000000..bf1fa7061 --- /dev/null +++ b/addons/default/visiosoft/media-field_type/src/Console/Commands/CheckImages.php @@ -0,0 +1,64 @@ +line('checking: ' . $file); + $full_path = $path . '/' . $file; + if (is_file($full_path) + && ($folder = $folderRepository->findBySlug('images')) + && !$fileRepository->findByNameAndFolder($file, $folder)) { + + $fileInfo = pathinfo($full_path); + $size = filesize($full_path); + $dimensions = getimagesize($full_path); + $mimeType = mime_content_type($full_path); + + $file = $fileRepository->create([ + 'size' => $size, + 'width' => $dimensions[0], + 'height' => $dimensions[1], + 'mime_type' => $mimeType, + 'name' => $fileInfo['basename'], + 'folder' => $folder, + 'disk' => $folder->getDisk(), + 'extension' => $fileInfo['extension'], + 'entry_type' => FilesImagesEntryModel::class, + 'str_id' => $fileInfo['filename'] . random_int(0, 999999), + ]); + + if ($file) { + $this->info('created: ' . $fileInfo['basename']); + } + } + } + } catch (ClientException $exception) { + $this->error($exception->getMessage()); + } + } +} diff --git a/addons/default/visiosoft/media-field_type/src/MediaFieldTypeServiceProvider.php b/addons/default/visiosoft/media-field_type/src/MediaFieldTypeServiceProvider.php index f100c16c7..5704e6456 100644 --- a/addons/default/visiosoft/media-field_type/src/MediaFieldTypeServiceProvider.php +++ b/addons/default/visiosoft/media-field_type/src/MediaFieldTypeServiceProvider.php @@ -1,6 +1,7 @@ 'Visiosoft\MediaFieldType\Http\Controller\UploadController@recent', 'image/rotate' => 'Visiosoft\MediaFieldType\Http\Controller\UploadController@rotate', ]; + + protected $commands = [ + CheckImages::class, + ]; }