diff --git a/src/App/Console/Commands/SetupDevEnvironment.php b/src/App/Console/Commands/SetupDevEnvironment.php index 146b7b69..8e451bca 100644 --- a/src/App/Console/Commands/SetupDevEnvironment.php +++ b/src/App/Console/Commands/SetupDevEnvironment.php @@ -623,105 +623,92 @@ class SetupDevEnvironment extends Command // Get meme gallery collect([ - 'Eggcited bro.jpg', - 'Get a Rest.jpg', - 'Get Your Shit Together.jpg', - 'Happiness is when you are right beside me.jpg', - 'Have a Nice Day.jpg', - 'It Works On My Machine.jpg', - 'I am Just Trying to shine.jpg', - 'It Works On My Machine.jpg', - 'Missing you It is Pig Time.jpg', - 'Sofishticated.jpg', - 'whaaaaat.jpg', - 'You Are My Sunshine.jpg', + 'demo/images/memes/Eggcited bro.jpg', + 'demo/images/memes/Get a Rest.jpg', + 'demo/images/memes/Get Your Shit Together.jpg', + 'demo/images/memes/Happiness is when you are right beside me.jpg', + 'demo/images/memes/Have a Nice Day.jpg', + 'demo/images/memes/It Works On My Machine.jpg', + 'demo/images/memes/I am Just Trying to shine.jpg', + 'demo/images/memes/Missing you It is Pig Time.jpg', + 'demo/images/memes/Sofishticated.jpg', + 'demo/images/memes/whaaaaat.jpg', + 'demo/images/memes/You Are My Sunshine.jpg', ]) ->each(function ($file) use ($user) { - $basename = Str::random(12) . '-' . $file; - // Copy file into app storage - Storage::putFileAs("files/$user->id", storage_path("demo/images/memes/$file"), $basename, 'private'); - Storage::putFileAs("files/$user->id", storage_path("demo/images/memes/thumbnail-$file"), "thumbnail-$basename", 'private'); + $thumbnail = $this->generate_thumbnails($file, $user); // Create file record File::create([ 'parent_id' => null, 'user_id' => $user->id, - 'name' => $file, - 'basename' => $basename, + 'name' => $thumbnail['name'], + 'basename' => $thumbnail['basename'], 'type' => 'image', 'author' => 'user', 'mimetype' => 'jpg', 'filesize' => rand(1000000, 4000000), - 'thumbnail' => "thumbnail-$basename", 'created_at' => now()->subMinutes(rand(1, 5)), ]); }); // Get apartments gallery collect([ - 'Apartment Architecture Ceiling Chairs.jpg', - 'Apartment Chair.jpg', - 'Apartment Contemporary Couch Curtains.jpg', - 'Brown Wooden Center Table.jpg', - 'Home.jpg', - 'Kitchen Appliances.jpg', - 'Kitchen Island.jpg', + 'demo/images/apartments/Apartment Architecture Ceiling Chairs.jpg', + 'demo/images/apartments/Apartment Chair.jpg', + 'demo/images/apartments/Apartment Contemporary Couch Curtains.jpg', + 'demo/images/apartments/Brown Wooden Center Table.jpg', + 'demo/images/apartments/Home.jpg', + 'demo/images/apartments/Kitchen Appliances.jpg', + 'demo/images/apartments/Kitchen Island.jpg', ]) ->each(function ($file) use ($user, $apartments) { - $basename = Str::random(12) . '-' . $file; - // Copy file into app storage - Storage::putFileAs("files/$user->id", storage_path("demo/images/apartments/$file"), $basename, 'private'); - Storage::putFileAs("files/$user->id", storage_path("demo/images/apartments/thumbnail-$file"), "thumbnail-$basename", 'private'); + $thumbnail = $this->generate_thumbnails($file, $user); // Create file record File::create([ 'parent_id' => $apartments->id, 'user_id' => $user->id, - 'name' => $file, - 'basename' => $basename, + 'name' => $thumbnail['name'], + 'basename' => $thumbnail['basename'], 'type' => 'image', 'author' => 'user', 'mimetype' => 'jpg', 'filesize' => rand(1000000, 4000000), - 'thumbnail' => "thumbnail-$basename", 'created_at' => now()->subMinutes(rand(1, 5)), ]); }); // Get nature gallery collect([ - 'Bird Patterncolorful Green.jpg', - 'Close Up Of Peacock.jpg', - 'Close Up Photography Of Tiger.jpg', - 'Cold Nature Cute Ice.jpg', - 'Landscape Photo of Forest.jpg', - 'Photo of Hawksbill Sea Turtle.jpg', - 'Photo Of Reindeer in The Snow.jpg', - 'View Of Elephant in Water.jpg', - 'Waterfall Between Trees.jpg', - 'Wildlife Photography of Elephant During Golden Hour.jpg', - 'Yellow Animal Eyes Fur.jpg', + 'demo/images/nature/Bird Patterncolorful Green.jpg', + 'demo/images/nature/Close Up Of Peacock.jpg', + 'demo/images/nature/Close Up Photography Of Tiger.jpg', + 'demo/images/nature/Cold Nature Cute Ice.jpg', + 'demo/images/nature/Landscape Photo of Forest.jpg', + 'demo/images/nature/Photo of Hawksbill Sea Turtle.jpg', + 'demo/images/nature/Photo Of Reindeer in The Snow.jpg', + 'demo/images/nature/View Of Elephant in Water.jpg', + 'demo/images/nature/Waterfall Between Trees.jpg', + 'demo/images/nature/Wildlife Photography of Elephant During Golden Hour.jpg', + 'demo/images/nature/Yellow Animal Eyes Fur.jpg', ]) ->each(function ($file) use ($user, $nature) { - $basename = Str::random(12) . '-' . $file; - // Copy file into app storage - Storage::putFileAs("files/$user->id", storage_path("demo/images/nature/$file"), $basename, 'private'); - Storage::putFileAs("files/$user->id", storage_path("demo/images/nature/thumbnail-$file"), "thumbnail-$basename", 'private'); + $thumbnail = $this->generate_thumbnails($file, $user); // Create file record File::create([ 'parent_id' => $nature->id, 'user_id' => $user->id, - 'name' => $file, - 'basename' => $basename, + 'name' => $thumbnail['name'], + 'basename' => $thumbnail['basename'], 'type' => 'image', 'author' => 'user', 'mimetype' => 'jpg', 'filesize' => rand(1000000, 4000000), - 'thumbnail' => "thumbnail-$basename", 'created_at' => now()->subMinutes(rand(1, 5)), ]); }); @@ -851,80 +838,65 @@ class SetupDevEnvironment extends Command // Get meme gallery collect([ - 'Sofishticated.jpg', - 'whaaaaat.jpg', + 'demo/images/memes/Sofishticated.jpg', + 'demo/images/memes/whaaaaat.jpg', ]) ->each(function ($file) use ($owner, $folder) { - $basename = Str::random(12) . '-' . $file; - - // Copy file into app storage - Storage::putFileAs("files/$owner->id", storage_path("demo/images/memes/$file"), $basename, 'private'); - Storage::putFileAs("files/$owner->id", storage_path("demo/images/memes/thumbnail-$file"), "thumbnail-$basename", 'private'); + $thumbnail = $this->generate_thumbnails($file, $owner); // Create file record File::create([ 'parent_id' => $folder->id, 'user_id' => $owner->id, - 'name' => $file, - 'basename' => $basename, + 'name' => $thumbnail['name'], + 'basename' => $thumbnail['basename'], 'type' => 'image', 'author' => 'user', 'mimetype' => 'jpg', 'filesize' => rand(1000000, 4000000), - 'thumbnail' => "thumbnail-$basename", 'created_at' => now()->subMinutes(rand(1, 5)), ]); }); // Get meme gallery collect([ - 'You Are My Sunshine.jpg', + 'demo/images/memes/You Are My Sunshine.jpg', ]) ->each(function ($file) use ($johan, $folder) { - $basename = Str::random(12) . '-' . $file; - - // Copy file into app storage - Storage::putFileAs("files/$johan->id", storage_path("demo/images/memes/$file"), $basename, 'private'); - Storage::putFileAs("files/$johan->id", storage_path("demo/images/memes/thumbnail-$file"), "thumbnail-$basename", 'private'); + $thumbnail = $this->generate_thumbnails($file, $johan); // Create file record File::create([ 'parent_id' => $folder->id, 'user_id' => $johan->id, - 'name' => $file, - 'basename' => $basename, + 'name' => $thumbnail['name'], + 'basename' => $thumbnail['basename'], 'type' => 'image', 'author' => 'user', 'mimetype' => 'jpg', 'filesize' => rand(1000000, 4000000), - 'thumbnail' => "thumbnail-$basename", 'created_at' => now()->subMinutes(rand(1, 5)), ]); }); collect([ - 'Eggcited bro.jpg', - 'Get a Rest.jpg', + 'demo/images/memes/Eggcited bro.jpg', + 'demo/images/memes/Get a Rest.jpg', ]) ->each(function ($file) use ($member, $hug) { - $basename = Str::random(12) . '-' . $file; - - // Copy file into app storage - Storage::putFileAs("files/$member->id", storage_path("demo/images/memes/$file"), $basename, 'private'); - Storage::putFileAs("files/$member->id", storage_path("demo/images/memes/thumbnail-$file"), "thumbnail-$basename", 'private'); + $thumbnail = $this->generate_thumbnails($file, $member); // Create file record File::create([ 'parent_id' => $hug->id, 'user_id' => $member->id, - 'name' => $file, - 'basename' => $basename, + 'name' => $thumbnail['name'], + 'basename' => $thumbnail['basename'], 'type' => 'image', 'author' => 'user', 'mimetype' => 'jpg', 'filesize' => rand(1000000, 4000000), - 'thumbnail' => "thumbnail-$basename", 'created_at' => now()->subMinutes(rand(1, 5)), ]); }); @@ -1136,6 +1108,8 @@ class SetupDevEnvironment extends Command // Create intervention image $img = Image::make($image); + $this->info("Generating thumbnails for $avatar..."); + // Generate avatar collect(config('vuefilemanager.avatar_sizes')) ->each(function ($size) use ($img, $image, $avatar_name) { @@ -1149,4 +1123,46 @@ class SetupDevEnvironment extends Command return $avatar_name; } + + /** + * @param $file + * @param $user + * @return string + * @throws \Illuminate\Contracts\Filesystem\FileNotFoundException + */ + private function generate_thumbnails($file, $user): array + { + $image = \Illuminate\Support\Facades\File::get(storage_path($file)); + + // Create avatar name + $file_name = Str::uuid() . '.jpg'; + + // Create intervention image + $intervention = Image::make($image)->orientate(); + + $this->info("Generating thumbnails for $file..."); + + // Generate avatar sizes + collect(config('vuefilemanager.image_sizes')) + ->each(function ($size) use ($intervention, $file_name, $user) { + + // Create thumbnail only if image is larger than predefined image sizes + if ($intervention->getWidth() > $size['size']) { + + // Generate thumbnail + $intervention->resize($size['size'], null, fn($constraint) => $constraint->aspectRatio())->stream(); + + // Store thumbnail to disk + Storage::put("files/$user->id/{$size['name']}-{$file_name}", $intervention); + } + }); + + // Store original to disk + Storage::put("files/$user->id/{$file_name}", $intervention); + + return [ + 'basename' => $file_name, + 'name' => head(explode('.', last(explode('/', $file)))), + ]; + } } diff --git a/storage/demo/images/apartments/thumbnail-Apartment Architecture Ceiling Chairs.jpg b/storage/demo/images/apartments/thumbnail-Apartment Architecture Ceiling Chairs.jpg deleted file mode 100644 index f19120b7..00000000 Binary files a/storage/demo/images/apartments/thumbnail-Apartment Architecture Ceiling Chairs.jpg and /dev/null differ diff --git a/storage/demo/images/apartments/thumbnail-Apartment Chair.jpg b/storage/demo/images/apartments/thumbnail-Apartment Chair.jpg deleted file mode 100644 index 87c05f51..00000000 Binary files a/storage/demo/images/apartments/thumbnail-Apartment Chair.jpg and /dev/null differ diff --git a/storage/demo/images/apartments/thumbnail-Apartment Contemporary Couch Curtains.jpg b/storage/demo/images/apartments/thumbnail-Apartment Contemporary Couch Curtains.jpg deleted file mode 100644 index 10c20c58..00000000 Binary files a/storage/demo/images/apartments/thumbnail-Apartment Contemporary Couch Curtains.jpg and /dev/null differ diff --git a/storage/demo/images/apartments/thumbnail-Brown Wooden Center Table.jpg b/storage/demo/images/apartments/thumbnail-Brown Wooden Center Table.jpg deleted file mode 100644 index bd9da9dd..00000000 Binary files a/storage/demo/images/apartments/thumbnail-Brown Wooden Center Table.jpg and /dev/null differ diff --git a/storage/demo/images/apartments/thumbnail-Home.jpg b/storage/demo/images/apartments/thumbnail-Home.jpg deleted file mode 100644 index ab58b63d..00000000 Binary files a/storage/demo/images/apartments/thumbnail-Home.jpg and /dev/null differ diff --git a/storage/demo/images/apartments/thumbnail-Kitchen Appliances.jpg b/storage/demo/images/apartments/thumbnail-Kitchen Appliances.jpg deleted file mode 100644 index 7672233c..00000000 Binary files a/storage/demo/images/apartments/thumbnail-Kitchen Appliances.jpg and /dev/null differ diff --git a/storage/demo/images/apartments/thumbnail-Kitchen Island.jpg b/storage/demo/images/apartments/thumbnail-Kitchen Island.jpg deleted file mode 100644 index 95b5209f..00000000 Binary files a/storage/demo/images/apartments/thumbnail-Kitchen Island.jpg and /dev/null differ diff --git a/storage/demo/images/memes/thumbnail-Eggcited bro.jpg b/storage/demo/images/memes/thumbnail-Eggcited bro.jpg deleted file mode 100644 index cedf3a8d..00000000 Binary files a/storage/demo/images/memes/thumbnail-Eggcited bro.jpg and /dev/null differ diff --git a/storage/demo/images/memes/thumbnail-Get Your Shit Together.jpg b/storage/demo/images/memes/thumbnail-Get Your Shit Together.jpg deleted file mode 100644 index d4d0a19d..00000000 Binary files a/storage/demo/images/memes/thumbnail-Get Your Shit Together.jpg and /dev/null differ diff --git a/storage/demo/images/memes/thumbnail-Get a Rest.jpg b/storage/demo/images/memes/thumbnail-Get a Rest.jpg deleted file mode 100644 index 382d8f87..00000000 Binary files a/storage/demo/images/memes/thumbnail-Get a Rest.jpg and /dev/null differ diff --git a/storage/demo/images/memes/thumbnail-Happiness is when you are right beside me.jpg b/storage/demo/images/memes/thumbnail-Happiness is when you are right beside me.jpg deleted file mode 100644 index 95cedf1a..00000000 Binary files a/storage/demo/images/memes/thumbnail-Happiness is when you are right beside me.jpg and /dev/null differ diff --git a/storage/demo/images/memes/thumbnail-Have a Nice Day.jpg b/storage/demo/images/memes/thumbnail-Have a Nice Day.jpg deleted file mode 100644 index ffb77495..00000000 Binary files a/storage/demo/images/memes/thumbnail-Have a Nice Day.jpg and /dev/null differ diff --git a/storage/demo/images/memes/thumbnail-I am Just Trying to shine.jpg b/storage/demo/images/memes/thumbnail-I am Just Trying to shine.jpg deleted file mode 100644 index 520413ba..00000000 Binary files a/storage/demo/images/memes/thumbnail-I am Just Trying to shine.jpg and /dev/null differ diff --git a/storage/demo/images/memes/thumbnail-It Works On My Machine.jpg b/storage/demo/images/memes/thumbnail-It Works On My Machine.jpg deleted file mode 100644 index 120438f6..00000000 Binary files a/storage/demo/images/memes/thumbnail-It Works On My Machine.jpg and /dev/null differ diff --git a/storage/demo/images/memes/thumbnail-Missing you It is Pig Time.jpg b/storage/demo/images/memes/thumbnail-Missing you It is Pig Time.jpg deleted file mode 100644 index 3f8af729..00000000 Binary files a/storage/demo/images/memes/thumbnail-Missing you It is Pig Time.jpg and /dev/null differ diff --git a/storage/demo/images/memes/thumbnail-Sofishticated.jpg b/storage/demo/images/memes/thumbnail-Sofishticated.jpg deleted file mode 100644 index 25ba8aae..00000000 Binary files a/storage/demo/images/memes/thumbnail-Sofishticated.jpg and /dev/null differ diff --git a/storage/demo/images/memes/thumbnail-You Are My Sunshine.jpg b/storage/demo/images/memes/thumbnail-You Are My Sunshine.jpg deleted file mode 100644 index db1d4d96..00000000 Binary files a/storage/demo/images/memes/thumbnail-You Are My Sunshine.jpg and /dev/null differ diff --git a/storage/demo/images/memes/thumbnail-whaaaaat.jpg b/storage/demo/images/memes/thumbnail-whaaaaat.jpg deleted file mode 100644 index 21cf8714..00000000 Binary files a/storage/demo/images/memes/thumbnail-whaaaaat.jpg and /dev/null differ diff --git a/storage/demo/images/nature/thumbnail-Bird Patterncolorful Green.jpg b/storage/demo/images/nature/thumbnail-Bird Patterncolorful Green.jpg deleted file mode 100644 index 4a2dc827..00000000 Binary files a/storage/demo/images/nature/thumbnail-Bird Patterncolorful Green.jpg and /dev/null differ diff --git a/storage/demo/images/nature/thumbnail-Close Up Of Peacock.jpg b/storage/demo/images/nature/thumbnail-Close Up Of Peacock.jpg deleted file mode 100644 index 9198a05a..00000000 Binary files a/storage/demo/images/nature/thumbnail-Close Up Of Peacock.jpg and /dev/null differ diff --git a/storage/demo/images/nature/thumbnail-Close Up Photography Of Tiger.jpg b/storage/demo/images/nature/thumbnail-Close Up Photography Of Tiger.jpg deleted file mode 100644 index 0ca7113a..00000000 Binary files a/storage/demo/images/nature/thumbnail-Close Up Photography Of Tiger.jpg and /dev/null differ diff --git a/storage/demo/images/nature/thumbnail-Cold Nature Cute Ice.jpg b/storage/demo/images/nature/thumbnail-Cold Nature Cute Ice.jpg deleted file mode 100644 index 9af5305f..00000000 Binary files a/storage/demo/images/nature/thumbnail-Cold Nature Cute Ice.jpg and /dev/null differ diff --git a/storage/demo/images/nature/thumbnail-Landscape Photo of Forest.jpg b/storage/demo/images/nature/thumbnail-Landscape Photo of Forest.jpg deleted file mode 100644 index a5b2a1f4..00000000 Binary files a/storage/demo/images/nature/thumbnail-Landscape Photo of Forest.jpg and /dev/null differ diff --git a/storage/demo/images/nature/thumbnail-Photo Of Reindeer in The Snow.jpg b/storage/demo/images/nature/thumbnail-Photo Of Reindeer in The Snow.jpg deleted file mode 100644 index 8adab13f..00000000 Binary files a/storage/demo/images/nature/thumbnail-Photo Of Reindeer in The Snow.jpg and /dev/null differ diff --git a/storage/demo/images/nature/thumbnail-Photo of Hawksbill Sea Turtle.jpg b/storage/demo/images/nature/thumbnail-Photo of Hawksbill Sea Turtle.jpg deleted file mode 100644 index 8563357b..00000000 Binary files a/storage/demo/images/nature/thumbnail-Photo of Hawksbill Sea Turtle.jpg and /dev/null differ diff --git a/storage/demo/images/nature/thumbnail-View Of Elephant in Water.jpg b/storage/demo/images/nature/thumbnail-View Of Elephant in Water.jpg deleted file mode 100644 index 1889d68f..00000000 Binary files a/storage/demo/images/nature/thumbnail-View Of Elephant in Water.jpg and /dev/null differ diff --git a/storage/demo/images/nature/thumbnail-Waterfall Between Trees.jpg b/storage/demo/images/nature/thumbnail-Waterfall Between Trees.jpg deleted file mode 100644 index 1626b653..00000000 Binary files a/storage/demo/images/nature/thumbnail-Waterfall Between Trees.jpg and /dev/null differ diff --git a/storage/demo/images/nature/thumbnail-Wildlife Photography of Elephant During Golden Hour.jpg b/storage/demo/images/nature/thumbnail-Wildlife Photography of Elephant During Golden Hour.jpg deleted file mode 100644 index 989dd4fb..00000000 Binary files a/storage/demo/images/nature/thumbnail-Wildlife Photography of Elephant During Golden Hour.jpg and /dev/null differ diff --git a/storage/demo/images/nature/thumbnail-Yellow Animal Eyes Fur.jpg b/storage/demo/images/nature/thumbnail-Yellow Animal Eyes Fur.jpg deleted file mode 100644 index 7976a33f..00000000 Binary files a/storage/demo/images/nature/thumbnail-Yellow Animal Eyes Fur.jpg and /dev/null differ