code style fix

This commit is contained in:
Peter Papp
2021-04-25 09:02:00 +02:00
parent e103e61617
commit c47886fb8b
157 changed files with 2250 additions and 2583 deletions

File diff suppressed because one or more lines are too long

View File

@@ -1,12 +1,11 @@
<?php
namespace App\Actions\Fortify;
use App\Models\Setting;
use App\Models\User;
use App\Models\Setting;
use App\Models\UserSettings;
use Illuminate\Support\Facades\Validator;
use Illuminate\Validation\Rule;
use Illuminate\Support\Facades\Validator;
use Laravel\Fortify\Contracts\CreatesNewUsers;
class CreateNewUser implements CreatesNewUsers
@@ -25,13 +24,13 @@ class CreateNewUser implements CreatesNewUsers
->pluck('value', 'name');
// Check if account registration is enabled
if (!intval($settings['registration'])) {
if (! intval($settings['registration'])) {
abort(401);
}
Validator::make($input, [
'name' => ['required', 'string', 'max:255'],
'email' => [
'name' => ['required', 'string', 'max:255'],
'email' => [
'required',
'string',
'email',
@@ -42,7 +41,7 @@ class CreateNewUser implements CreatesNewUsers
])->validate();
$user = User::create([
'email' => $input['email'],
'email' => $input['email'],
'password' => bcrypt($input['password']),
]);
@@ -51,7 +50,7 @@ class CreateNewUser implements CreatesNewUsers
$user
->settings()
->create([
'name' => $input['name'],
'name' => $input['name'],
'storage_capacity' => $settings['storage_default'],
]);

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Actions\Fortify;
use Laravel\Fortify\Rules\Password;

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Actions\Fortify;
use Illuminate\Support\Facades\Validator;

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Actions\Fortify;
use Illuminate\Support\Facades\Hash;

View File

@@ -1,10 +1,9 @@
<?php
namespace App\Actions\Fortify;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Support\Facades\Validator;
use Illuminate\Validation\Rule;
use Illuminate\Support\Facades\Validator;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Laravel\Fortify\Contracts\UpdatesUserProfileInformation;
class UpdateUserProfileInformation implements UpdatesUserProfileInformation

View File

@@ -1,18 +1,16 @@
<?php
namespace App\Console\Commands;
use App\Models\File;
use App\Models\Folder;
use App\Models\Share;
use App\Services\HelperService;
use App\Services\SetupService;
use App\Models\Setting;
use App\Models\User;
use Illuminate\Console\Command;
use Faker;
use Illuminate\Support\Facades\Storage;
use App\Models\File;
use App\Models\User;
use App\Models\Share;
use App\Models\Folder;
use App\Models\Setting;
use Illuminate\Support\Str;
use App\Services\SetupService;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\Storage;
class SetupDevEnvironment extends Command
{
@@ -86,27 +84,27 @@ class SetupDevEnvironment extends Command
private function create_admin(): void
{
$user = User::forceCreate([
'role' => 'admin',
'email' => 'howdy@hi5ve.digital',
'role' => 'admin',
'email' => 'howdy@hi5ve.digital',
'password' => bcrypt('vuefilemanager'),
]);
$user
->settings()
->create([
'avatar' => 'avatars/avatar-01.png',
'avatar' => 'avatars/avatar-01.png',
'storage_capacity' => 5,
'name' => 'Jane Doe',
'address' => $this->faker->address,
'state' => $this->faker->state,
'city' => $this->faker->city,
'postal_code' => $this->faker->postcode,
'country' => $this->faker->randomElement(['SK', 'CZ', 'DE', 'FR']),
'phone_number' => $this->faker->phoneNumber,
'timezone' => $this->faker->randomElement(['+1.0', '+2.0', '+3.0']),
'name' => 'Jane Doe',
'address' => $this->faker->address,
'state' => $this->faker->state,
'city' => $this->faker->city,
'postal_code' => $this->faker->postcode,
'country' => $this->faker->randomElement(['SK', 'CZ', 'DE', 'FR']),
'phone_number' => $this->faker->phoneNumber,
'timezone' => $this->faker->randomElement(['+1.0', '+2.0', '+3.0']),
]);
Storage::putFileAs("avatars", storage_path("demo/avatars/avatar-01.png"), 'avatar-01.png', "private");
Storage::putFileAs('avatars', storage_path('demo/avatars/avatar-01.png'), 'avatar-01.png', 'private');
// Show user credentials
$this->info('Default admin account created. Email: howdy@hi5ve.digital and Password: vuefilemanager');
@@ -125,29 +123,28 @@ class SetupDevEnvironment extends Command
'avatar' => 'avatar-03.png',
],
])->each(function ($user) {
$newbie = User::forceCreate([
'role' => 'user',
'email' => $this->faker->email,
'role' => 'user',
'email' => $this->faker->email,
'password' => bcrypt('vuefilemanager'),
]);
$newbie
->settings()
->create([
'avatar' => "avatars/{$user['avatar']}",
'avatar' => "avatars/{$user['avatar']}",
'storage_capacity' => 5,
'name' => $this->faker->name,
'address' => $this->faker->address,
'state' => $this->faker->state,
'city' => $this->faker->city,
'postal_code' => $this->faker->postcode,
'country' => $this->faker->randomElement(['SK', 'CZ', 'DE', 'FR']),
'phone_number' => $this->faker->phoneNumber,
'timezone' => $this->faker->randomElement(['+1.0', '+2.0', '+3.0']),
'name' => $this->faker->name,
'address' => $this->faker->address,
'state' => $this->faker->state,
'city' => $this->faker->city,
'postal_code' => $this->faker->postcode,
'country' => $this->faker->randomElement(['SK', 'CZ', 'DE', 'FR']),
'phone_number' => $this->faker->phoneNumber,
'timezone' => $this->faker->randomElement(['+1.0', '+2.0', '+3.0']),
]);
Storage::putFileAs("avatars", storage_path("demo/avatars/{$user['avatar']}"), $user['avatar'], "private");
Storage::putFileAs('avatars', storage_path("demo/avatars/{$user['avatar']}"), $user['avatar'], 'private');
$this->info("Generated user with email: $newbie->email and Password: vuefilemanager");
});
@@ -164,51 +161,51 @@ class SetupDevEnvironment extends Command
// 1.
$shared_folder = Folder::factory(Folder::class)
->create([
'user_id' => $user->id,
'author' => 'user',
'name' => 'Shared Folder',
'emoji' => [
"codes" => "1F680",
"char" => "🚀",
"name" => "rocket",
"category" => "Travel & Places (transport-air)",
"group" => "Travel & Places",
"subgroup" => "transport-air"
'user_id' => $user->id,
'author' => 'user',
'name' => 'Shared Folder',
'emoji' => [
'codes' => '1F680',
'char' => '🚀',
'name' => 'rocket',
'category' => 'Travel & Places (transport-air)',
'group' => 'Travel & Places',
'subgroup' => 'transport-air',
],
'created_at' => now(),
]);
Share::factory(Share::class)
->create([
'type' => 'folder',
'item_id' => $shared_folder->id,
'user_id' => $user->id,
'permission' => 'editor',
'type' => 'folder',
'item_id' => $shared_folder->id,
'user_id' => $user->id,
'permission' => 'editor',
'is_protected' => false,
'password' => null,
'expire_in' => null,
'password' => null,
'expire_in' => null,
]);
$peters_files = Folder::factory(Folder::class)
->create([
'user_id' => $user->id,
'user_id' => $user->id,
'parent_id' => $shared_folder->id,
'author' => 'visitor',
'name' => "Peter's Files",
'author' => 'visitor',
'name' => "Peter's Files",
]);
// 2.
$random_pics = Folder::factory(Folder::class)
->create([
'user_id' => $user->id,
'author' => 'user',
'name' => 'Random Pics',
'emoji' => [
'codes' => '1F4F7',
'char' => '📷',
'name' => 'camera',
'user_id' => $user->id,
'author' => 'user',
'name' => 'Random Pics',
'emoji' => [
'codes' => '1F4F7',
'char' => '📷',
'name' => 'camera',
'category' => 'Objects (light & video)',
'group' => 'Objects',
'group' => 'Objects',
'subgroup' => 'light & video',
],
'created_at' => now()->subMinutes(1),
@@ -216,32 +213,32 @@ class SetupDevEnvironment extends Command
$nature = Folder::factory(Folder::class)
->create([
'user_id' => $user->id,
'user_id' => $user->id,
'parent_id' => $random_pics->id,
'author' => 'user',
'name' => "Nature",
'emoji' => [
'codes' => '26F0',
'char' => '⛰',
'name' => 'mountain',
'author' => 'user',
'name' => 'Nature',
'emoji' => [
'codes' => '26F0',
'char' => '⛰',
'name' => 'mountain',
'category' => 'Travel & Places (place-geographic)',
'group' => 'Travel & Places',
'group' => 'Travel & Places',
'subgroup' => 'place-geographic',
],
]);
$apartments = Folder::factory(Folder::class)
->create([
'user_id' => $user->id,
'user_id' => $user->id,
'parent_id' => $random_pics->id,
'author' => 'user',
'name' => "Apartments",
'emoji' => [
'codes' => '1F3E0',
'char' => '🏠',
'name' => 'house',
'author' => 'user',
'name' => 'Apartments',
'emoji' => [
'codes' => '1F3E0',
'char' => '🏠',
'name' => 'house',
'category' => 'Travel & Places (place-building)',
'group' => 'Travel & Places',
'group' => 'Travel & Places',
'subgroup' => 'place-building',
],
]);
@@ -249,87 +246,87 @@ class SetupDevEnvironment extends Command
// 3.
$playable_media = Folder::factory(Folder::class)
->create([
'user_id' => $user->id,
'author' => 'user',
'name' => 'Playable Media',
'user_id' => $user->id,
'author' => 'user',
'name' => 'Playable Media',
'created_at' => now()->subMinutes(2),
]);
$video = Folder::factory(Folder::class)
->create([
'user_id' => $user->id,
'user_id' => $user->id,
'parent_id' => $playable_media->id,
'author' => 'user',
'name' => "Video",
'author' => 'user',
'name' => 'Video',
]);
$audio = Folder::factory(Folder::class)
->create([
'user_id' => $user->id,
'user_id' => $user->id,
'parent_id' => $playable_media->id,
'author' => 'user',
'name' => "Audio",
'author' => 'user',
'name' => 'Audio',
]);
// 4.
$multi_level = Folder::factory(Folder::class)
->create([
'user_id' => $user->id,
'author' => 'user',
'name' => 'Multi Level Folder',
'user_id' => $user->id,
'author' => 'user',
'name' => 'Multi Level Folder',
'created_at' => now()->subMinutes(3),
]);
$first_level = Folder::factory(Folder::class)
->create([
'user_id' => $user->id,
'user_id' => $user->id,
'parent_id' => $multi_level->id,
'author' => 'user',
'name' => "First Level",
'author' => 'user',
'name' => 'First Level',
]);
$second_level = Folder::factory(Folder::class)
->create([
'user_id' => $user->id,
'user_id' => $user->id,
'parent_id' => $first_level->id,
'author' => 'user',
'name' => "Second Level",
'author' => 'user',
'name' => 'Second Level',
]);
$third_level = Folder::factory(Folder::class)
->create([
'user_id' => $user->id,
'user_id' => $user->id,
'parent_id' => $second_level->id,
'author' => 'user',
'name' => "Third Level",
'author' => 'user',
'name' => 'Third Level',
]);
// 5.
$documents = Folder::factory(Folder::class)
->create([
'user_id' => $user->id,
'author' => 'user',
'name' => 'Documents',
'user_id' => $user->id,
'author' => 'user',
'name' => 'Documents',
'created_at' => now()->subMinutes(4),
]);
Share::factory(Share::class)
->create([
'type' => 'folder',
'item_id' => $documents->id,
'user_id' => $user->id,
'permission' => 'editor',
'type' => 'folder',
'item_id' => $documents->id,
'user_id' => $user->id,
'permission' => 'editor',
'is_protected' => false,
'password' => null,
'expire_in' => null,
'password' => null,
'expire_in' => null,
]);
// 6.
$videohive = Folder::factory(Folder::class)
->create([
'user_id' => $user->id,
'author' => 'user',
'name' => 'Videohive by MakingCG',
'user_id' => $user->id,
'author' => 'user',
'name' => 'Videohive by MakingCG',
'created_at' => now()->subMinutes(5),
]);
@@ -345,43 +342,42 @@ class SetupDevEnvironment extends Command
// Get documents to root directory
collect([
[
'name' => 'Random Document',
'name' => 'Random Document',
'basename' => 'Licence.pdf',
'mimetype' => 'pdf',
],
[
'name' => 'School Report',
'name' => 'School Report',
'basename' => 'Project Notes.pdf',
'mimetype' => 'pdf',
],
[
'name' => 'Personal Savings',
'name' => 'Personal Savings',
'basename' => 'School Report.pages',
'mimetype' => 'pages',
],
[
'name' => 'Top Secret Files',
'name' => 'Top Secret Files',
'basename' => 'Stories of the Night Skies.pages',
'mimetype' => 'pages',
],
])
->each(function ($file) use ($user) {
$basename = Str::random(12) . '-' . $file['basename'];
// Copy file into app storage
Storage::putFileAs("files/$user->id", storage_path("demo/documents/{$file['basename']}"), $basename, "private");
Storage::putFileAs("files/$user->id", storage_path("demo/documents/{$file['basename']}"), $basename, 'private');
// Create file record
File::create([
'folder_id' => null,
'user_id' => $user->id,
'name' => $file['name'],
'basename' => $basename,
'type' => 'file',
'author' => 'user',
'mimetype' => $file['mimetype'],
'filesize' => rand(1000000, 4000000),
'folder_id' => null,
'user_id' => $user->id,
'name' => $file['name'],
'basename' => $basename,
'type' => 'file',
'author' => 'user',
'mimetype' => $file['mimetype'],
'filesize' => rand(1000000, 4000000),
'created_at' => now()->subMinutes(rand(1, 5)),
]);
});
@@ -389,43 +385,42 @@ class SetupDevEnvironment extends Command
// Get documents to documents folder
collect([
[
'name' => 'Home Improvement',
'name' => 'Home Improvement',
'basename' => 'Licence.pdf',
'mimetype' => 'pdf',
],
[
'name' => 'Project Notes',
'name' => 'Project Notes',
'basename' => 'Project Notes.pdf',
'mimetype' => 'pdf',
],
[
'name' => 'Personal Savings',
'name' => 'Personal Savings',
'basename' => 'School Report.pages',
'mimetype' => 'pages',
],
[
'name' => 'License',
'name' => 'License',
'basename' => 'Stories of the Night Skies.pages',
'mimetype' => 'pages',
],
])
->each(function ($file) use ($user, $documents) {
$basename = Str::random(12) . '-' . $file['basename'];
// Copy file into app storage
Storage::putFileAs("files/$user->id", storage_path("demo/documents/{$file['basename']}"), $basename, "private");
Storage::putFileAs("files/$user->id", storage_path("demo/documents/{$file['basename']}"), $basename, 'private');
// Create file record
File::create([
'folder_id' => $documents->id,
'user_id' => $user->id,
'name' => $file['name'],
'basename' => $basename,
'type' => 'file',
'author' => 'user',
'mimetype' => $file['mimetype'],
'filesize' => rand(1000000, 4000000),
'folder_id' => $documents->id,
'user_id' => $user->id,
'name' => $file['name'],
'basename' => $basename,
'type' => 'file',
'author' => 'user',
'mimetype' => $file['mimetype'],
'filesize' => rand(1000000, 4000000),
'created_at' => now()->subMinutes(rand(1, 5)),
]);
});
@@ -433,33 +428,32 @@ class SetupDevEnvironment extends Command
// Get documents to shared folder
collect([
[
'name' => 'Home plan',
'name' => 'Home plan',
'basename' => 'Licence.pdf',
'mimetype' => 'pdf',
],
[
'name' => 'Software Licence',
'name' => 'Software Licence',
'basename' => 'Project Notes.pdf',
'mimetype' => 'pdf',
]
],
])
->each(function ($file) use ($user, $shared_folder) {
$basename = Str::random(12) . '-' . $file['basename'];
// Copy file into app storage
Storage::putFileAs("files/$user->id", storage_path("demo/documents/{$file['basename']}"), $basename, "private");
Storage::putFileAs("files/$user->id", storage_path("demo/documents/{$file['basename']}"), $basename, 'private');
// Create file record
File::create([
'folder_id' => $shared_folder->id,
'user_id' => $user->id,
'name' => $file['name'],
'basename' => $basename,
'type' => 'file',
'author' => 'user',
'mimetype' => $file['mimetype'],
'filesize' => rand(1000000, 4000000),
'folder_id' => $shared_folder->id,
'user_id' => $user->id,
'name' => $file['name'],
'basename' => $basename,
'type' => 'file',
'author' => 'user',
'mimetype' => $file['mimetype'],
'filesize' => rand(1000000, 4000000),
'created_at' => now()->subMinutes(rand(1, 5)),
]);
});
@@ -467,58 +461,57 @@ class SetupDevEnvironment extends Command
// Get documents to peter's files folder
collect([
[
'name' => 'Project Backup',
'name' => 'Project Backup',
'basename' => 'Licence.pdf',
'mimetype' => 'pdf',
],
[
'name' => 'Yearly report',
'name' => 'Yearly report',
'basename' => 'Project Notes.pdf',
'mimetype' => 'pdf',
],
[
'name' => 'Work Update',
'name' => 'Work Update',
'basename' => 'School Report.pages',
'mimetype' => 'pages',
],
[
'name' => 'Person Writing on Notebook',
'name' => 'Person Writing on Notebook',
'basename' => 'Stories of the Night Skies.pages',
'mimetype' => 'pages',
],
[
'name' => 'Blank Business Composition Computer',
'name' => 'Blank Business Composition Computer',
'basename' => 'Licence.pdf',
'mimetype' => 'pdf',
],
[
'name' => '2020 April - Export',
'name' => '2020 April - Export',
'basename' => 'Project Notes.pdf',
'mimetype' => 'pdf',
],
[
'name' => 'Ballpen Blur Close Up Computer',
'name' => 'Ballpen Blur Close Up Computer',
'basename' => 'School Report.pages',
'mimetype' => 'pages',
],
])
->each(function ($file) use ($user, $peters_files) {
$basename = Str::random(12) . '-' . $file['basename'];
// Copy file into app storage
Storage::putFileAs("files/$user->id", storage_path("demo/documents/{$file['basename']}"), $basename, "private");
Storage::putFileAs("files/$user->id", storage_path("demo/documents/{$file['basename']}"), $basename, 'private');
// Create file record
File::create([
'folder_id' => $peters_files->id,
'user_id' => $user->id,
'name' => $file['name'],
'basename' => $basename,
'type' => 'file',
'author' => 'visitor',
'mimetype' => $file['mimetype'],
'filesize' => rand(1000000, 4000000),
'folder_id' => $peters_files->id,
'user_id' => $user->id,
'name' => $file['name'],
'basename' => $basename,
'type' => 'file',
'author' => 'visitor',
'mimetype' => $file['mimetype'],
'filesize' => rand(1000000, 4000000),
'created_at' => now()->subMinutes(rand(1, 5)),
]);
});
@@ -531,22 +524,21 @@ class SetupDevEnvironment extends Command
'Sphere Bound 3D Titles.mp4',
])
->each(function ($file) use ($user, $videohive) {
$basename = Str::random(12) . '-' . $file;
// Copy file into app storage
Storage::putFileAs("files/$user->id", storage_path("demo/video/$file"), $basename, "private");
Storage::putFileAs("files/$user->id", storage_path("demo/video/$file"), $basename, 'private');
// Create file record
File::create([
'folder_id' => $videohive->id,
'user_id' => $user->id,
'name' => $file,
'basename' => $basename,
'type' => 'video',
'author' => 'user',
'mimetype' => 'mp4',
'filesize' => rand(1000000, 4000000),
'folder_id' => $videohive->id,
'user_id' => $user->id,
'name' => $file,
'basename' => $basename,
'type' => 'video',
'author' => 'user',
'mimetype' => 'mp4',
'filesize' => rand(1000000, 4000000),
'created_at' => now()->subMinutes(rand(1, 5)),
]);
});
@@ -556,22 +548,21 @@ class SetupDevEnvironment extends Command
'Apple Watch App Video Promotion.mp4',
])
->each(function ($file) use ($user, $video) {
$basename = Str::random(12) . '-' . $file;
// Copy file into app storage
Storage::putFileAs("files/$user->id", storage_path("demo/video/$file"), $basename, "private");
Storage::putFileAs("files/$user->id", storage_path("demo/video/$file"), $basename, 'private');
// Create file record
File::create([
'folder_id' => $video->id,
'user_id' => $user->id,
'name' => $file,
'basename' => $basename,
'type' => 'video',
'author' => 'user',
'mimetype' => 'mp4',
'filesize' => rand(1000000, 4000000),
'folder_id' => $video->id,
'user_id' => $user->id,
'name' => $file,
'basename' => $basename,
'type' => 'video',
'author' => 'user',
'mimetype' => 'mp4',
'filesize' => rand(1000000, 4000000),
'created_at' => now()->subMinutes(rand(1, 5)),
]);
});
@@ -581,22 +572,21 @@ class SetupDevEnvironment extends Command
'D-Block & S-te-Fan - Bla Bla.mp3',
])
->each(function ($file) use ($user, $audio) {
$basename = Str::random(12) . '-' . $file;
// Copy file into app storage
Storage::putFileAs("files/$user->id", storage_path("demo/audio/$file"), $basename, "private");
Storage::putFileAs("files/$user->id", storage_path("demo/audio/$file"), $basename, 'private');
// Create file record
File::create([
'folder_id' => $audio->id,
'user_id' => $user->id,
'name' => $file,
'basename' => $basename,
'type' => 'audio',
'author' => 'user',
'mimetype' => 'mp3',
'filesize' => rand(1000000, 4000000),
'folder_id' => $audio->id,
'user_id' => $user->id,
'name' => $file,
'basename' => $basename,
'type' => 'audio',
'author' => 'user',
'mimetype' => 'mp3',
'filesize' => rand(1000000, 4000000),
'created_at' => now()->subMinutes(rand(1, 5)),
]);
});
@@ -617,24 +607,23 @@ class SetupDevEnvironment extends Command
'You Are My Sunshine.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/memes/$file"), $basename, "private");
Storage::putFileAs("files/$user->id", storage_path("demo/images/memes/thumbnail-$file"), "thumbnail-$basename", "private");
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');
// Create file record
File::create([
'folder_id' => null,
'user_id' => $user->id,
'name' => $file,
'basename' => $basename,
'type' => 'image',
'author' => 'user',
'mimetype' => 'jpg',
'filesize' => rand(1000000, 4000000),
'thumbnail' => "thumbnail-$basename",
'folder_id' => null,
'user_id' => $user->id,
'name' => $file,
'basename' => $basename,
'type' => 'image',
'author' => 'user',
'mimetype' => 'jpg',
'filesize' => rand(1000000, 4000000),
'thumbnail' => "thumbnail-$basename",
'created_at' => now()->subMinutes(rand(1, 5)),
]);
});
@@ -650,24 +639,23 @@ class SetupDevEnvironment extends Command
'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");
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');
// Create file record
File::create([
'folder_id' => $apartments->id,
'user_id' => $user->id,
'name' => $file,
'basename' => $basename,
'type' => 'image',
'author' => 'user',
'mimetype' => 'jpg',
'filesize' => rand(1000000, 4000000),
'thumbnail' => "thumbnail-$basename",
'folder_id' => $apartments->id,
'user_id' => $user->id,
'name' => $file,
'basename' => $basename,
'type' => 'image',
'author' => 'user',
'mimetype' => 'jpg',
'filesize' => rand(1000000, 4000000),
'thumbnail' => "thumbnail-$basename",
'created_at' => now()->subMinutes(rand(1, 5)),
]);
});
@@ -687,24 +675,23 @@ class SetupDevEnvironment extends Command
'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");
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');
// Create file record
File::create([
'folder_id' => $nature->id,
'user_id' => $user->id,
'name' => $file,
'basename' => $basename,
'type' => 'image',
'author' => 'user',
'mimetype' => 'jpg',
'filesize' => rand(1000000, 4000000),
'thumbnail' => "thumbnail-$basename",
'folder_id' => $nature->id,
'user_id' => $user->id,
'name' => $file,
'basename' => $basename,
'type' => 'image',
'author' => 'user',
'mimetype' => 'jpg',
'filesize' => rand(1000000, 4000000),
'thumbnail' => "thumbnail-$basename",
'created_at' => now()->subMinutes(rand(1, 5)),
]);
});
@@ -722,13 +709,13 @@ class SetupDevEnvironment extends Command
$images->each(function ($id) use ($user) {
Share::create([
'user_id' => $user->id,
'item_id' => $id,
'type' => 'file',
'user_id' => $user->id,
'item_id' => $id,
'type' => 'file',
'is_protected' => false,
'permission' => 'editor',
'password' => null,
'expire_in' => null,
'permission' => 'editor',
'password' => null,
'expire_in' => null,
]);
});
@@ -739,13 +726,13 @@ class SetupDevEnvironment extends Command
$files->each(function ($id) use ($user) {
Share::create([
'user_id' => $user->id,
'item_id' => $id,
'type' => 'file',
'user_id' => $user->id,
'item_id' => $id,
'type' => 'file',
'is_protected' => false,
'permission' => 'editor',
'password' => null,
'expire_in' => null,
'permission' => 'editor',
'password' => null,
'expire_in' => null,
]);
});
}
@@ -758,116 +745,116 @@ class SetupDevEnvironment extends Command
// Get options
collect([
[
'name' => 'setup_wizard_database',
'name' => 'setup_wizard_database',
'value' => 1,
],
[
'name' => 'app_title',
'name' => 'app_title',
'value' => 'VueFileManager',
],
[
'name' => 'app_description',
'name' => 'app_description',
'value' => 'Your self-hosted storage cloud software powered by Laravel and Vue',
],
[
'name' => 'app_logo',
'name' => 'app_logo',
'value' => 'system/logo.svg',
],
[
'name' => 'app_logo_horizontal',
'name' => 'app_logo_horizontal',
'value' => 'system/logo-horizontal.svg',
],
[
'name' => 'app_favicon',
'name' => 'app_favicon',
'value' => 'system/favicon.png',
],
[
'name' => 'app_og_image',
'name' => 'app_og_image',
'value' => 'system/og-image.jpg',
],
[
'name' => 'app_touch_icon',
'name' => 'app_touch_icon',
'value' => 'system/touch-icon.png',
],
[
'name' => 'google_analytics',
'name' => 'google_analytics',
'value' => '',
],
[
'name' => 'contact_email',
'name' => 'contact_email',
'value' => '',
],
[
'name' => 'registration',
'name' => 'registration',
'value' => 1,
],
[
'name' => 'payments_active',
'name' => 'payments_active',
'value' => 1,
],
[
'name' => 'storage_limitation',
'name' => 'storage_limitation',
'value' => 1,
],
[
'name' => 'storage_default',
'name' => 'storage_default',
'value' => 5,
],
[
'name' => 'setup_wizard_success',
'name' => 'setup_wizard_success',
'value' => 1,
],
[
'name' => 'license',
'name' => 'license',
'value' => $this->license,
],
[
'name' => 'purchase_code',
'name' => 'purchase_code',
'value' => '26b889eb-3602-4bf2-beb3-3sc378fcf484',
],
[
'name' => 'billing_address',
'name' => 'billing_address',
'value' => 'Palo Alto 20',
],
[
'name' => 'billing_city',
'name' => 'billing_city',
'value' => 'Palo Alto',
],
[
'name' => 'billing_country',
'name' => 'billing_country',
'value' => 'US',
],
[
'name' => 'billing_name',
'name' => 'billing_name',
'value' => 'VueFileManager Inc.',
],
[
'name' => 'billing_phone_number',
'name' => 'billing_phone_number',
'value' => '312343141243214',
],
[
'name' => 'billing_postal_code',
'name' => 'billing_postal_code',
'value' => '43213',
],
[
'name' => 'billing_state',
'name' => 'billing_state',
'value' => 'California',
],
[
'name' => 'billing_vat_number',
'name' => 'billing_vat_number',
'value' => '41241241234',
]
],
])->each(function ($col) {
Setting::forceCreate([
'name' => $col['name'],
'value' => $col['value']
'name' => $col['name'],
'value' => $col['value'],
]);
});
// Get system images
collect(['logo.svg', 'logo-horizontal.svg', 'favicon.png', 'og-image.jpg', 'touch-icon.png'])
->each(function ($file) {
Storage::putFileAs("system", storage_path("demo/app/$file"), $file, "private");
Storage::putFileAs('system', storage_path("demo/app/$file"), $file, 'private');
});
}
@@ -878,12 +865,12 @@ class SetupDevEnvironment extends Command
{
// Migrate database
$this->call('migrate:fresh', [
'--force' => true
'--force' => true,
]);
// Generate app key
$this->call('key:generate', [
'--force' => true
'--force' => true,
]);
}
@@ -896,4 +883,4 @@ class SetupDevEnvironment extends Command
$this->call('config:clear');
$this->call('view:clear');
}
}
}

View File

@@ -1,9 +1,8 @@
<?php
namespace App\Console\Commands;
use App\Models\Setting;
use App\Models\User;
use App\Models\Setting;
use App\Services\SetupService;
use Illuminate\Console\Command;
@@ -17,7 +16,6 @@ class SetupProdEnvironment extends Command
protected $signature = 'setup:prod';
protected $license = 'Extended';
/**
* The console command description.
*
@@ -71,105 +69,105 @@ class SetupProdEnvironment extends Command
// Get options
collect([
[
'name' => 'setup_wizard_database',
'name' => 'setup_wizard_database',
'value' => 1,
],
[
'name' => 'app_title',
'name' => 'app_title',
'value' => 'VueFileManager',
],
[
'name' => 'app_description',
'name' => 'app_description',
'value' => 'Your self-hosted storage cloud software powered by Laravel and Vue',
],
[
'name' => 'app_logo',
'name' => 'app_logo',
'value' => null,
],
[
'name' => 'app_logo_horizontal',
'name' => 'app_logo_horizontal',
'value' => null,
],
[
'name' => 'app_favicon',
'name' => 'app_favicon',
'value' => null,
],
[
'name' => 'app_og_image',
'name' => 'app_og_image',
'value' => null,
],
[
'name' => 'app_touch_icon',
'name' => 'app_touch_icon',
'value' => null,
],
[
'name' => 'google_analytics',
'name' => 'google_analytics',
'value' => null,
],
[
'name' => 'contact_email',
'name' => 'contact_email',
'value' => null,
],
[
'name' => 'registration',
'name' => 'registration',
'value' => 0,
],
[
'name' => 'storage_limitation',
'name' => 'storage_limitation',
'value' => 1,
],
[
'name' => 'storage_default',
'name' => 'storage_default',
'value' => 5,
],
[
'name' => 'setup_wizard_success',
'name' => 'setup_wizard_success',
'value' => 1,
],
[
'name' => 'license',
'name' => 'license',
'value' => $this->license,
],
[
'name' => 'purchase_code',
'name' => 'purchase_code',
'value' => '26b889eb-3602-4bf2-beb3-3sc378fcf484',
],
[
'name' => 'billing_address',
'name' => 'billing_address',
'value' => null,
],
[
'name' => 'billing_city',
'name' => 'billing_city',
'value' => null,
],
[
'name' => 'billing_country',
'name' => 'billing_country',
'value' => null,
],
[
'name' => 'billing_name',
'name' => 'billing_name',
'value' => null,
],
[
'name' => 'billing_phone_number',
'name' => 'billing_phone_number',
'value' => null,
],
[
'name' => 'billing_postal_code',
'name' => 'billing_postal_code',
'value' => null,
],
[
'name' => 'billing_state',
'name' => 'billing_state',
'value' => null,
],
[
'name' => 'billing_vat_number',
'name' => 'billing_vat_number',
'value' => null,
]
],
])->each(function ($col) {
Setting::forceCreate([
'name' => $col['name'],
'value' => $col['value']
'name' => $col['name'],
'value' => $col['value'],
]);
});
}
@@ -180,8 +178,8 @@ class SetupProdEnvironment extends Command
private function create_admin(): void
{
$user = User::forceCreate([
'role' => 'admin',
'email' => 'admin@vuefilemanager.com',
'role' => 'admin',
'email' => 'admin@vuefilemanager.com',
'password' => bcrypt('vuefilemanager'),
]);
@@ -189,7 +187,7 @@ class SetupProdEnvironment extends Command
->settings()
->create([
'storage_capacity' => 5,
'name' => 'Admin',
'name' => 'Admin',
]);
// Show user credentials
@@ -203,12 +201,12 @@ class SetupProdEnvironment extends Command
{
// Migrate database
$this->call('migrate:fresh', [
'--force' => true
'--force' => true,
]);
// Generate app key
$this->call('key:generate', [
'--force' => true
'--force' => true,
]);
}

View File

@@ -1,11 +1,10 @@
<?php
namespace App\Console;
use App\Console\Commands\SetupDevEnvironment;
use App\Console\Commands\SetupProdEnvironment;
use App\Services\SchedulerService;
use Illuminate\Console\Scheduling\Schedule;
use App\Console\Commands\SetupDevEnvironment;
use App\Console\Commands\SetupProdEnvironment;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
class Kernel extends ConsoleKernel
@@ -37,7 +36,7 @@ class Kernel extends ConsoleKernel
$schedule->call(function () use ($scheduler) {
$scheduler->delete_old_zips();
if (!is_storage_driver(['local'])) {
if (! is_storage_driver(['local'])) {
$scheduler->delete_failed_files();
}
})->everySixHours();

View File

@@ -1,10 +1,9 @@
<?php
namespace App\Exceptions;
use Throwable;
use Illuminate\Database\Eloquent\ModelNotFoundException;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
use Throwable;
class Handler extends ExceptionHandler
{
@@ -14,7 +13,6 @@ class Handler extends ExceptionHandler
* @var array
*/
protected $dontReport = [
//
];
/**
@@ -52,11 +50,10 @@ class Handler extends ExceptionHandler
public function render($request, Throwable $exception)
{
if ($exception instanceof ModelNotFoundException) {
return response()
->redirectTo('/not-found')->setStatusCode(404);
}
return parent::render($request, $exception);
}
}
}

View File

@@ -1,15 +1,13 @@
<?php
namespace App\Http\Controllers\Admin;
use App\Models\File;
use App\Http\Controllers\Controller;
use App\Http\Resources\UsersCollection;
use App\Services\StripeService;
use DB;
use App\Models\User;
use ByteUnits\Metric;
use DB;
use App\Services\StripeService;
use Laravel\Cashier\Subscription;
use App\Http\Controllers\Controller;
use App\Http\Resources\UsersCollection;
class DashboardController extends Controller
{
@@ -38,10 +36,10 @@ class DashboardController extends Controller
)->format();
return [
'license' => get_setting('license'),
'app_version' => config('vuefilemanager.version'),
'total_users' => User::count(),
'total_used_space' => $storage_usage,
'license' => get_setting('license'),
'app_version' => config('vuefilemanager.version'),
'total_users' => User::count(),
'total_used_space' => $storage_usage,
'total_premium_users' => $premium_users,
];
}

View File

@@ -1,14 +1,11 @@
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Http\Resources\InvoiceAdminCollection;
use App\Http\Resources\InvoiceResource;
use App\Models\Invoice;
use App\Services\StripeService;
use App\Models\Setting;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Http\Resources\InvoiceResource;
use App\Http\Resources\InvoiceAdminCollection;
class InvoiceController extends Controller
{

View File

@@ -1,15 +1,14 @@
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Resources\LanguageCollection;
use App\Http\Resources\LanguageResource;
use App\Models\Language;
use App\Http\Controllers\Controller;
use App\Models\Setting;
use App\Models\Language;
use Illuminate\Http\Response;
use App\Http\Controllers\Controller;
use App\Http\Resources\LanguageResource;
use App\Http\Resources\LanguageCollection;
use Illuminate\Contracts\Foundation\Application;
use Illuminate\Contracts\Routing\ResponseFactory;
use Illuminate\Http\Response;
use App\Http\Requests\Languages\UpdateStringRequest;
use App\Http\Requests\Languages\CreateLanguageRequest;
use App\Http\Requests\Languages\UpdateLanguageRequest;
@@ -24,7 +23,8 @@ class LanguageController extends Controller
public function get_languages()
{
return response(
new LanguageCollection(Language::sortable(['created_at', 'DESC'])->get()), 200
new LanguageCollection(Language::sortable(['created_at', 'DESC'])->get()),
200
);
}
@@ -36,7 +36,8 @@ class LanguageController extends Controller
public function get_language(Language $language)
{
return response(
new LanguageResource($language), 200
new LanguageResource($language),
200
);
}
@@ -52,12 +53,13 @@ class LanguageController extends Controller
abort_if(is_demo(), 204, 'Done.');
$language = Language::create([
'name' => $request->input('name'),
'locale' => $request->input('locale')
'name' => $request->input('name'),
'locale' => $request->input('locale'),
]);
return response(
new LanguageResource($language), 201
new LanguageResource($language),
201
);
}
@@ -75,7 +77,8 @@ class LanguageController extends Controller
$language->update(make_single_input($request));
return response(
new LanguageResource($language), 201
new LanguageResource($language),
201
);
}
@@ -95,13 +98,14 @@ class LanguageController extends Controller
->languageTranslations()
->where('key', $request->name)
->update([
'value' => $request->value
'value' => $request->value,
]);
cache()->forget("language-translations-{$language->locale}");
return response(
'Done', 204
'Done',
204
);
}
@@ -130,7 +134,8 @@ class LanguageController extends Controller
$language->delete();
return response(
'Done', 204
'Done',
204
);
}
}

View File

@@ -1,15 +1,14 @@
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Http\Resources\PageCollection;
use App\Http\Resources\PageResource;
use App\Services\DemoService;
use App\Models\Page;
use Illuminate\Contracts\Routing\ResponseFactory;
use Illuminate\Http\Request;
use App\Services\DemoService;
use Illuminate\Http\Response;
use App\Http\Controllers\Controller;
use App\Http\Resources\PageResource;
use App\Http\Resources\PageCollection;
use Illuminate\Contracts\Routing\ResponseFactory;
class PagesController extends Controller
{

View File

@@ -1,23 +1,20 @@
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Http\Resources\PlanCollection;
use App\Http\Resources\PlanResource;
use App\Http\Resources\UserResource;
use App\Http\Resources\UsersCollection;
use App\Services\DemoService;
use App\Models\Plan;
use App\Services\StripeService;
use App\Models\User;
use Illuminate\Http\Request;
use App\Services\DemoService;
use Illuminate\Http\Response;
use App\Services\StripeService;
use Laravel\Cashier\Subscription;
use App\Http\Controllers\Controller;
use App\Http\Resources\PlanResource;
use Illuminate\Support\Facades\Cache;
use App\Http\Resources\PlanCollection;
use App\Http\Resources\UsersCollection;
use Illuminate\Contracts\Foundation\Application;
use Illuminate\Contracts\Routing\ResponseFactory;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Cache;
use Laravel\Cashier\Subscription;
use Rinvex\Subscriptions\Models\PlanFeature;
class PlanController extends Controller
{
@@ -79,7 +76,6 @@ class PlanController extends Controller
{
// TODO: inline request
if (is_demo()) {
if (Cache::has('plan-starter-pack')) {
$plan = Cache::get('plan-starter-pack');
} else {

View File

@@ -1,14 +1,13 @@
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Services\DemoService;
use App\Models\Setting;
use Artisan;
use Stripe;
use Cartalyst\Stripe\Exception\UnauthorizedException;
use Artisan;
use App\Models\Setting;
use Illuminate\Http\Request;
use App\Services\DemoService;
use App\Http\Controllers\Controller;
use Cartalyst\Stripe\Exception\UnauthorizedException;
use Symfony\Component\HttpKernel\Exception\HttpException;
class SettingController extends Controller
@@ -30,7 +29,6 @@ class SettingController extends Controller
public function show(Request $request)
{
if (strpos($request->column, '|') !== false) {
$columns = explode('|', $request->column);
return Setting::whereIn('name', $columns)
@@ -54,12 +52,11 @@ class SettingController extends Controller
// Store image if exist
if ($request->hasFile($request->name)) {
// Find and update image path
Setting::updateOrCreate([
'name' => $request->name
'name' => $request->name,
], [
'value' => store_system_image($request, $request->name)
'value' => store_system_image($request, $request->name),
]);
return response('Done', 204);
@@ -86,14 +83,13 @@ class SettingController extends Controller
// Abort in demo mode
abort_if(is_demo(), 204, 'Done.');
if (!app()->runningUnitTests()) {
if (! app()->runningUnitTests()) {
setEnvironmentValue([
'MAIL_DRIVER' => $request->driver,
'MAIL_HOST' => $request->host,
'MAIL_PORT' => $request->port,
'MAIL_USERNAME' => $request->username,
'MAIL_PASSWORD' => $request->password,
'MAIL_DRIVER' => $request->driver,
'MAIL_HOST' => $request->host,
'MAIL_PORT' => $request->port,
'MAIL_USERNAME' => $request->username,
'MAIL_PASSWORD' => $request->password,
'MAIL_ENCRYPTION' => $request->encryption,
]);
@@ -120,45 +116,42 @@ class SettingController extends Controller
// Try to get stripe account details
try {
if (!app()->runningUnitTests()) {
if (! app()->runningUnitTests()) {
Stripe::make($request->secret, '2020-03-02')
->account()
->details();
}
} catch (UnauthorizedException $e) {
throw new HttpException(401, $e->getMessage());
}
// Get options
collect([
[
'name' => 'stripe_currency',
'name' => 'stripe_currency',
'value' => $request->currency,
],
[
'name' => 'payments_configured',
'name' => 'payments_configured',
'value' => 1,
],
[
'name' => 'payments_active',
'name' => 'payments_active',
'value' => 1,
],
])->each(function ($col) {
Setting::forceCreate([
'name' => $col['name'],
'name' => $col['name'],
'value' => $col['value'],
]);
});
if (!app()->runningUnitTests()) {
if (! app()->runningUnitTests()) {
// Set stripe credentials to .env
setEnvironmentValue([
'CASHIER_CURRENCY' => $request->currency,
'STRIPE_KEY' => $request->key,
'STRIPE_SECRET' => $request->secret,
'CASHIER_CURRENCY' => $request->currency,
'STRIPE_KEY' => $request->key,
'STRIPE_SECRET' => $request->secret,
'STRIPE_WEBHOOK_SECRET' => $request->webhookSecret,
]);
@@ -179,7 +172,7 @@ class SettingController extends Controller
// Abort in demo mode
abort_if(is_demo(), 204, 'Done.');
if (!app()->runningUnitTests()) {
if (! app()->runningUnitTests()) {
Artisan::call('cache:clear');
Artisan::call('config:clear');
Artisan::call('config:cache');

View File

@@ -1,29 +1,25 @@
<?php
namespace App\Http\Controllers\Admin;
use App\Models\File;
use App\Models\Folder;
use App\Http\Controllers\Controller;
use App\Http\Requests\Admin\ChangeRoleRequest;
use App\Http\Requests\Admin\ChangeStorageCapacityRequest;
use App\Http\Requests\Admin\CreateUserByAdmin;
use App\Http\Requests\Admin\DeleteUserRequest;
use App\Http\Resources\InvoiceCollection;
use App\Http\Resources\UsersCollection;
use App\Http\Resources\UserResource;
use App\Http\Resources\UserStorageResource;
use App\Http\Resources\UserSubscription;
use App\Services\StripeService;
use App\Models\Share;
use Storage;
use App\Models\User;
use App\Models\UserSettings;
use Illuminate\Http\Response;
use App\Services\StripeService;
use App\Http\Controllers\Controller;
use App\Http\Resources\UserResource;
use Illuminate\Support\Facades\Auth;
use App\Http\Resources\UsersCollection;
use App\Http\Resources\UserSubscription;
use Illuminate\Support\Facades\Password;
use App\Http\Resources\InvoiceCollection;
use App\Http\Resources\UserStorageResource;
use App\Http\Requests\Admin\ChangeRoleRequest;
use App\Http\Requests\Admin\CreateUserByAdmin;
use App\Http\Requests\Admin\DeleteUserRequest;
use Illuminate\Contracts\Foundation\Application;
use Illuminate\Contracts\Routing\ResponseFactory;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Password;
use Storage;
use App\Http\Requests\Admin\ChangeStorageCapacityRequest;
class UserController extends Controller
{
@@ -81,7 +77,7 @@ class UserController extends Controller
*/
public function subscription(User $user)
{
if (!$user->stripeId() || !$user->subscription('main')) {
if (! $user->stripeId() || ! $user->subscription('main')) {
return response("User doesn't have any subscription.", 404);
}
@@ -179,8 +175,8 @@ class UserController extends Controller
{
// Create user
$user = User::forceCreate([
'role' => $request->role,
'email' => $request->email,
'role' => $request->role,
'email' => $request->email,
'password' => bcrypt($request->password),
]);
@@ -189,8 +185,8 @@ class UserController extends Controller
$user
->settings()
->create([
'name' => $request->name,
'avatar' => store_avatar($request, 'avatar'),
'name' => $request->name,
'avatar' => store_avatar($request, 'avatar'),
'storage_capacity' => $request->storage_capacity,
]);
@@ -222,7 +218,7 @@ class UserController extends Controller
}
if ($user->settings->name !== $request->name) {
abort(403, "The name you typed is wrong!");
abort(403, 'The name you typed is wrong!');
}
$user->delete();

View File

@@ -1,23 +1,22 @@
<?php
namespace App\Http\Controllers\App;
use App\Http\Controllers\Controller;
use App\Http\Mail\SendContactMessage;
use App\Http\Resources\PricingCollection;
use App\Http\Requests\PublicPages\SendContactMessageRequest;
use App\Http\Resources\PageResource;
use App\Models\Language;
use App\Models\Setting;
use App\Models\Page;
use App\Models\Share;
use App\Services\StripeService;
use Doctrine\DBAL\Driver\PDOException;
use Illuminate\Contracts\Routing\ResponseFactory;
use App\Models\Setting;
use App\Models\Language;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Cache;
use App\Services\StripeService;
use App\Http\Controllers\Controller;
use App\Http\Resources\PageResource;
use Illuminate\Support\Facades\Mail;
use App\Http\Mail\SendContactMessage;
use Illuminate\Support\Facades\Cache;
use Doctrine\DBAL\Driver\PDOException;
use App\Http\Resources\PricingCollection;
use Illuminate\Contracts\Routing\ResponseFactory;
use App\Http\Requests\PublicPages\SendContactMessageRequest;
class AppFunctionsController extends Controller
{
@@ -55,13 +54,11 @@ class AppFunctionsController extends Controller
// Get all settings
$settings = get_settings_in_json();
} catch (PDOException $e) {
$setup_status = 'setup-database';
}
return view("index")
return view('index')
->with('settings', $settings ?? null)
->with('legal', $pages ?? null)
->with('installation', $setup_status);
@@ -78,24 +75,24 @@ class AppFunctionsController extends Controller
// Get file/folder record
$item = ('App\\Models\\' . ucfirst($shared->type))
::where('user_id', $shared->user->id)
->where('id', $shared->item_id)
->first();
->where('id', $shared->item_id)
->first();
if ($item->thumbnail) {
$item->setPublicUrl($shared->token);
}
return view("vuefilemanager.crawler.og-view")
return view('vuefilemanager.crawler.og-view')
->with('settings', get_settings_in_json())
->with('metadata', [
'url' => url('/share', ['token' => $shared->token]),
'url' => url('/share', ['token' => $shared->token]),
'is_protected' => $shared->is_protected,
'user' => $shared->user->settings->name,
'name' => $item->name,
'size' => $shared->type === 'folder'
'user' => $shared->user->settings->name,
'name' => $item->name,
'size' => $shared->type === 'folder'
? $item->items
: $item->filesize,
'thumbnail' => $item->thumbnail ?? null,
'thumbnail' => $item->thumbnail ?? null,
]);
}
@@ -136,7 +133,6 @@ class AppFunctionsController extends Controller
public function get_setting_columns(Request $request)
{
if (strpos($request->column, '|') !== false) {
$columns = collect(explode('|', $request->column))
->each(function ($column) {
if (in_array($column, $this->blacklist)) {

View File

@@ -1,19 +1,14 @@
<?php
namespace App\Http\Controllers\App;
use App\Http\Controllers\Controller;
use App\Models\Language;
use App\Models\LanguageTranslation;
use App\Services\LanguageService;
use Artisan;
use DB;
use Gate;
use Artisan;
use App\Models\Language;
use Illuminate\Http\Response;
use App\Services\LanguageService;
use App\Http\Controllers\Controller;
use Illuminate\Contracts\Foundation\Application;
use Illuminate\Contracts\Routing\ResponseFactory;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Schema;
class Maintenance extends Controller
{
@@ -61,8 +56,6 @@ class Maintenance extends Controller
resolve(LanguageService::class)
->upgrade_language_translations();
return response('Done.', 201);
}
@@ -75,7 +68,7 @@ class Maintenance extends Controller
Gate::authorize('maintenance');
$command = Artisan::call('migrate', [
'--force' => true
'--force' => true,
]);
if ($command === 0) {
@@ -85,6 +78,7 @@ class Maintenance extends Controller
if ($command === 1) {
echo 'Operation failed.';
}
return $command;
}
}

View File

@@ -1,31 +1,29 @@
<?php
namespace App\Http\Controllers\App;
use App\Http\Controllers\Controller;
use App\Http\Requests\SetupWizard\CreateAdminRequest;
use App\Http\Requests\SetupWizard\StoreAppSetupRequest;
use App\Http\Requests\SetupWizard\StoreDatabaseCredentialsRequest;
use App\Http\Requests\SetupWizard\StoreEnvironmentSetupRequest;
use App\Http\Requests\SetupWizard\StoreStripeBillingRequest;
use App\Http\Requests\SetupWizard\StoreStripeCredentialsRequest;
use App\Http\Requests\SetupWizard\StoreStripePlansRequest;
use App\Services\SetupService;
use App\Services\StripeService;
use App\Models\Setting;
use App\Models\User;
use Artisan;
use Cartalyst\Stripe\Exception\UnauthorizedException;
use Doctrine\DBAL\Driver\PDOException;
use Illuminate\Contracts\Routing\ResponseFactory;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Http;
use Illuminate\Support\Str;
use Schema;
use Stripe;
use Artisan;
use App\Models\User;
use App\Models\Setting;
use Illuminate\Support\Str;
use Illuminate\Http\Request;
use App\Services\SetupService;
use App\Services\StripeService;
use Illuminate\Support\Facades\DB;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Http;
use Doctrine\DBAL\Driver\PDOException;
use Illuminate\Contracts\Routing\ResponseFactory;
use Cartalyst\Stripe\Exception\UnauthorizedException;
use App\Http\Requests\SetupWizard\StoreAppSetupRequest;
use Symfony\Component\HttpKernel\Exception\HttpException;
use App\Http\Requests\SetupWizard\StoreStripePlansRequest;
use App\Http\Requests\SetupWizard\StoreStripeBillingRequest;
use App\Http\Requests\SetupWizard\StoreEnvironmentSetupRequest;
use App\Http\Requests\SetupWizard\StoreStripeCredentialsRequest;
use App\Http\Requests\SetupWizard\StoreDatabaseCredentialsRequest;
class SetupWizardController extends Controller
{
@@ -66,8 +64,7 @@ class SetupWizardController extends Controller
*/
public function setup_database(StoreDatabaseCredentialsRequest $request)
{
if (!app()->runningUnitTests()) {
if (! app()->runningUnitTests()) {
try {
// Set temporary database connection
config(['database.connections.test.driver' => $request->connection]);
@@ -79,7 +76,6 @@ class SetupWizardController extends Controller
// Test connection
\DB::connection('test')->getPdo();
} catch (PDOException $e) {
throw new HttpException(500, $e->getMessage());
}
@@ -88,27 +84,27 @@ class SetupWizardController extends Controller
setEnvironmentValue([
'DB_CONNECTION' => $request->connection,
'DB_HOST' => $request->host,
'DB_PORT' => $request->port,
'DB_DATABASE' => $request->name,
'DB_USERNAME' => $request->username,
'DB_PASSWORD' => $request->password,
'DB_HOST' => $request->host,
'DB_PORT' => $request->port,
'DB_DATABASE' => $request->name,
'DB_USERNAME' => $request->username,
'DB_PASSWORD' => $request->password,
]);
Artisan::call('config:cache');
Artisan::call('key:generate', [
'--force' => true
'--force' => true,
]);
Artisan::call('migrate:fresh', [
'--force' => true
'--force' => true,
]);
}
// Store setup wizard progress
Setting::forceCreate([
'name' => 'setup_wizard_database',
'name' => 'setup_wizard_database',
'value' => 1,
]);
@@ -123,15 +119,13 @@ class SetupWizardController extends Controller
*/
public function store_stripe_credentials(StoreStripeCredentialsRequest $request)
{
if (!app()->runningUnitTests()) {
if (! app()->runningUnitTests()) {
// Create stripe instance
$stripe = Stripe::make($request->secret, '2020-03-02');
try {
// Try to get stripe account details
$stripe->account()->details();
} catch (UnauthorizedException $e) {
throw new HttpException(401, $e->getMessage());
}
@@ -140,31 +134,30 @@ class SetupWizardController extends Controller
// Set settings
collect([
[
'name' => 'stripe_currency',
'name' => 'stripe_currency',
'value' => $request->currency,
],
[
'name' => 'payments_configured',
'name' => 'payments_configured',
'value' => 1,
],
[
'name' => 'payments_active',
'name' => 'payments_active',
'value' => 1,
],
])->each(function ($col) {
Setting::forceCreate([
'name' => $col['name'],
'name' => $col['name'],
'value' => $col['value'],
]);
});
if (!app()->runningUnitTests()) {
if (! app()->runningUnitTests()) {
// Set stripe credentials to .env
setEnvironmentValue([
'CASHIER_CURRENCY' => $request->currency,
'STRIPE_KEY' => $request->key,
'STRIPE_SECRET' => $request->secret,
'CASHIER_CURRENCY' => $request->currency,
'STRIPE_KEY' => $request->key,
'STRIPE_SECRET' => $request->secret,
'STRIPE_WEBHOOK_SECRET' => $request->webhookSecret,
]);
@@ -186,45 +179,45 @@ class SetupWizardController extends Controller
// Get options
collect([
[
'name' => 'billing_phone_number',
'name' => 'billing_phone_number',
'value' => $request->billing_phone_number,
],
[
'name' => 'billing_postal_code',
'name' => 'billing_postal_code',
'value' => $request->billing_postal_code,
],
[
'name' => 'billing_vat_number',
'name' => 'billing_vat_number',
'value' => $request->billing_vat_number,
],
[
'name' => 'billing_address',
'name' => 'billing_address',
'value' => $request->billing_address,
],
[
'name' => 'billing_country',
'name' => 'billing_country',
'value' => $request->billing_country,
],
[
'name' => 'billing_state',
'name' => 'billing_state',
'value' => $request->billing_state,
],
[
'name' => 'billing_city',
'name' => 'billing_city',
'value' => $request->billing_city,
],
[
'name' => 'billing_name',
'name' => 'billing_name',
'value' => $request->billing_name,
],
])->each(function ($col) {
Setting::forceCreate([
'name' => $col['name'],
'name' => $col['name'],
'value' => $col['value'],
]);
});
if (!app()->runningUnitTests()) {
if (! app()->runningUnitTests()) {
Artisan::call('config:cache');
}
@@ -254,42 +247,41 @@ class SetupWizardController extends Controller
*/
public function store_environment_setup(StoreEnvironmentSetupRequest $request)
{
if (!app()->runningUnitTests()) {
if (! app()->runningUnitTests()) {
$drivers = [
'local' => [
'local' => [
'FILESYSTEM_DRIVER' => 'local',
],
's3' => [
'FILESYSTEM_DRIVER' => $request->storage['driver'] ?? null,
'AWS_ACCESS_KEY_ID' => $request->storage['key'] ?? null,
'AWS_SECRET_ACCESS_KEY' => $request->storage['secret'] ?? null,
'AWS_DEFAULT_REGION' => $request->storage['region'] ?? null,
'AWS_BUCKET' => $request->storage['bucket'] ?? null,
],
'spaces' => [
'FILESYSTEM_DRIVER' => $request->storage['driver'] ?? null,
'DO_SPACES_KEY' => $request->storage['key'] ?? null,
'DO_SPACES_SECRET' => $request->storage['secret'] ?? null,
'DO_SPACES_ENDPOINT' => $request->storage['endpoint'] ?? null,
'DO_SPACES_REGION' => $request->storage['region'] ?? null,
'DO_SPACES_BUCKET' => $request->storage['bucket'] ?? null,
],
'wasabi' => [
's3' => [
'FILESYSTEM_DRIVER' => $request->storage['driver'] ?? null,
'WASABI_KEY' => $request->storage['key'] ?? null,
'WASABI_SECRET' => $request->storage['secret'] ?? null,
'WASABI_ENDPOINT' => $request->storage['endpoint'] ?? null,
'WASABI_REGION' => $request->storage['region'] ?? null,
'WASABI_BUCKET' => $request->storage['bucket'] ?? null,
'AWS_ACCESS_KEY_ID' => $request->storage['key'] ?? null,
'AWS_SECRET_ACCESS_KEY' => $request->storage['secret'] ?? null,
'AWS_DEFAULT_REGION' => $request->storage['region'] ?? null,
'AWS_BUCKET' => $request->storage['bucket'] ?? null,
],
'spaces' => [
'FILESYSTEM_DRIVER' => $request->storage['driver'] ?? null,
'DO_SPACES_KEY' => $request->storage['key'] ?? null,
'DO_SPACES_SECRET' => $request->storage['secret'] ?? null,
'DO_SPACES_ENDPOINT' => $request->storage['endpoint'] ?? null,
'DO_SPACES_REGION' => $request->storage['region'] ?? null,
'DO_SPACES_BUCKET' => $request->storage['bucket'] ?? null,
],
'wasabi' => [
'FILESYSTEM_DRIVER' => $request->storage['driver'] ?? null,
'WASABI_KEY' => $request->storage['key'] ?? null,
'WASABI_SECRET' => $request->storage['secret'] ?? null,
'WASABI_ENDPOINT' => $request->storage['endpoint'] ?? null,
'WASABI_REGION' => $request->storage['region'] ?? null,
'WASABI_BUCKET' => $request->storage['bucket'] ?? null,
],
'backblaze' => [
'FILESYSTEM_DRIVER' => $request->storage['driver'] ?? null,
'BACKBLAZE_KEY' => $request->storage['key'] ?? null,
'BACKBLAZE_SECRET' => $request->storage['secret'] ?? null,
'FILESYSTEM_DRIVER' => $request->storage['driver'] ?? null,
'BACKBLAZE_KEY' => $request->storage['key'] ?? null,
'BACKBLAZE_SECRET' => $request->storage['secret'] ?? null,
'BACKBLAZE_ENDPOINT' => $request->storage['endpoint'] ?? null,
'BACKBLAZE_REGION' => $request->storage['region'] ?? null,
'BACKBLAZE_BUCKET' => $request->storage['bucket'] ?? null,
'BACKBLAZE_REGION' => $request->storage['region'] ?? null,
'BACKBLAZE_BUCKET' => $request->storage['bucket'] ?? null,
],
];
@@ -301,18 +293,17 @@ class SetupWizardController extends Controller
// Store credentials for mail
// TODO: add options for mailgun
setEnvironmentValue([
'MAIL_DRIVER' => $request->mail['driver'],
'MAIL_HOST' => $request->mail['host'],
'MAIL_PORT' => $request->mail['port'],
'MAIL_USERNAME' => $request->mail['username'],
'MAIL_PASSWORD' => $request->mail['password'],
'MAIL_DRIVER' => $request->mail['driver'],
'MAIL_HOST' => $request->mail['host'],
'MAIL_PORT' => $request->mail['port'],
'MAIL_USERNAME' => $request->mail['username'],
'MAIL_PASSWORD' => $request->mail['password'],
'MAIL_ENCRYPTION' => $request->mail['encryption'],
]);
Artisan::call('config:cache');
}
return response('Done', 204);
}
@@ -326,61 +317,61 @@ class SetupWizardController extends Controller
// Get options
collect([
[
'name' => 'app_title',
'name' => 'app_title',
'value' => $request->title,
],
[
'name' => 'app_description',
'name' => 'app_description',
'value' => $request->description,
],
[
'name' => 'app_logo',
'name' => 'app_logo',
'value' => store_system_image($request, 'logo'),
],
[
'name' => 'app_logo_horizontal',
'name' => 'app_logo_horizontal',
'value' => store_system_image($request, 'logo_horizontal'),
],
[
'name' => 'app_favicon',
'name' => 'app_favicon',
'value' => store_system_image($request, 'favicon'),
],
[
'name' => 'app_og_image',
'name' => 'app_og_image',
'value' => store_system_image($request, 'og_image'),
],
[
'name' => 'app_touch_icon',
'name' => 'app_touch_icon',
'value' => store_system_image($request, 'touch_icon'),
],
[
'name' => 'google_analytics',
'name' => 'google_analytics',
'value' => $request->googleAnalytics,
],
[
'name' => 'contact_email',
'name' => 'contact_email',
'value' => $request->contactMail,
],
[
'name' => 'registration',
'name' => 'registration',
'value' => $request->userRegistration,
],
[
'name' => 'storage_limitation',
'name' => 'storage_limitation',
'value' => $request->storageLimitation,
],
[
'name' => 'storage_default',
'name' => 'storage_default',
'value' => $request->defaultStorage ?? 5,
],
])->each(function ($col) {
Setting::forceCreate([
'name' => $col['name'],
'name' => $col['name'],
'value' => $col['value'],
]);
});
if (!app()->runningUnitTests()) {
if (! app()->runningUnitTests()) {
setEnvironmentValue([
'APP_NAME' => Str::camel($request->title),
]);
@@ -400,18 +391,18 @@ class SetupWizardController extends Controller
// Validate request
// TODO: validator do requestu
$request->validate([
'email' => 'required|string|email|unique:users',
'password' => 'required|string|min:6|confirmed',
'name' => 'required|string',
'email' => 'required|string|email|unique:users',
'password' => 'required|string|min:6|confirmed',
'name' => 'required|string',
'purchase_code' => 'required|string',
'license' => 'required|string',
'avatar' => 'sometimes|file',
'license' => 'required|string',
'avatar' => 'sometimes|file',
]);
// Create user
$user = User::forceCreate([
'role' => 'admin',
'email' => $request->email,
'role' => 'admin',
'email' => $request->email,
'password' => bcrypt($request->password),
]);
@@ -419,26 +410,26 @@ class SetupWizardController extends Controller
->settings()
->create([
'storage_capacity' => get_setting('storage_default') ?? 5,
'avatar' => store_avatar($request, 'avatar'),
'name' => $request->name,
'avatar' => store_avatar($request, 'avatar'),
'name' => $request->name,
]);
collect([
[
'name' => 'setup_wizard_success',
'name' => 'setup_wizard_success',
'value' => 1,
],
[
'name' => 'license',
'name' => 'license',
'value' => $request->license,
],
[
'name' => 'purchase_code',
'name' => 'purchase_code',
'value' => $request->purchase_code,
]
],
])->each(function ($col) {
Setting::forceCreate([
'name' => $col['name'],
'name' => $col['name'],
'value' => $col['value'],
]);
});
@@ -450,7 +441,6 @@ class SetupWizardController extends Controller
// Login account
if (Auth::attempt($request->only(['email', 'password']))) {
$request->session()->regenerate();
return response('Registration was successful', 204);
@@ -474,9 +464,7 @@ class SetupWizardController extends Controller
if (Schema::hasTable('settings') && get_setting('setup_wizard_success')) {
abort(410, 'Gone');
}
} catch (PDOException $e) {
return false;
}
}

View File

@@ -1,14 +1,12 @@
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Requests\Auth\CheckAccountRequest;
use App\Models\User;
use App\Http\Controllers\Controller;
use App\Http\Requests\Auth\CheckAccountRequest;
class AuthController extends Controller
{
/**
* Check if user account exist
*
@@ -26,7 +24,7 @@ class AuthController extends Controller
}
return [
'name' => $user->settings->name,
'name' => $user->settings->name,
'avatar' => $user->settings->avatar,
];
}

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;

View File

@@ -1,17 +1,10 @@
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use App\Mail\TestMail;
use App\Notifications\ResetPassword;
use App\Notifications\ResetUserPasswordNotification;
use App\Models\User;
use Illuminate\Foundation\Auth\SendsPasswordResetEmails;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Lang;
use Illuminate\Support\Facades\Mail;
use Illuminate\Support\Facades\Notification;
use Illuminate\Foundation\Auth\SendsPasswordResetEmails;
class ForgotPasswordController extends Controller
{

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;

View File

@@ -1,12 +1,11 @@
<?php
namespace App\Http\Controllers\Auth;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Lang;
use App\Providers\RouteServiceProvider;
use Illuminate\Foundation\Auth\ResetsPasswords;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Lang;
class ResetPasswordController extends Controller
{
@@ -30,7 +29,6 @@ class ResetPasswordController extends Controller
*/
protected $redirectTo = RouteServiceProvider::HOME;
/**
* Get the response for a successful password reset.
*
@@ -40,7 +38,6 @@ class ResetPasswordController extends Controller
*/
protected function sendResetResponse(Request $request, $response)
{
return response(['message' => Lang::get($response)]);
}
@@ -53,7 +50,6 @@ class ResetPasswordController extends Controller
*/
protected function sendResetFailedResponse(Request $request, $response)
{
return response(['error' => Lang::get($response)], 422);
}
}

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;

View File

@@ -1,11 +1,10 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
class Controller extends BaseController
{

View File

@@ -1,16 +1,15 @@
<?php
namespace App\Http\Controllers\FileManager;
use App\Http\Requests\FileBrowser\SearchRequest;
use App\Models\User;
use Illuminate\Support\Facades\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Support\Collection;
use Illuminate\Http\Request;
use App\Models\Folder;
use App\Models\File;
use App\Models\User;
use App\Models\Share;
use App\Models\Folder;
use Illuminate\Http\Request;
use Illuminate\Support\Collection;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
use App\Http\Requests\FileBrowser\SearchRequest;
class BrowseController extends Controller
{
@@ -27,7 +26,6 @@ class BrowseController extends Controller
// Get folder trash items
if ($request->query('trash')) {
// Get folders and files
$folders = Folder::onlyTrashed()
->with('parent')
@@ -105,7 +103,7 @@ class BrowseController extends Controller
$files_trashed = File::onlyTrashed()
->with(['parent'])
->where('user_id', $user_id)
->where(function($query) use ($folders_trashed) {
->where(function ($query) use ($folders_trashed) {
$query->whereNull('folder_id');
$query->orWhereNotIn('folder_id', array_values(array_unique(recursiveFind($folders_trashed->toArray(), 'id'))));
})
@@ -182,10 +180,10 @@ class BrowseController extends Controller
return [
[
'name' => __t('home'),
'location' => 'base',
'folders' => $folders,
]
'name' => __t('home'),
'location' => 'base',
'folders' => $folders,
],
];
}

View File

@@ -1,24 +1,22 @@
<?php
namespace App\Http\Controllers\FileManager;
use App\Http\Requests\FileFunctions\CreateFolderRequest;
use Exception;
use App\Models\File;
use App\Models\Folder;
use Illuminate\Http\Request;
use App\Services\DemoService;
use App\Services\HelperService;
use App\Http\Controllers\Controller;
use App\Services\FileManagerService;
use Illuminate\Support\Facades\Auth;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Contracts\Routing\ResponseFactory;
use App\Http\Requests\FileFunctions\UploadRequest;
use App\Http\Requests\FileFunctions\MoveItemRequest;
use App\Http\Requests\FileFunctions\DeleteItemRequest;
use App\Http\Requests\FileFunctions\RenameItemRequest;
use App\Http\Requests\FileFunctions\MoveItemRequest;
use App\Http\Requests\FileFunctions\UploadRequest;
use App\Services\DemoService;
use App\Services\FileManagerService;
use App\Services\HelperService;
use Illuminate\Contracts\Routing\ResponseFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use App\Http\Controllers\Controller;
use App\Models\Folder;
use App\Models\File;
use Exception;
use App\Http\Requests\FileFunctions\CreateFolderRequest;
class EditItemsController extends Controller
{
@@ -134,14 +132,14 @@ class EditItemsController extends Controller
$folder = Folder::whereUserId(Auth::id())
->where('id', $id);
if (!$folder->exists()) {
if (! $folder->exists()) {
abort(404, "Requested folder doesn't exists.");
}
$zip = $this->filemanager->zip_folder($id);
return response([
'url' => route('zip', $zip->id),
'url' => route('zip', $zip->id),
'name' => $zip->basename,
], 201);
}
@@ -161,8 +159,8 @@ class EditItemsController extends Controller
$zip = $this->filemanager->zip_files($files);
return response([
'url' => route('zip', $zip->id),
'url' => route('zip', $zip->id),
'name' => $zip->basename,
], 201);
}
}
}

View File

@@ -1,13 +1,12 @@
<?php
namespace App\Http\Controllers\FileManager;
use App\Services\DemoService;
use App\Models\Folder;
use Illuminate\Support\Facades\Validator;
use Illuminate\Http\Request;
use App\Services\DemoService;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
class FavouriteController extends Controller
{
@@ -30,7 +29,6 @@ class FavouriteController extends Controller
// todo: pridat validator ako AddToFavouritesRequest
foreach ($request->folders as $id) {
// Get user & folder
$user = Auth::user();

View File

@@ -1,13 +1,12 @@
<?php
namespace App\Http\Controllers\FileManager;
use App\Http\Controllers\Controller;
use App\Models\Zip;
use App\Services\HelperService;
use Illuminate\Support\Facades\Auth;
use Illuminate\Http\Request;
use App\Services\HelperService;
use App\Models\File as UserFile;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Storage;
class FileAccessController extends Controller
@@ -29,7 +28,7 @@ class FileAccessController extends Controller
public function get_avatar($basename)
{
// Check if file exist
if (!Storage::exists("/avatars/$basename")) {
if (! Storage::exists("/avatars/$basename")) {
abort(404);
}
@@ -47,7 +46,7 @@ class FileAccessController extends Controller
public function get_system_image($basename)
{
// Check if file exist
if (!Storage::exists("/system/$basename")) {
if (! Storage::exists("/system/$basename")) {
abort(404);
}
@@ -81,10 +80,9 @@ class FileAccessController extends Controller
$this->check_file_access($shared, $file);
}*/
// Store user download size
$request->user()->record_download(
(int)$file->getRawOriginal('filesize')
(int) $file->getRawOriginal('filesize')
);
return $this->helper->download_file($file, Auth::id());
@@ -111,11 +109,11 @@ class FileAccessController extends Controller
);
return $disk->download("zip/$zip->basename", $zip->basename, [
"Content-Type" => 'application/zip',
"Content-Length" => $disk->size("zip/$zip->basename"),
"Accept-Ranges" => "bytes",
"Content-Range" => "bytes 0-600/" . $disk->size("zip/$zip->basename"),
"Content-Disposition" => "attachment; filename=$zip->basename",
'Content-Type' => 'application/zip',
'Content-Length' => $disk->size("zip/$zip->basename"),
'Accept-Ranges' => 'bytes',
'Content-Range' => 'bytes 0-600/' . $disk->size("zip/$zip->basename"),
'Content-Disposition' => "attachment; filename=$zip->basename",
]);
}

View File

@@ -1,19 +1,18 @@
<?php
namespace App\Http\Controllers\FileManager;
use Validator;
use App\Models\Zip;
use App\Models\Share;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
use App\Http\Resources\ShareResource;
use App\Notifications\SharedSendViaEmail;
use Illuminate\Support\Facades\Notification;
use App\Http\Requests\Share\CreateShareRequest;
use App\Http\Requests\Share\UpdateShareRequest;
use App\Http\Resources\ShareResource;
use App\Models\Share;
use App\Models\Zip;
use App\Notifications\SharedSendViaEmail;
use Illuminate\Contracts\Routing\ResponseFactory;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Notification;
use Validator;
class ShareController extends Controller
{
@@ -41,20 +40,18 @@ class ShareController extends Controller
{
// Create shared options
$shared = Share::create([
'password' => $request->has('password') ? bcrypt($request->password) : null,
'type' => $request->type === 'folder' ? 'folder' : 'file',
'password' => $request->has('password') ? bcrypt($request->password) : null,
'type' => $request->type === 'folder' ? 'folder' : 'file',
'is_protected' => $request->isPassword,
'permission' => $request->permission ?? null,
'item_id' => $id,
'expire_in' => $request->expiration ?? null,
'user_id' => Auth::id(),
'permission' => $request->permission ?? null,
'item_id' => $id,
'expire_in' => $request->expiration ?? null,
'user_id' => Auth::id(),
]);
// Send shared link via email
if ($request->has('emails')) {
foreach ($request->emails as $email) {
Notification::route('mail', $email)->notify(
new SharedSendViaEmail($shared->token)
);
@@ -81,10 +78,10 @@ class ShareController extends Controller
// Update sharing record
$shared->update([
'permission' => $request->permission,
'permission' => $request->permission,
'is_protected' => $request->protected,
'expire_in' => $request->expiration,
'password' => $request->password ? bcrypt($request->password) : $shared->password,
'expire_in' => $request->expiration,
'password' => $request->password ? bcrypt($request->password) : $shared->password,
]);
// Return shared record
@@ -100,7 +97,6 @@ class ShareController extends Controller
public function destroy(Request $request)
{
foreach ($request->tokens as $token) {
// Get sharing record
Share::where('token', $token)
->where('user_id', Auth::id())
@@ -141,7 +137,6 @@ class ShareController extends Controller
// Send shared link via email
if ($request->has('emails')) {
foreach ($request->emails as $email) {
Notification::route('mail', $email)
->notify(new SharedSendViaEmail($token));

View File

@@ -1,16 +1,15 @@
<?php
namespace App\Http\Controllers\FileManager;
use App\Models\File;
use App\Models\Folder;
use Illuminate\Http\Request;
use App\Services\DemoService;
use Illuminate\Contracts\Routing\ResponseFactory;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Storage;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
use Illuminate\Http\Request;
use App\Models\Folder;
use App\Models\File;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Facades\Validator;
use Illuminate\Contracts\Routing\ResponseFactory;
class TrashController extends Controller
{
@@ -34,11 +33,13 @@ class TrashController extends Controller
// TODO: zrefaktorovat validator do requestu
$validator = Validator::make($request->input('items'), [
'*.type' => 'required|string',
'*.id' => 'string',
'*.id' => 'string',
]);
// Return error
if ($validator->fails()) abort(400, 'Bad input');
if ($validator->fails()) {
abort(400, 'Bad input');
}
// Get user id
$user_id = Auth::id();
@@ -46,10 +47,8 @@ class TrashController extends Controller
abort_if(is_demo_account('howdy@hi5ve.digital'), 204, 'Done.');
foreach ($request->input('items') as $restore) {
// Get folder
if ($restore['type'] === 'folder') {
// Get folder
$item = Folder::onlyTrashed()
->where('user_id', $user_id)
@@ -62,7 +61,6 @@ class TrashController extends Controller
$item->save();
}
} else {
// Get item
$item = File::onlyTrashed()
->where('user_id', $user_id)
@@ -105,7 +103,6 @@ class TrashController extends Controller
// Force delete files
foreach ($files as $file) {
// Delete file
Storage::delete("/files/$user_id/{$file->basename}");

View File

@@ -1,20 +1,19 @@
<?php
namespace App\Http\Controllers\Sharing;
use App\Http\Controllers\Controller;
use App\Http\Requests\Share\AuthenticateShareRequest;
use App\Http\Resources\FileResource;
use App\Http\Resources\ShareResource;
use App\Models\File;
use App\Models\Folder;
use App\Models\Share;
use App\Services\HelperService;
use Illuminate\Http\Request;
use App\Models\Folder;
use Illuminate\Support\Arr;
use Illuminate\Http\Request;
use App\Services\HelperService;
use Illuminate\Support\Collection;
use App\Http\Controllers\Controller;
use App\Http\Resources\FileResource;
use Illuminate\Support\Facades\Hash;
use App\Http\Resources\ShareResource;
use Illuminate\Support\Facades\Storage;
use App\Http\Requests\Share\AuthenticateShareRequest;
class BrowseShareController extends Controller
{
@@ -38,27 +37,25 @@ class BrowseShareController extends Controller
}
// Check if shared is image file and then show it
if ($shared->type === 'file' && !$shared->is_protected) {
if ($shared->type === 'file' && ! $shared->is_protected) {
$image = File::whereUserId($shared->user_id)
->whereType('image')
->whereId($shared->item_id)
->first();
if ($image) {
// Store user download size
$shared
->user
->record_download(
(int)$image->getRawOriginal('filesize')
(int) $image->getRawOriginal('filesize')
);
return $this->get_single_image($image, $shared->user_id);
}
}
return view("index")
return view('index')
->with('installation', 'setup-done')
->with('settings', get_settings_in_json() ?? null);
}
@@ -74,9 +71,8 @@ class BrowseShareController extends Controller
{
// Check password
if (Hash::check($request->password, $shared->password)) {
$cookie = json_encode([
'token' => $shared->token,
'token' => $shared->token,
'authenticated' => true,
]);
@@ -151,7 +147,6 @@ class BrowseShareController extends Controller
// Filter files
$files = $searched_files->filter(function ($file) use ($accessible_folder_ids, $shared) {
// Set public urls
$file->setPublicUrl($shared->token);
@@ -161,7 +156,6 @@ class BrowseShareController extends Controller
// Filter folders
$folders = $searched_folders->filter(function ($folder) use ($accessible_folder_ids) {
// check if item is in accessible folders
return in_array($folder->id, $accessible_folder_ids);
});
@@ -194,11 +188,11 @@ class BrowseShareController extends Controller
return [
[
'id' => $shared->item_id,
'name' => __t('home'),
'id' => $shared->item_id,
'name' => __t('home'),
'location' => 'public',
'folders' => $folders,
]
'folders' => $folders,
],
];
}
@@ -240,13 +234,15 @@ class BrowseShareController extends Controller
$path = "/files/$user_id/$file->basename";
// Check if file exist
if (!Storage::exists($path)) abort(404);
if (! Storage::exists($path)) {
abort(404);
}
return Storage::response($path, $file_pretty_name, [
"Content-Type" => Storage::mimeType($path),
"Content-Length" => Storage::size($path),
"Accept-Ranges" => "bytes",
"Content-Range" => "bytes 0-600/" . Storage::size($path),
'Content-Type' => Storage::mimeType($path),
'Content-Length' => Storage::size($path),
'Accept-Ranges' => 'bytes',
'Content-Range' => 'bytes 0-600/' . Storage::size($path),
]);
}
}

View File

@@ -1,13 +1,11 @@
<?php
namespace App\Http\Controllers\Sharing;
use App\Http\Controllers\Controller;
use App\Models\File as UserFile;
use App\Models\Share;
use App\Models\Zip;
use App\Models\Share;
use App\Services\HelperService;
use Illuminate\Http\Request;
use App\Models\File as UserFile;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Storage;
class FileSharedAccessController extends Controller
@@ -42,11 +40,11 @@ class FileSharedAccessController extends Controller
return $disk
->download("zip/$zip->basename", $zip->basename, [
"Content-Type" => 'application/zip',
"Content-Length" => $disk->size("zip/$zip->basename"),
"Accept-Ranges" => "bytes",
"Content-Range" => "bytes 0-600/" . $disk->size("zip/$zip->basename"),
"Content-Disposition" => "attachment; filename=" . $zip->basename,
'Content-Type' => 'application/zip',
'Content-Length' => $disk->size("zip/$zip->basename"),
'Accept-Ranges' => 'bytes',
'Content-Range' => 'bytes 0-600/' . $disk->size("zip/$zip->basename"),
'Content-Disposition' => 'attachment; filename=' . $zip->basename,
]);
}
@@ -74,7 +72,7 @@ class FileSharedAccessController extends Controller
$shared
->user
->record_download(
(int)$file->getRawOriginal('filesize')
(int) $file->getRawOriginal('filesize')
);
return $this->helper->download_file($file, $shared->user_id);
@@ -104,7 +102,7 @@ class FileSharedAccessController extends Controller
$shared
->user
->record_download(
(int)$file->getRawOriginal('filesize')
(int) $file->getRawOriginal('filesize')
);
return $this->helper->download_thumbnail_file($file, $shared->user_id);

View File

@@ -1,23 +1,21 @@
<?php
namespace App\Http\Controllers\Sharing;
use App\Http\Controllers\Controller;
use App\Http\Requests\FileFunctions\CreateFolderRequest;
use App\Http\Requests\FileFunctions\DeleteItemRequest;
use App\Http\Requests\FileFunctions\MoveItemRequest;
use App\Http\Requests\FileFunctions\RenameItemRequest;
use App\Http\Requests\FileFunctions\UploadRequest;
use App\Models\File;
use App\Models\Folder;
use App\Models\Share;
use App\Services\DemoService;
use App\Services\FileManagerService;
use App\Services\HelperService;
use Illuminate\Contracts\Routing\ResponseFactory;
use Illuminate\Database\Eloquent\Model;
use App\Models\Folder;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use App\Services\DemoService;
use App\Services\HelperService;
use App\Http\Controllers\Controller;
use App\Services\FileManagerService;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Contracts\Routing\ResponseFactory;
use App\Http\Requests\FileFunctions\UploadRequest;
use App\Http\Requests\FileFunctions\MoveItemRequest;
use App\Http\Requests\FileFunctions\DeleteItemRequest;
use App\Http\Requests\FileFunctions\RenameItemRequest;
use App\Http\Requests\FileFunctions\CreateFolderRequest;
class ManipulateShareItemsController extends Controller
{
@@ -123,7 +121,6 @@ class ManipulateShareItemsController extends Controller
{
abort_if(is_demo_account($shared->user->email), 204, 'Done.');
// Check ability to access protected share record
$this->helper->check_protected_share_record($shared);
@@ -133,7 +130,6 @@ class ManipulateShareItemsController extends Controller
}
foreach ($request->items as $file) {
// Get file|folder item
$item = get_item($file['type'], $file['id']);
@@ -205,22 +201,19 @@ class ManipulateShareItemsController extends Controller
}
foreach ($request->items as $item) {
if ($item['type'] === 'folder') {
$this->helper->check_item_access([
$request->to_id, $item['id']
$request->to_id, $item['id'],
], $shared);
}
if ($item['type'] !== 'folder') {
$file = File::where('id', $item['id'])
->where('user_id', $shared->user_id)
->firstOrFail();
$this->helper->check_item_access([
$request->to_id, $file->folder_id
$request->to_id, $file->folder_id,
], $shared);
}
}
@@ -250,7 +243,7 @@ class ManipulateShareItemsController extends Controller
$folder = Folder::whereUserId($shared->user_id)
->where('id', $id);
if (!$folder->exists()) {
if (! $folder->exists()) {
abort(404, 'Requested folder doesn\'t exists.');
}
@@ -258,8 +251,8 @@ class ManipulateShareItemsController extends Controller
// Get file
return response([
'url' => route('zip_public', [
'id' => $zip->id,
'url' => route('zip_public', [
'id' => $zip->id,
'token' => $shared->token,
]),
'name' => $zip->basename,
@@ -297,8 +290,8 @@ class ManipulateShareItemsController extends Controller
// Get file
return response([
'url' => route('zip_public', [
'id' => $zip->id,
'url' => route('zip_public', [
'id' => $zip->id,
'token' => $shared->token,
]),
'name' => $zip->basename,

View File

@@ -1,11 +1,8 @@
<?php
namespace App\Http\Controllers\Subscription;
use App\Services\StripeService;
use App\Models\Setting;
use App\Models\User;
use App\Services\StripeService;
use Laravel\Cashier\Http\Controllers\WebhookController as CashierController;
class StripeWebhookController extends CashierController
@@ -39,7 +36,7 @@ class StripeWebhookController extends CashierController
$user
->settings()
->update([
'storage_capacity' => get_setting('storage_default')
'storage_capacity' => get_setting('storage_default'),
]);
return $this->successMethod();
@@ -64,7 +61,7 @@ class StripeWebhookController extends CashierController
$user
->settings()
->update([
'storage_capacity' => $plan['product']['metadata']['capacity']
'storage_capacity' => $plan['product']['metadata']['capacity'],
]);
return $this->successMethod();

View File

@@ -1,18 +1,16 @@
<?php
namespace App\Http\Controllers\User;
use App\Http\Requests\User\UpdateUserPasswordRequest;
use App\Http\Resources\InvoiceCollection;
use App\Http\Resources\StorageDetailResource;
use App\Http\Resources\UserResource;
use App\Http\Resources\UserStorageResource;
use App\Services\DemoService;
use Illuminate\Contracts\Routing\ResponseFactory;
use Illuminate\Support\Facades\Validator;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
use Illuminate\Http\Request;
use App\Services\DemoService;
use App\Http\Controllers\Controller;
use App\Http\Resources\UserResource;
use Illuminate\Support\Facades\Auth;
use App\Http\Resources\InvoiceCollection;
use Illuminate\Support\Facades\Validator;
use App\Http\Resources\UserStorageResource;
use Illuminate\Contracts\Routing\ResponseFactory;
use App\Http\Requests\User\UpdateUserPasswordRequest;
class AccountController extends Controller
{
@@ -72,12 +70,14 @@ class AccountController extends Controller
// TODO: pridat validator do requestu
$validator = Validator::make($request->all(), [
'avatar' => 'sometimes|file',
'name' => 'string',
'value' => 'string',
'name' => 'string',
'value' => 'string',
]);
// Return error
if ($validator->fails()) abort(400, 'Bad input');
if ($validator->fails()) {
abort(400, 'Bad input');
}
// Get user
$user = Auth::user();
@@ -90,7 +90,7 @@ class AccountController extends Controller
$user
->settings()
->update([
'avatar' => store_avatar($request, 'avatar')
'avatar' => store_avatar($request, 'avatar'),
]);
return response('Saved!', 204);

View File

@@ -1,22 +1,20 @@
<?php
namespace App\Http\Controllers\User;
use App\Http\Controllers\Controller;
use App\Http\Requests\Payments\RegisterNewPaymentMethodRequest;
use App\Http\Resources\PaymentCardCollection;
use App\Http\Resources\PaymentCardResource;
use App\Http\Resources\PaymentDefaultCardResource;
use App\Services\DemoService;
use App\Services\StripeService;
use Auth;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Cache;
use App\Services\DemoService;
use App\Services\StripeService;
use Laravel\Cashier\PaymentMethod;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Cache;
use App\Http\Resources\PaymentCardResource;
use App\Http\Resources\PaymentCardCollection;
use App\Http\Resources\PaymentDefaultCardResource;
use App\Http\Requests\Payments\RegisterNewPaymentMethodRequest;
class PaymentMethodsController extends Controller
{
public function __construct(StripeService $stripe)
{
$this->stripe = $stripe;
@@ -32,7 +30,7 @@ class PaymentMethodsController extends Controller
{
$user = Auth::user();
if (!$user->hasPaymentMethod()) {
if (! $user->hasPaymentMethod()) {
return abort(204, 'User don\'t have any payment methods');
}
@@ -40,15 +38,11 @@ class PaymentMethodsController extends Controller
$slug_default_payment_method = 'default-payment-methods-user-' . $user->id;
if (Cache::has($slug_payment_methods) && Cache::has($slug_default_payment_method)) {
$defaultPaymentMethod = Cache::get($slug_default_payment_method);
$paymentMethodsMapped = Cache::get($slug_payment_methods);
} else {
// Get default payment method
$defaultPaymentMethod = Cache::rememberForever($slug_default_payment_method, function () use ($user) {
$defaultPaymentMethodObject = $user->defaultPaymentMethod();
return $defaultPaymentMethodObject instanceof PaymentMethod
@@ -58,7 +52,6 @@ class PaymentMethodsController extends Controller
// filter payment methods without default payment
$paymentMethodsMapped = Cache::rememberForever($slug_payment_methods, function () use ($defaultPaymentMethod, $user) {
$paymentMethods = $user->paymentMethods()->filter(function ($paymentMethod) use ($defaultPaymentMethod) {
return $paymentMethod->id !== $defaultPaymentMethod->id;
});
@@ -70,10 +63,10 @@ class PaymentMethodsController extends Controller
});
}
if (!$user->card_brand || !$user->stripe_id || is_null($paymentMethodsMapped) && is_null($paymentMethodsMapped)) {
if (! $user->card_brand || ! $user->stripe_id || is_null($paymentMethodsMapped) && is_null($paymentMethodsMapped)) {
return [
'default' => null,
'others' => [],
'others' => [],
];
}
@@ -81,7 +74,7 @@ class PaymentMethodsController extends Controller
'default' => $defaultPaymentMethod instanceof PaymentMethod
? new PaymentCardResource($defaultPaymentMethod)
: new PaymentDefaultCardResource($defaultPaymentMethod),
'others' => new PaymentCardCollection($paymentMethodsMapped),
'others' => new PaymentCardCollection($paymentMethodsMapped),
];
}
@@ -108,7 +101,7 @@ class PaymentMethodsController extends Controller
// Clear cached payment methods
cache_forget_many([
'payment-methods-user-' . $user->id,
'default-payment-methods-user-' . $user->id
'default-payment-methods-user-' . $user->id,
]);
return response('Done', 204);
@@ -159,7 +152,7 @@ class PaymentMethodsController extends Controller
// Clear cached payment methods
cache_forget_many([
'payment-methods-user-' . $user->id,
'default-payment-methods-user-' . $user->id
'default-payment-methods-user-' . $user->id,
]);
return response('Done!', 204);

View File

@@ -1,19 +1,18 @@
<?php
namespace App\Http\Controllers\User;
use App\Http\Controllers\Controller;
use App\Http\Requests\Subscription\StoreUpgradeAccountRequest;
use App\Http\Resources\UserSubscription;
use App\Services\DemoService;
use App\Models\User;
use App\Services\StripeService;
use Auth;
use App\Models\User;
use Stripe\SetupIntent;
use App\Services\DemoService;
use Illuminate\Http\Response;
use App\Services\StripeService;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Cache;
use App\Http\Resources\UserSubscription;
use Illuminate\Contracts\Foundation\Application;
use Illuminate\Contracts\Routing\ResponseFactory;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Cache;
use Stripe\SetupIntent;
use App\Http\Requests\Subscription\StoreUpgradeAccountRequest;
class SubscriptionController extends Controller
{
@@ -34,7 +33,8 @@ class SubscriptionController extends Controller
public function setup_intent()
{
return response(
$this->stripe->getSetupIntent(Auth::user()), 201
$this->stripe->getSetupIntent(Auth::user()),
201
);
}
@@ -47,7 +47,7 @@ class SubscriptionController extends Controller
{
$user = User::find(Auth::id());
if (!$user->subscription('main')) {
if (! $user->subscription('main')) {
return abort(204, 'User don\'t have any subscription');
}
@@ -97,7 +97,7 @@ class SubscriptionController extends Controller
// Update user storage limit
$user->settings()->update([
'storage_capacity' => $plan['product']['metadata']['capacity']
'storage_capacity' => $plan['product']['metadata']['capacity'],
]);
return response('Done!', 204);

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http;
use Illuminate\Foundation\Http\Kernel as HttpKernel;

View File

@@ -1,9 +1,7 @@
<?php
namespace App\Http\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Middleware;
use Illuminate\Auth\Middleware\Authenticate as Middleware;

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Middleware;
use Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode as Middleware;

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Middleware;
use Illuminate\Cookie\Middleware\EncryptCookies as Middleware;
@@ -12,6 +11,5 @@ class EncryptCookies extends Middleware
* @var array
*/
protected $except = [
];
}

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Middleware;
use Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance as Middleware;
@@ -12,6 +11,5 @@ class PreventRequestsDuringMaintenance extends Middleware
* @var array
*/
protected $except = [
//
];
}

View File

@@ -1,8 +1,6 @@
<?php
namespace App\Http\Middleware;
use App\Providers\RouteServiceProvider;
use Closure;
use Illuminate\Support\Facades\Auth;

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Middleware;
use Illuminate\Foundation\Http\Middleware\TrimStrings as Middleware;

View File

@@ -1,9 +1,8 @@
<?php
namespace App\Http\Middleware;
use Fideloper\Proxy\TrustProxies as Middleware;
use Illuminate\Http\Request;
use Fideloper\Proxy\TrustProxies as Middleware;
class TrustProxies extends Middleware
{

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Middleware;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;

View File

@@ -1,12 +1,11 @@
<?php
namespace App\Http\Notifications;
use Laravel\Cashier\Payment;
use Illuminate\Bus\Queueable;
use Illuminate\Notifications\Notification;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Notifications\Notification;
use Laravel\Cashier\Payment;
class ConfirmPayment extends Notification implements ShouldQueue
{

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Requests\Admin;
use Illuminate\Foundation\Http\FormRequest;
@@ -24,8 +23,8 @@ class ChangeRoleRequest extends FormRequest
public function rules()
{
return [
'attributes' => 'required|array',
'attributes.role' => 'required|string'
'attributes' => 'required|array',
'attributes.role' => 'required|string',
];
}
}

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Requests\Admin;
use Illuminate\Foundation\Http\FormRequest;
@@ -24,8 +23,8 @@ class ChangeStorageCapacityRequest extends FormRequest
public function rules()
{
return [
'attributes' => 'required|array',
'attributes.storage_capacity' => 'required|digits_between:1,9'
'attributes' => 'required|array',
'attributes.storage_capacity' => 'required|digits_between:1,9',
];
}
}

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Requests\Admin;
use Illuminate\Foundation\Http\FormRequest;
@@ -24,12 +23,12 @@ class CreateUserByAdmin extends FormRequest
public function rules()
{
return [
'email' => 'required|string|email|max:255|unique:users',
'password' => 'required|string|min:6|confirmed',
'name' => 'required|string|max:255',
'email' => 'required|string|email|max:255|unique:users',
'password' => 'required|string|min:6|confirmed',
'name' => 'required|string|max:255',
'storage_capacity' => 'required|digits_between:1,9',
'role' => 'required|string',
'avatar' => 'sometimes|file',
'role' => 'required|string',
'avatar' => 'sometimes|file',
];
}
}

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Requests\Admin;
use Illuminate\Foundation\Http\FormRequest;

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Requests\Auth;
use Illuminate\Foundation\Http\FormRequest;

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Requests\FileBrowser;
use Illuminate\Foundation\Http\FormRequest;

View File

@@ -1,9 +1,7 @@
<?php
namespace App\Http\Requests\FileFunctions;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Facades\Auth;
class CreateFolderRequest extends FormRequest
{
@@ -26,7 +24,7 @@ class CreateFolderRequest extends FormRequest
{
return [
'parent_id' => 'nullable|uuid',
'name' => 'required|string',
'name' => 'required|string',
];
}
}

View File

@@ -1,9 +1,7 @@
<?php
namespace App\Http\Requests\FileFunctions;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Facades\Auth;
class DeleteItemRequest extends FormRequest
{
@@ -26,8 +24,8 @@ class DeleteItemRequest extends FormRequest
{
return [
'data[*].force_delete' => 'required|boolean',
'data[*].type' => 'required|string',
'data[*].id' => 'required|integer'
'data[*].type' => 'required|string',
'data[*].id' => 'required|integer',
];
}
}

View File

@@ -1,9 +1,7 @@
<?php
namespace App\Http\Requests\FileFunctions;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Facades\Auth;
class MoveItemRequest extends FormRequest
{
@@ -25,9 +23,9 @@ class MoveItemRequest extends FormRequest
public function rules()
{
return [
'to_id' => 'nullable|uuid',
'to_id' => 'nullable|uuid',
'items[*].type' => 'required|string',
'items[*].id' => 'required|uuid',
'items[*].id' => 'required|uuid',
];
}
}

View File

@@ -1,9 +1,7 @@
<?php
namespace App\Http\Requests\FileFunctions;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Facades\Auth;
class RenameItemRequest extends FormRequest
{
@@ -25,8 +23,8 @@ class RenameItemRequest extends FormRequest
public function rules()
{
return [
'name' => 'required|string',
'type' => 'required|string',
'name' => 'required|string',
'type' => 'required|string',
];
}
}

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Requests\FileFunctions;
use App\Rules\DisabledMimetypes;
@@ -26,7 +25,7 @@ class UploadRequest extends FormRequest
{
return [
'folder_id' => 'nullable|uuid',
'file' => ['required', 'file', new DisabledMimetypes]
'file' => ['required', 'file', new DisabledMimetypes],
];
}
}

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Requests\Languages;
use Illuminate\Foundation\Http\FormRequest;
@@ -25,7 +24,7 @@ class CreateLanguageRequest extends FormRequest
{
return [
'name' => 'required|string',
'locale' => 'required|string'
'locale' => 'required|string',
];
}
}

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Requests\Languages;
use Illuminate\Foundation\Http\FormRequest;
@@ -24,8 +23,8 @@ class UpdateLanguageRequest extends FormRequest
public function rules()
{
return [
'name' => 'required|string',
'value' => 'required|string'
'name' => 'required|string',
'value' => 'required|string',
];
}
}

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Requests\Languages;
use Illuminate\Foundation\Http\FormRequest;
@@ -24,8 +23,8 @@ class UpdateStringRequest extends FormRequest
public function rules()
{
return [
'name' => 'required|string',
'value' => 'required|string'
'name' => 'required|string',
'value' => 'required|string',
];
}
}

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Requests\Payments;
use Illuminate\Foundation\Http\FormRequest;
@@ -24,8 +23,8 @@ class RegisterNewPaymentMethodRequest extends FormRequest
public function rules()
{
return [
'token' => 'required|string',
'default' => 'required|boolean'
'token' => 'required|string',
'default' => 'required|boolean',
];
}
}

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Requests\PublicPages;
use Illuminate\Foundation\Http\FormRequest;
@@ -24,7 +23,7 @@ class SendContactMessageRequest extends FormRequest
public function rules()
{
return [
'email' => 'required|email',
'email' => 'required|email',
'message' => 'required|string',
];
}

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Requests\SetupWizard;
use Illuminate\Foundation\Http\FormRequest;
@@ -24,15 +23,15 @@ class StoreAppSetupRequest extends FormRequest
public function rules()
{
return [
'title' => 'required|string',
'description' => 'required|string',
'logo' => 'sometimes|file',
'logo_horizontal' => 'sometimes|file',
'favicon' => 'sometimes|file',
'contactMail' => 'required|email',
'googleAnalytics' => 'sometimes|string',
'defaultStorage' => 'sometimes|digits_between:1,9',
'userRegistration' => 'required|boolean',
'title' => 'required|string',
'description' => 'required|string',
'logo' => 'sometimes|file',
'logo_horizontal' => 'sometimes|file',
'favicon' => 'sometimes|file',
'contactMail' => 'required|email',
'googleAnalytics' => 'sometimes|string',
'defaultStorage' => 'sometimes|digits_between:1,9',
'userRegistration' => 'required|boolean',
'storageLimitation' => 'required|boolean',
];
}

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Requests\SetupWizard;
use Illuminate\Foundation\Http\FormRequest;
@@ -25,11 +24,11 @@ class StoreDatabaseCredentialsRequest extends FormRequest
{
return [
'connection' => 'required|string',
'host' => 'required|string',
'port' => 'required|string',
'name' => 'required|string',
'username' => 'required|string',
'password' => 'required|string',
'host' => 'required|string',
'port' => 'required|string',
'name' => 'required|string',
'username' => 'required|string',
'password' => 'required|string',
];
}
}

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Requests\SetupWizard;
use Illuminate\Foundation\Http\FormRequest;
@@ -24,20 +23,20 @@ class StoreEnvironmentSetupRequest extends FormRequest
public function rules()
{
return [
'storage' => 'required|array',
'storage.driver' => 'required|string',
'storage.key' => 'sometimes|nullable|string',
'storage.secret' => 'sometimes|nullable|string',
'storage' => 'required|array',
'storage.driver' => 'required|string',
'storage.key' => 'sometimes|nullable|string',
'storage.secret' => 'sometimes|nullable|string',
'storage.endpoint' => 'sometimes|nullable|string',
'storage.region' => 'sometimes|nullable|string',
'storage.bucket' => 'sometimes|nullable|string',
'mail' => 'required|array',
'mail.driver' => 'required|string',
'mail.host' => 'required|string',
'mail.port' => 'required|string',
'mail.username' => 'required|string',
'mail.password' => 'required|string',
'mail.encryption' => 'required|string',
'storage.region' => 'sometimes|nullable|string',
'storage.bucket' => 'sometimes|nullable|string',
'mail' => 'required|array',
'mail.driver' => 'required|string',
'mail.host' => 'required|string',
'mail.port' => 'required|string',
'mail.username' => 'required|string',
'mail.password' => 'required|string',
'mail.encryption' => 'required|string',
];
}
}

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Requests\SetupWizard;
use Illuminate\Foundation\Http\FormRequest;
@@ -25,13 +24,13 @@ class StoreStripeBillingRequest extends FormRequest
{
return [
'billing_phone_number' => 'sometimes|nullable|string',
'billing_postal_code' => 'required|string',
'billing_vat_number' => 'required|string',
'billing_address' => 'required|string',
'billing_country' => 'required|string',
'billing_state' => 'required|string',
'billing_city' => 'required|string',
'billing_name' => 'required|string',
'billing_postal_code' => 'required|string',
'billing_vat_number' => 'required|string',
'billing_address' => 'required|string',
'billing_country' => 'required|string',
'billing_state' => 'required|string',
'billing_city' => 'required|string',
'billing_name' => 'required|string',
];
}
}

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Requests\SetupWizard;
use Illuminate\Foundation\Http\FormRequest;
@@ -24,10 +23,10 @@ class StoreStripeCredentialsRequest extends FormRequest
public function rules()
{
return [
'currency' => 'required|string',
'currency' => 'required|string',
'webhookSecret' => 'required|string',
'secret' => 'required|string',
'key' => 'required|string',
'secret' => 'required|string',
'key' => 'required|string',
];
}
}

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Requests\SetupWizard;
use Illuminate\Foundation\Http\FormRequest;
@@ -24,12 +23,12 @@ class StoreStripePlansRequest extends FormRequest
public function rules()
{
return [
'plans' => 'required|array',
'plans.*.type' => 'required|string',
'plans.*.attributes.name' => 'required|string',
'plans.*.attributes.price' => 'required|string',
'plans' => 'required|array',
'plans.*.type' => 'required|string',
'plans.*.attributes.name' => 'required|string',
'plans.*.attributes.price' => 'required|string',
'plans.*.attributes.description' => 'sometimes|nullable|string',
'plans.*.attributes.capacity' => 'required|digits_between:1,9',
'plans.*.attributes.capacity' => 'required|digits_between:1,9',
];
}
}

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Requests\Share;
use Illuminate\Foundation\Http\FormRequest;

View File

@@ -1,9 +1,8 @@
<?php
namespace App\Http\Requests\Share;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Facades\Auth;
use Illuminate\Foundation\Http\FormRequest;
class CreateShareRequest extends FormRequest
{
@@ -26,11 +25,11 @@ class CreateShareRequest extends FormRequest
{
return [
'isPassword' => 'required|boolean',
'type' => 'required|string',
'type' => 'required|string',
'expiration' => 'integer|nullable',
'permission' => 'string',
'password' => 'string',
'emails.*' => 'email'
'password' => 'string',
'emails.*' => 'email',
];
}
}

View File

@@ -1,9 +1,8 @@
<?php
namespace App\Http\Requests\Share;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Facades\Auth;
use Illuminate\Foundation\Http\FormRequest;
class UpdateShareRequest extends FormRequest
{
@@ -25,10 +24,10 @@ class UpdateShareRequest extends FormRequest
public function rules()
{
return [
'protected' => 'required|boolean',
'protected' => 'required|boolean',
'permission' => 'nullable|string',
'expiration' => 'integer|nullable',
'password' => 'string',
'password' => 'string',
];
}
}

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Requests\Subscription;
use Illuminate\Foundation\Http\FormRequest;
@@ -25,32 +24,32 @@ class StoreUpgradeAccountRequest extends FormRequest
{
return [
// Billings
'billing' => 'required|array',
'billing.billing_address' => 'required|string',
'billing.billing_city' => 'required|string',
'billing.billing_country' => 'required|string',
'billing.billing_name' => 'required|string',
'billing.billing_phone_number' => 'required|string',
'billing.billing_postal_code' => 'required|string',
'billing.billing_state' => 'required|string',
'billing' => 'required|array',
'billing.billing_address' => 'required|string',
'billing.billing_city' => 'required|string',
'billing.billing_country' => 'required|string',
'billing.billing_name' => 'required|string',
'billing.billing_phone_number' => 'required|string',
'billing.billing_postal_code' => 'required|string',
'billing.billing_state' => 'required|string',
// Payment
'payment' => 'required|array',
'payment.type' => 'required|string',
'payment.meta' => 'required|sometimes|array',
'payment.meta.pm' => 'required|sometimes|string',
'payment' => 'required|array',
'payment.type' => 'required|string',
'payment.meta' => 'required|sometimes|array',
'payment.meta.pm' => 'required|sometimes|string',
// Plan
'plan.data' => 'required|array',
'plan.data.attributes' => 'required|array',
'plan.data.attributes.capacity' => 'required|digits_between:1,9',
'plan.data' => 'required|array',
'plan.data.attributes' => 'required|array',
'plan.data.attributes.capacity' => 'required|digits_between:1,9',
'plan.data.attributes.capacity_formatted' => 'required|string',
'plan.data.attributes.currency' => 'required|string',
'plan.data.attributes.description' => 'sometimes|string|nullable',
'plan.data.attributes.name' => 'required|string',
'plan.data.attributes.price' => 'required|string',
'plan.data.id' => 'required|string',
'plan.data.type' => 'required|string',
'plan.data.attributes.currency' => 'required|string',
'plan.data.attributes.description' => 'sometimes|string|nullable',
'plan.data.attributes.name' => 'required|string',
'plan.data.attributes.price' => 'required|string',
'plan.data.id' => 'required|string',
'plan.data.type' => 'required|string',
];
}
}

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Requests\User;
use Illuminate\Foundation\Http\FormRequest;

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
@@ -16,19 +15,19 @@ class FileResource extends JsonResource
{
return [
'data' => [
'id' => $this->id,
'type' => 'file',
'id' => $this->id,
'type' => 'file',
'attributes' => [
'name' => $this->name,
'basename' => $this->basename,
'mimetype' => $this->mimetype,
'filesize' => $this->filesize,
'type' => $this->type,
'file_url' => $this->file_url,
'thumbnail' => $this->thumbnail,
'name' => $this->name,
'basename' => $this->basename,
'mimetype' => $this->mimetype,
'filesize' => $this->filesize,
'type' => $this->type,
'file_url' => $this->file_url,
'thumbnail' => $this->thumbnail,
'created_at' => $this->created_at,
'updated_at' => $this->created_at,
]
],
],
];
}

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\ResourceCollection;

View File

@@ -1,10 +1,9 @@
<?php
namespace App\Http\Resources;
use App\Models\User;
use Illuminate\Http\Resources\Json\JsonResource;
use Laravel\Cashier\Cashier;
use Illuminate\Http\Resources\Json\JsonResource;
class InvoiceAdminResource extends JsonResource
{
@@ -21,43 +20,43 @@ class InvoiceAdminResource extends JsonResource
return [
'data' => [
'id' => $this['id'],
'type' => 'invoices',
'id' => $this['id'],
'type' => 'invoices',
'attributes' => [
'customer' => $this['customer'],
'total' => Cashier::formatAmount($this['total']),
'currency' => $this['currency'],
'customer' => $this['customer'],
'total' => Cashier::formatAmount($this['total']),
'currency' => $this['currency'],
'created_at_formatted' => format_date($this['created']),
'created_at' => $this['created'],
'order' => $this['number'],
'user_id' => $user->id ?? null,
'client' => [
'billing_address' => $this['customer_address'],
'billing_name' => $this['customer_name'],
'created_at' => $this['created'],
'order' => $this['number'],
'user_id' => $user->id ?? null,
'client' => [
'billing_address' => $this['customer_address'],
'billing_name' => $this['customer_name'],
'billing_phone_number' => $this['customer_phone'],
],
'bag' => [
'amount' => $this['lines']['data'][0]['amount'],
'currency' => $this['lines']['data'][0]['currency'],
'type' => $this['lines']['data'][0]['type'],
'bag' => [
'amount' => $this['lines']['data'][0]['amount'],
'currency' => $this['lines']['data'][0]['currency'],
'type' => $this['lines']['data'][0]['type'],
'description' => $this['lines']['data'][0]['description'],
],
'seller' => null,
'seller' => null,
],
$this->mergeWhen($user, function () use ($user) {
return [
'relationships' => [
'user' => [
'data' => [
'id' => $user->id,
'type' => 'user',
'id' => $user->id,
'type' => 'user',
'attributes' => [
'name' => $user->settings->name,
'name' => $user->settings->name,
'avatar' => $user->settings->avatar,
]
]
]
]
],
],
],
],
];
}),
],

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\ResourceCollection;

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Resources;
use App\Models\User;
@@ -20,38 +19,38 @@ class InvoiceResource extends JsonResource
return [
'data' => [
'id' => $this->id,
'type' => 'invoices',
'id' => $this->id,
'type' => 'invoices',
'attributes' => [
'customer' => $this->customer,
'total' => $this->total(),
'currency' => $this->currency,
'created_at_formatted' => format_date($this->date(), '%d. %B. %Y'),
'created_at' => $this->created,
'order' => $this->number,
'user_id' => $user->id ?? null,
'client' => [
'billing_address' => $this->customer_address,
'billing_name' => $this->customer_name,
'customer' => $this->customer,
'total' => $this->total(),
'currency' => $this->currency,
'created_at_formatted' => format_date($this->date(), '%d. %B. %Y'),
'created_at' => $this->created,
'order' => $this->number,
'user_id' => $user->id ?? null,
'client' => [
'billing_address' => $this->customer_address,
'billing_name' => $this->customer_name,
'billing_phone_number' => $this->customer_phone,
],
'seller' => null,
'invoice_items' => $this->get_invoice_items(),
'seller' => null,
'invoice_items' => $this->get_invoice_items(),
'invoice_subscriptions' => $this->get_invoice_subscriptions(),
],
$this->mergeWhen($user, [
'relationships' => [
'user' => [
'data' => [
'id' => $user->id,
'type' => 'user',
'id' => $user->id,
'type' => 'user',
'attributes' => [
'name' => $user->settings->name,
'name' => $user->settings->name,
'avatar' => $user->settings->avatar,
]
]
]
]
],
],
],
],
]),
],
];
@@ -66,10 +65,10 @@ class InvoiceResource extends JsonResource
foreach ($this->subscriptions() as $item) {
array_push($array, [
'amount' => $item->total(),
'amount' => $item->total(),
'description' => $item->description,
'currency' => $item->currency,
'type' => $item->type,
'currency' => $item->currency,
'type' => $item->type,
]);
}
@@ -85,10 +84,10 @@ class InvoiceResource extends JsonResource
foreach ($this->invoiceItems() as $item) {
array_push($array, [
'amount' => $item->total(),
'amount' => $item->total(),
'description' => $item->description,
'currency' => $item->currency,
'type' => $item->type,
'currency' => $item->currency,
'type' => $item->type,
]);
}

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Resources;
use App\Models\Language;
@@ -24,8 +23,8 @@ class LanguageCollection extends ResourceCollection
return [
'data' => $this->collection,
'meta' => [
'current_language' => new LanguageResource($current_language),
'reference_translations' => get_default_language_translations()
'current_language' => new LanguageResource($current_language),
'reference_translations' => get_default_language_translations(),
],
];
}

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
@@ -16,15 +15,15 @@ class LanguageResource extends JsonResource
{
return [
'data' => [
'id' => $this->id,
'type' => 'languages',
'id' => $this->id,
'type' => 'languages',
'attributes' => [
'name' => $this->name,
'locale' => $this->locale,
'name' => $this->name,
'locale' => $this->locale,
'translations' => map_language_translations($this->languageTranslations),
'updated_at' => $this->updated_at,
'created_at' => $this->created_at,
]
'updated_at' => $this->updated_at,
'created_at' => $this->created_at,
],
],
];
}

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\ResourceCollection;

View File

@@ -1,8 +1,6 @@
<?php
namespace App\Http\Resources;
use App\Models\Page;
use Illuminate\Http\Resources\Json\JsonResource;
class PageResource extends JsonResource
@@ -17,15 +15,15 @@ class PageResource extends JsonResource
{
return [
'data' => [
'id' => $this->slug,
'type' => 'pages',
'id' => $this->slug,
'type' => 'pages',
'attributes' => [
'visibility' => $this->visibility,
'title' => $this->title,
'slug' => $this->slug,
'content' => $this->content,
'visibility' => $this->visibility,
'title' => $this->title,
'slug' => $this->slug,
'content' => $this->content,
'content_formatted' => add_paragraphs($this->content),
]
],
],
];
}

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\ResourceCollection;

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
@@ -16,20 +15,20 @@ class PaymentCardResource extends JsonResource
{
return [
'data' => [
'id' => (string)$this['id'],
'type' => 'payment_method',
'id' => (string) $this['id'],
'type' => 'payment_method',
'attributes' => [
'provider' => 'stripe',
'card_id' => $this['id'],
'brand' => strtolower($this['card']['brand']),
'last4' => $this['card']['last4'],
'exp_month' => $this['card']['exp_month'],
'exp_year' => $this['card']['exp_year'],
'provider' => 'stripe',
'card_id' => $this['id'],
'brand' => strtolower($this['card']['brand']),
'last4' => $this['card']['last4'],
'exp_month' => $this['card']['exp_month'],
'exp_year' => $this['card']['exp_year'],
'created_at' => format_date($this['created_at'], '%d. %B. %Y'),
'status' => 'active',
'default' => 0,
]
]
'status' => 'active',
'default' => 0,
],
],
];
}
}

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
@@ -16,20 +15,20 @@ class PaymentDefaultCardResource extends JsonResource
{
return [
'data' => [
'id' => (string)$this['id'],
'type' => 'payment_method',
'id' => (string) $this['id'],
'type' => 'payment_method',
'attributes' => [
'provider' => 'stripe',
'card_id' => $this['id'],
'brand' => isset($this['brand']) ? strtolower($this['brand']) : strtolower($this['card']['brand']),
'last4' => isset($this['last4']) ? $this['last4'] : $this['card']['last4'],
'exp_month' => isset($this['exp_month']) ? $this['exp_month'] : $this['card']['exp_month'],
'exp_year' => isset($this['exp_year']) ? $this['exp_year'] : $this['card']['exp_year'],
'provider' => 'stripe',
'card_id' => $this['id'],
'brand' => isset($this['brand']) ? strtolower($this['brand']) : strtolower($this['card']['brand']),
'last4' => isset($this['last4']) ? $this['last4'] : $this['card']['last4'],
'exp_month' => isset($this['exp_month']) ? $this['exp_month'] : $this['card']['exp_month'],
'exp_year' => isset($this['exp_year']) ? $this['exp_year'] : $this['card']['exp_year'],
'created_at' => format_date($this['created_at'], '%d. %B. %Y'),
'status' => 'active',
'default' => 0,
]
]
'status' => 'active',
'default' => 0,
],
],
];
}
}

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\ResourceCollection;

View File

@@ -1,10 +1,9 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
use Laravel\Cashier\Cashier;
use Laravel\Cashier\Subscription;
use Illuminate\Http\Resources\Json\JsonResource;
class PlanResource extends JsonResource
{
@@ -21,21 +20,21 @@ class PlanResource extends JsonResource
return [
'data' => [
'id' => $this['plan']['id'],
'type' => 'plans',
'id' => $this['plan']['id'],
'type' => 'plans',
'attributes' => [
'subscribers' => $subscriber_count->count(),
'status' => $this['plan']['active'] ? 1 : 0,
'name' => $this['product']['name'],
'description' => $this['product']['description'],
'price' => $this['plan']['amount'],
'price_formatted' => Cashier::formatAmount($this['plan']['amount']),
'capacity_formatted' => format_gigabytes($this['product']['metadata']['capacity']),
'capacity' => (int) $this['product']['metadata']['capacity'],
'subscribers' => $subscriber_count->count(),
'status' => $this['plan']['active'] ? 1 : 0,
'name' => $this['product']['name'],
'description' => $this['product']['description'],
'price' => $this['plan']['amount'],
'price_formatted' => Cashier::formatAmount($this['plan']['amount']),
'capacity_formatted' => format_gigabytes($this['product']['metadata']['capacity']),
'capacity' => (int) $this['product']['metadata']['capacity'],
'created_at_formatted' => format_date($this['plan']['created']),
'created_at' => $this['plan']['created'],
]
]
'created_at' => $this['plan']['created'],
],
],
];
}
}

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\ResourceCollection;

View File

@@ -1,10 +1,9 @@
<?php
namespace App\Http\Resources;
use Laravel\Cashier\Cashier;
use App\Services\StripeService;
use Illuminate\Http\Resources\Json\JsonResource;
use Laravel\Cashier\Cashier;
class PricingResource extends JsonResource
{
@@ -18,18 +17,18 @@ class PricingResource extends JsonResource
{
return [
'data' => [
'id' => $this['plan']['id'],
'type' => 'plans',
'id' => $this['plan']['id'],
'type' => 'plans',
'attributes' => [
'name' => $this['product']['name'],
'description' => $this['product']['description'],
'price' => Cashier::formatAmount($this['plan']['amount']),
'name' => $this['product']['name'],
'description' => $this['product']['description'],
'price' => Cashier::formatAmount($this['plan']['amount']),
'capacity_formatted' => format_gigabytes($this['product']['metadata']['capacity']),
'capacity' => (int)$this['product']['metadata']['capacity'],
'currency' => config('cashier.currency'),
'tax_rates' => resolve(StripeService::class)->get_tax_rates($this['plan']['amount'])
]
]
'capacity' => (int) $this['product']['metadata']['capacity'],
'currency' => config('cashier.currency'),
'tax_rates' => resolve(StripeService::class)->get_tax_rates($this['plan']['amount']),
],
],
];
}
}
}

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
@@ -16,20 +15,20 @@ class ShareResource extends JsonResource
{
return [
'data' => [
'id' => (string)$this->id,
'type' => 'shares',
'id' => (string) $this->id,
'type' => 'shares',
'attributes' => [
'permission' => $this->permission,
'permission' => $this->permission,
'is_protected' => $this->is_protected,
'item_id' => $this->item_id,
'expire_in' => (int)$this->expire_in,
'token' => $this->token,
'link' => $this->link,
'type' => $this->type,
'created_at' => $this->created_at,
'updated_at' => $this->updated_at,
]
]
'item_id' => $this->item_id,
'expire_in' => (int) $this->expire_in,
'token' => $this->token,
'link' => $this->link,
'type' => $this->type,
'created_at' => $this->created_at,
'updated_at' => $this->updated_at,
],
],
];
}
}

View File

@@ -1,11 +1,6 @@
<?php
namespace App\Http\Resources;
use App\Services\StripeService;
use App\Models\User;
use Cartalyst\Stripe\Api\PaymentMethods;
use Faker\Factory;
use Illuminate\Http\Resources\Json\JsonResource;
class UserResource extends JsonResource
@@ -21,49 +16,49 @@ class UserResource extends JsonResource
// TODO: zrefaktorovat
return [
'data' => [
'id' => $this->id,
'type' => 'user',
'attributes' => [
'storage_capacity' => $this->settings->storage_capacity,
'subscription' => $this->subscribed('main'),
'incomplete_payment' => $this->hasIncompletePayment('main') ? route('cashier.payment', $this->subscription('main')->latestPayment()->id) : null,
'stripe_customer' => is_null($this->stripe_id) ? false : true,
'email' => is_demo() ? obfuscate_email($this->email) : $this->email,
'role' => $this->role,
'folders' => $this->folder_tree,
'storage' => $this->storage,
'id' => $this->id,
'type' => 'user',
'attributes' => [
'storage_capacity' => $this->settings->storage_capacity,
'subscription' => $this->subscribed('main'),
'incomplete_payment' => $this->hasIncompletePayment('main') ? route('cashier.payment', $this->subscription('main')->latestPayment()->id) : null,
'stripe_customer' => is_null($this->stripe_id) ? false : true,
'email' => is_demo() ? obfuscate_email($this->email) : $this->email,
'role' => $this->role,
'folders' => $this->folder_tree,
'storage' => $this->storage,
'created_at_formatted' => format_date($this->created_at, '%d. %B. %Y'),
'created_at' => $this->created_at,
'updated_at' => $this->updated_at,
'created_at' => $this->created_at,
'updated_at' => $this->updated_at,
],
'relationships' => [
'settings' => [
'settings' => [
'data' => [
'id' => $this->id,
'type' => 'settings',
'id' => $this->id,
'type' => 'settings',
'attributes' => [
'avatar' => $this->settings->avatar,
'name' => $this->settings->name,
'address' => $this->settings->address,
'state' => $this->settings->state,
'city' => $this->settings->city,
'postal_code' => $this->settings->postal_code,
'country' => $this->settings->country,
'avatar' => $this->settings->avatar,
'name' => $this->settings->name,
'address' => $this->settings->address,
'state' => $this->settings->state,
'city' => $this->settings->city,
'postal_code' => $this->settings->postal_code,
'country' => $this->settings->country,
'phone_number' => $this->settings->phone_number,
'timezone' => $this->settings->timezone
]
]
'timezone' => $this->settings->timezone,
],
],
],
'favourites' => [
'data' => [
'id' => $this->id,
'type' => 'favourite_folders',
'id' => $this->id,
'type' => 'favourite_folders',
'attributes' => [
'folders' => $this->favouriteFolders->makeHidden(['pivot'])
'folders' => $this->favouriteFolders->makeHidden(['pivot']),
],
],
]
]
],
],
],
];
}

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Resources;
use App\Models\File;
@@ -17,31 +16,31 @@ class UserStorageResource extends JsonResource
public function toArray($request)
{
$document_mimetypes = [
'pdf', 'numbers', 'xlsx', 'xls', 'txt', 'md', 'rtf', 'pptx', 'ppt', 'odt', 'ods', 'odp', 'epub', 'docx', 'doc', 'csv', 'pages'
'pdf', 'numbers', 'xlsx', 'xls', 'txt', 'md', 'rtf', 'pptx', 'ppt', 'odt', 'ods', 'odp', 'epub', 'docx', 'doc', 'csv', 'pages',
];
// Get all images
$images = File::where('user_id', $this->id)
->where('type', 'image')->get()->map(function ($item) {
return (int)$item->getRawOriginal('filesize');
return (int) $item->getRawOriginal('filesize');
})->sum();
// Get all audios
$audios = File::where('user_id', $this->id)
->where('type', 'audio')->get()->map(function ($item) {
return (int)$item->getRawOriginal('filesize');
return (int) $item->getRawOriginal('filesize');
})->sum();
// Get all videos
$videos = File::where('user_id', $this->id)
->where('type', 'video')->get()->map(function ($item) {
return (int)$item->getRawOriginal('filesize');
return (int) $item->getRawOriginal('filesize');
})->sum();
// Get all documents
$documents = File::where('user_id', $this->id)
->whereIn('mimetype', $document_mimetypes)->get()->map(function ($item) {
return (int)$item->getRawOriginal('filesize');
return (int) $item->getRawOriginal('filesize');
})->sum();
// Get all other files
@@ -49,41 +48,41 @@ class UserStorageResource extends JsonResource
->whereNotIn('mimetype', $document_mimetypes)
->whereNotIn('type', ['audio', 'video', 'image'])
->get()->map(function ($item) {
return (int)$item->getRawOriginal('filesize');
return (int) $item->getRawOriginal('filesize');
})->sum();
return [
'data' => [
'id' => (string)$this->id,
'type' => 'storage',
'attributes' => [
'used' => Metric::bytes($this->used_capacity)->format(),
'capacity' => format_gigabytes($this->settings->storage_capacity),
'percentage' => (float)get_storage_fill_percentage($this->used_capacity, $this->settings->storage_capacity),
'id' => (string) $this->id,
'type' => 'storage',
'attributes' => [
'used' => Metric::bytes($this->used_capacity)->format(),
'capacity' => format_gigabytes($this->settings->storage_capacity),
'percentage' => (float) get_storage_fill_percentage($this->used_capacity, $this->settings->storage_capacity),
],
'meta' => [
'images' => [
'used' => Metric::bytes($images)->format(),
'percentage' => (float)get_storage_fill_percentage($images, $this->settings->storage_capacity),
'images' => [
'used' => Metric::bytes($images)->format(),
'percentage' => (float) get_storage_fill_percentage($images, $this->settings->storage_capacity),
],
'audios' => [
'used' => Metric::bytes($audios)->format(),
'percentage' => (float)get_storage_fill_percentage($audios, $this->settings->storage_capacity),
'audios' => [
'used' => Metric::bytes($audios)->format(),
'percentage' => (float) get_storage_fill_percentage($audios, $this->settings->storage_capacity),
],
'videos' => [
'used' => Metric::bytes($videos)->format(),
'percentage' => (float)get_storage_fill_percentage($videos, $this->settings->storage_capacity),
'videos' => [
'used' => Metric::bytes($videos)->format(),
'percentage' => (float) get_storage_fill_percentage($videos, $this->settings->storage_capacity),
],
'documents' => [
'used' => Metric::bytes($documents)->format(),
'percentage' => (float)get_storage_fill_percentage($documents, $this->settings->storage_capacity),
'used' => Metric::bytes($documents)->format(),
'percentage' => (float) get_storage_fill_percentage($documents, $this->settings->storage_capacity),
],
'others' => [
'used' => Metric::bytes($others)->format(),
'percentage' => (float)get_storage_fill_percentage($others, $this->settings->storage_capacity),
'others' => [
'used' => Metric::bytes($others)->format(),
'percentage' => (float) get_storage_fill_percentage($others, $this->settings->storage_capacity),
],
]
]
],
],
];
}
}

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
@@ -23,21 +22,21 @@ class UserSubscription extends JsonResource
return [
'data' => [
'id' => $subscription['plan']['id'],
'type' => 'subscription',
'id' => $subscription['plan']['id'],
'type' => 'subscription',
'attributes' => [
'incomplete' => $this->subscription('main')->incomplete(),
'active' => $this->subscription('main')->active(),
'canceled' => $this->subscription('main')->cancelled(),
'name' => $subscription['product']['name'],
'capacity' => (int)$subscription['product']['metadata']['capacity'],
'incomplete' => $this->subscription('main')->incomplete(),
'active' => $this->subscription('main')->active(),
'canceled' => $this->subscription('main')->cancelled(),
'name' => $subscription['product']['name'],
'capacity' => (int) $subscription['product']['metadata']['capacity'],
'capacity_formatted' => format_gigabytes($subscription['product']['metadata']['capacity']),
'slug' => $subscription['plan']['id'],
'canceled_at' => format_date($active_subscription["canceled_at"], '%d. %B. %Y'),
'created_at' => format_date($active_subscription["current_period_start"], '%d. %B. %Y'),
'ends_at' => format_date($active_subscription["current_period_end"], '%d. %B. %Y'),
]
]
'slug' => $subscription['plan']['id'],
'canceled_at' => format_date($active_subscription['canceled_at'], '%d. %B. %Y'),
'created_at' => format_date($active_subscription['current_period_start'], '%d. %B. %Y'),
'ends_at' => format_date($active_subscription['current_period_end'], '%d. %B. %Y'),
],
],
];
}
}

View File

@@ -1,5 +1,4 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\ResourceCollection;

View File

@@ -1,19 +1,18 @@
<?php
use Carbon\Carbon;
use App\Models\File;
use App\Models\Folder;
use App\Models\Setting;
use App\Models\User;
use App\Models\Share;
use App\Models\Language;
use App\Models\LanguageTranslation;
use ByteUnits\Metric;
use Carbon\Carbon;
use App\Models\Folder;
use App\Models\Setting;
use App\Models\Language;
use Illuminate\Support\Str;
use Illuminate\Support\Collection;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\QueryException;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Str;
use Intervention\Image\ImageManagerStatic as Image;
/**
@@ -24,11 +23,11 @@ use Intervention\Image\ImageManagerStatic as Image;
*/
function obfuscate_email($email)
{
$em = explode("@", $email);
$em = explode('@', $email);
$name = implode('@', array_slice($em, 0, count($em) - 1));
$len = floor(strlen($name) / 2);
return substr($name, 0, $len) . str_repeat('*', $len) . "@" . end($em);
return substr($name, 0, $len) . str_repeat('*', $len) . '@' . end($em);
}
/**
@@ -75,17 +74,19 @@ function get_setup_status()
function add_paragraphs($str)
{
// Trim whitespace
if (($str = trim($str)) === '') return '';
if (($str = trim($str)) === '') {
return '';
}
// Standardize newlines
$str = str_replace(array("\r\n", "\r"), "\n", $str);
$str = str_replace(["\r\n", "\r"], "\n", $str);
// Trim whitespace on each line
$str = preg_replace('~^[ \t]+~m', '', $str);
$str = preg_replace('~[ \t]+$~m', '', $str);
// The following regexes only need to be executed if the string contains html
if ($html_found = (strpos($str, '<') !== FALSE)) {
if ($html_found = (strpos($str, '<') !== false)) {
// Elements that should not be surrounded by p tags
$no_p = '(?:p|div|article|header|aside|hgroup|canvas|output|progress|section|figcaption|audio|video|nav|figure|footer|video|details|main|menu|summary|h[1-6r]|ul|ol|li|blockquote|d[dlt]|pre|t[dhr]|t(?:able|body|foot|head)|c(?:aption|olgroup)|form|s(?:elect|tyle)|a(?:ddress|rea)|ma(?:p|th))';
@@ -99,7 +100,7 @@ function add_paragraphs($str)
$str = preg_replace('~\n{2,}~', "</p>\n\n<p>", $str);
// The following regexes only need to be executed if the string contains html
if ($html_found !== FALSE) {
if ($html_found !== false) {
// Remove p tags around $no_p elements
$str = preg_replace('~<p>(?=</?' . $no_p . '[^>]*+>)~i', '', $str);
$str = preg_replace('~(</?' . $no_p . '[^>]*+>)</p>~i', '$1', $str);
@@ -125,7 +126,6 @@ function setEnvironmentValue(array $values)
if (count($values) > 0) {
foreach ($values as $envKey => $envValue) {
$str .= "\n"; // In case the searched variable is in the last line without \n
$keyPosition = strpos($str, "{$envKey}=");
$endOfLinePosition = strpos($str, "\n", $keyPosition);
@@ -137,9 +137,9 @@ function setEnvironmentValue(array $values)
}
$str = substr($str, 0, -1);
if (!file_put_contents($envFile, $str)) return false;
return true;
return ! (! file_put_contents($envFile, $str))
;
}
/**
@@ -153,9 +153,9 @@ function get_invoice_number()
if ($invoices->isEmpty()) {
return now()->year . '001';
} else {
return (int)$invoices->last()->order + 1;
}
return (int) $invoices->last()->order + 1;
}
/**
@@ -206,7 +206,7 @@ function get_version()
/**
* Check if is demo
*
* @return boolean
* @return bool
*/
function is_demo()
{
@@ -281,7 +281,7 @@ function is_visitor($shared)
*/
function store_avatar($request, $name)
{
if (!$request->hasFile($name)) {
if (! $request->hasFile($name)) {
return null;
}
@@ -312,7 +312,7 @@ function store_avatar($request, $name)
*/
function store_system_image($request, $name)
{
if (!$request->hasFile($name)) {
if (! $request->hasFile($name)) {
return null;
}
@@ -356,9 +356,9 @@ function format_gigabytes($gigabytes)
{
if ($gigabytes >= 1000) {
return Metric::gigabytes($gigabytes)->format('Tb/');
} else {
return Metric::gigabytes($gigabytes)->format('GB/');
}
return Metric::gigabytes($gigabytes)->format('GB/');
}
/**
@@ -411,7 +411,7 @@ function get_storage_fill_percentage($used, $capacity)
}
// Return in 2 decimal
return number_format((float)$progress, 2, '.', '');
return number_format((float) $progress, 2, '.', '');
}
/**
@@ -445,12 +445,14 @@ function recursiveFind(array $array, $needle)
{
$iterator = new RecursiveArrayIterator($array);
$recursive = new RecursiveIteratorIterator($iterator, RecursiveIteratorIterator::SELF_FIRST);
$aHitList = array();
$aHitList = [];
foreach ($recursive as $key => $value) {
if ($key === $needle) {
array_push($aHitList, $value);
}
}
return $aHitList;
}
@@ -466,7 +468,6 @@ function appeared_once($arr)
$single_time_comming_values_array = [];
foreach ($array_count_values as $key => $val) {
if ($val == 1) {
$single_time_comming_values_array[] = $key;
}
@@ -515,13 +516,19 @@ function get_file_type($file_mimetype)
switch ($mimetype[0]) {
case 'image':
return 'image';
break;
case 'video':
return 'video';
break;
case 'audio':
return 'audio';
break;
default:
return 'file';
}
@@ -583,16 +590,11 @@ function get_pretty_name($basename, $name, $mimetype)
function get_image_meta_data($file)
{
if (get_file_type_from_mimetype($file->getMimeType()) === 'jpeg') {
try {
// Try to get the exif data
return mb_convert_encoding(Image::make($file->getRealPath())->exif(), 'UTF8', 'UTF8');
} catch (\Exception $e) {
return null;
}
}
}
@@ -603,9 +605,9 @@ function get_image_meta_data($file)
function get_default_language_translations()
{
return collect([
config("language-translations.extended"),
config("language-translations.regular"),
config("custom-language-translations")
config('language-translations.extended'),
config('language-translations.regular'),
config('custom-language-translations'),
])->collapse();
}
@@ -626,20 +628,39 @@ function is_dev()
function seems_utf8($str)
{
$length = strlen($str);
for ($i = 0; $i < $length; $i++) {
$c = ord($str[$i]);
if ($c < 0x80) $n = 0; # 0bbbbbbb
elseif (($c & 0xE0) == 0xC0) $n = 1; # 110bbbbb
elseif (($c & 0xF0) == 0xE0) $n = 2; # 1110bbbb
elseif (($c & 0xF8) == 0xF0) $n = 3; # 11110bbb
elseif (($c & 0xFC) == 0xF8) $n = 4; # 111110bb
elseif (($c & 0xFE) == 0xFC) $n = 5; # 1111110b
else return false; # Does not match any model
if ($c < 0x80) {
$n = 0;
} # 0bbbbbbb
elseif (($c & 0xE0) == 0xC0) {
$n = 1;
} # 110bbbbb
elseif (($c & 0xF0) == 0xE0) {
$n = 2;
} # 1110bbbb
elseif (($c & 0xF8) == 0xF0) {
$n = 3;
} # 11110bbb
elseif (($c & 0xFC) == 0xF8) {
$n = 4;
} # 111110bb
elseif (($c & 0xFE) == 0xFC) {
$n = 5;
} # 1111110b
else {
return false;
} # Does not match any model
for ($j = 0; $j < $n; $j++) { # n bytes matching 10bbbbbb follow ?
if ((++$i == $length) || ((ord($str[$i]) & 0xC0) != 0x80))
if ((++$i == $length) || ((ord($str[$i]) & 0xC0) != 0x80)) {
return false;
}
}
}
return true;
}
@@ -653,109 +674,110 @@ function seems_utf8($str)
*/
function remove_accents($string)
{
if (!preg_match('/[\x80-\xff]/', $string))
if (! preg_match('/[\x80-\xff]/', $string)) {
return $string;
}
if (seems_utf8($string)) {
$chars = array(
$chars = [
// Decompositions for Latin-1 Supplement
chr(195) . chr(128) => 'A', chr(195) . chr(129) => 'A',
chr(195) . chr(130) => 'A', chr(195) . chr(131) => 'A',
chr(195) . chr(132) => 'A', chr(195) . chr(133) => 'A',
chr(195) . chr(135) => 'C', chr(195) . chr(136) => 'E',
chr(195) . chr(137) => 'E', chr(195) . chr(138) => 'E',
chr(195) . chr(139) => 'E', chr(195) . chr(140) => 'I',
chr(195) . chr(141) => 'I', chr(195) . chr(142) => 'I',
chr(195) . chr(143) => 'I', chr(195) . chr(145) => 'N',
chr(195) . chr(146) => 'O', chr(195) . chr(147) => 'O',
chr(195) . chr(148) => 'O', chr(195) . chr(149) => 'O',
chr(195) . chr(150) => 'O', chr(195) . chr(153) => 'U',
chr(195) . chr(154) => 'U', chr(195) . chr(155) => 'U',
chr(195) . chr(156) => 'U', chr(195) . chr(157) => 'Y',
chr(195) . chr(159) => 's', chr(195) . chr(160) => 'a',
chr(195) . chr(161) => 'a', chr(195) . chr(162) => 'a',
chr(195) . chr(163) => 'a', chr(195) . chr(164) => 'a',
chr(195) . chr(165) => 'a', chr(195) . chr(167) => 'c',
chr(195) . chr(168) => 'e', chr(195) . chr(169) => 'e',
chr(195) . chr(170) => 'e', chr(195) . chr(171) => 'e',
chr(195) . chr(172) => 'i', chr(195) . chr(173) => 'i',
chr(195) . chr(174) => 'i', chr(195) . chr(175) => 'i',
chr(195) . chr(177) => 'n', chr(195) . chr(178) => 'o',
chr(195) . chr(179) => 'o', chr(195) . chr(180) => 'o',
chr(195) . chr(181) => 'o', chr(195) . chr(182) => 'o',
chr(195) . chr(182) => 'o', chr(195) . chr(185) => 'u',
chr(195) . chr(186) => 'u', chr(195) . chr(187) => 'u',
chr(195) . chr(188) => 'u', chr(195) . chr(189) => 'y',
chr(195) . chr(191) => 'y',
chr(195) . chr(128) => 'A', chr(195) . chr(129) => 'A',
chr(195) . chr(130) => 'A', chr(195) . chr(131) => 'A',
chr(195) . chr(132) => 'A', chr(195) . chr(133) => 'A',
chr(195) . chr(135) => 'C', chr(195) . chr(136) => 'E',
chr(195) . chr(137) => 'E', chr(195) . chr(138) => 'E',
chr(195) . chr(139) => 'E', chr(195) . chr(140) => 'I',
chr(195) . chr(141) => 'I', chr(195) . chr(142) => 'I',
chr(195) . chr(143) => 'I', chr(195) . chr(145) => 'N',
chr(195) . chr(146) => 'O', chr(195) . chr(147) => 'O',
chr(195) . chr(148) => 'O', chr(195) . chr(149) => 'O',
chr(195) . chr(150) => 'O', chr(195) . chr(153) => 'U',
chr(195) . chr(154) => 'U', chr(195) . chr(155) => 'U',
chr(195) . chr(156) => 'U', chr(195) . chr(157) => 'Y',
chr(195) . chr(159) => 's', chr(195) . chr(160) => 'a',
chr(195) . chr(161) => 'a', chr(195) . chr(162) => 'a',
chr(195) . chr(163) => 'a', chr(195) . chr(164) => 'a',
chr(195) . chr(165) => 'a', chr(195) . chr(167) => 'c',
chr(195) . chr(168) => 'e', chr(195) . chr(169) => 'e',
chr(195) . chr(170) => 'e', chr(195) . chr(171) => 'e',
chr(195) . chr(172) => 'i', chr(195) . chr(173) => 'i',
chr(195) . chr(174) => 'i', chr(195) . chr(175) => 'i',
chr(195) . chr(177) => 'n', chr(195) . chr(178) => 'o',
chr(195) . chr(179) => 'o', chr(195) . chr(180) => 'o',
chr(195) . chr(181) => 'o', chr(195) . chr(182) => 'o',
chr(195) . chr(182) => 'o', chr(195) . chr(185) => 'u',
chr(195) . chr(186) => 'u', chr(195) . chr(187) => 'u',
chr(195) . chr(188) => 'u', chr(195) . chr(189) => 'y',
chr(195) . chr(191) => 'y',
// Decompositions for Latin Extended-A
chr(196) . chr(128) => 'A', chr(196) . chr(129) => 'a',
chr(196) . chr(130) => 'A', chr(196) . chr(131) => 'a',
chr(196) . chr(132) => 'A', chr(196) . chr(133) => 'a',
chr(196) . chr(134) => 'C', chr(196) . chr(135) => 'c',
chr(196) . chr(136) => 'C', chr(196) . chr(137) => 'c',
chr(196) . chr(138) => 'C', chr(196) . chr(139) => 'c',
chr(196) . chr(140) => 'C', chr(196) . chr(141) => 'c',
chr(196) . chr(142) => 'D', chr(196) . chr(143) => 'd',
chr(196) . chr(144) => 'D', chr(196) . chr(145) => 'd',
chr(196) . chr(146) => 'E', chr(196) . chr(147) => 'e',
chr(196) . chr(148) => 'E', chr(196) . chr(149) => 'e',
chr(196) . chr(150) => 'E', chr(196) . chr(151) => 'e',
chr(196) . chr(152) => 'E', chr(196) . chr(153) => 'e',
chr(196) . chr(154) => 'E', chr(196) . chr(155) => 'e',
chr(196) . chr(156) => 'G', chr(196) . chr(157) => 'g',
chr(196) . chr(158) => 'G', chr(196) . chr(159) => 'g',
chr(196) . chr(160) => 'G', chr(196) . chr(161) => 'g',
chr(196) . chr(162) => 'G', chr(196) . chr(163) => 'g',
chr(196) . chr(164) => 'H', chr(196) . chr(165) => 'h',
chr(196) . chr(166) => 'H', chr(196) . chr(167) => 'h',
chr(196) . chr(168) => 'I', chr(196) . chr(169) => 'i',
chr(196) . chr(170) => 'I', chr(196) . chr(171) => 'i',
chr(196) . chr(172) => 'I', chr(196) . chr(173) => 'i',
chr(196) . chr(174) => 'I', chr(196) . chr(175) => 'i',
chr(196) . chr(176) => 'I', chr(196) . chr(177) => 'i',
chr(196) . chr(178) => 'IJ', chr(196) . chr(179) => 'ij',
chr(196) . chr(180) => 'J', chr(196) . chr(181) => 'j',
chr(196) . chr(182) => 'K', chr(196) . chr(183) => 'k',
chr(196) . chr(184) => 'k', chr(196) . chr(185) => 'L',
chr(196) . chr(186) => 'l', chr(196) . chr(187) => 'L',
chr(196) . chr(188) => 'l', chr(196) . chr(189) => 'L',
chr(196) . chr(190) => 'l', chr(196) . chr(191) => 'L',
chr(197) . chr(128) => 'l', chr(197) . chr(129) => 'L',
chr(197) . chr(130) => 'l', chr(197) . chr(131) => 'N',
chr(197) . chr(132) => 'n', chr(197) . chr(133) => 'N',
chr(197) . chr(134) => 'n', chr(197) . chr(135) => 'N',
chr(197) . chr(136) => 'n', chr(197) . chr(137) => 'N',
chr(197) . chr(138) => 'n', chr(197) . chr(139) => 'N',
chr(197) . chr(140) => 'O', chr(197) . chr(141) => 'o',
chr(197) . chr(142) => 'O', chr(197) . chr(143) => 'o',
chr(197) . chr(144) => 'O', chr(197) . chr(145) => 'o',
chr(197) . chr(146) => 'OE', chr(197) . chr(147) => 'oe',
chr(197) . chr(148) => 'R', chr(197) . chr(149) => 'r',
chr(197) . chr(150) => 'R', chr(197) . chr(151) => 'r',
chr(197) . chr(152) => 'R', chr(197) . chr(153) => 'r',
chr(197) . chr(154) => 'S', chr(197) . chr(155) => 's',
chr(197) . chr(156) => 'S', chr(197) . chr(157) => 's',
chr(197) . chr(158) => 'S', chr(197) . chr(159) => 's',
chr(197) . chr(160) => 'S', chr(197) . chr(161) => 's',
chr(197) . chr(162) => 'T', chr(197) . chr(163) => 't',
chr(197) . chr(164) => 'T', chr(197) . chr(165) => 't',
chr(197) . chr(166) => 'T', chr(197) . chr(167) => 't',
chr(197) . chr(168) => 'U', chr(197) . chr(169) => 'u',
chr(197) . chr(170) => 'U', chr(197) . chr(171) => 'u',
chr(197) . chr(172) => 'U', chr(197) . chr(173) => 'u',
chr(197) . chr(174) => 'U', chr(197) . chr(175) => 'u',
chr(197) . chr(176) => 'U', chr(197) . chr(177) => 'u',
chr(197) . chr(178) => 'U', chr(197) . chr(179) => 'u',
chr(197) . chr(180) => 'W', chr(197) . chr(181) => 'w',
chr(197) . chr(182) => 'Y', chr(197) . chr(183) => 'y',
chr(197) . chr(184) => 'Y', chr(197) . chr(185) => 'Z',
chr(197) . chr(186) => 'z', chr(197) . chr(187) => 'Z',
chr(197) . chr(188) => 'z', chr(197) . chr(189) => 'Z',
chr(197) . chr(190) => 'z', chr(197) . chr(191) => 's',
chr(196) . chr(128) => 'A', chr(196) . chr(129) => 'a',
chr(196) . chr(130) => 'A', chr(196) . chr(131) => 'a',
chr(196) . chr(132) => 'A', chr(196) . chr(133) => 'a',
chr(196) . chr(134) => 'C', chr(196) . chr(135) => 'c',
chr(196) . chr(136) => 'C', chr(196) . chr(137) => 'c',
chr(196) . chr(138) => 'C', chr(196) . chr(139) => 'c',
chr(196) . chr(140) => 'C', chr(196) . chr(141) => 'c',
chr(196) . chr(142) => 'D', chr(196) . chr(143) => 'd',
chr(196) . chr(144) => 'D', chr(196) . chr(145) => 'd',
chr(196) . chr(146) => 'E', chr(196) . chr(147) => 'e',
chr(196) . chr(148) => 'E', chr(196) . chr(149) => 'e',
chr(196) . chr(150) => 'E', chr(196) . chr(151) => 'e',
chr(196) . chr(152) => 'E', chr(196) . chr(153) => 'e',
chr(196) . chr(154) => 'E', chr(196) . chr(155) => 'e',
chr(196) . chr(156) => 'G', chr(196) . chr(157) => 'g',
chr(196) . chr(158) => 'G', chr(196) . chr(159) => 'g',
chr(196) . chr(160) => 'G', chr(196) . chr(161) => 'g',
chr(196) . chr(162) => 'G', chr(196) . chr(163) => 'g',
chr(196) . chr(164) => 'H', chr(196) . chr(165) => 'h',
chr(196) . chr(166) => 'H', chr(196) . chr(167) => 'h',
chr(196) . chr(168) => 'I', chr(196) . chr(169) => 'i',
chr(196) . chr(170) => 'I', chr(196) . chr(171) => 'i',
chr(196) . chr(172) => 'I', chr(196) . chr(173) => 'i',
chr(196) . chr(174) => 'I', chr(196) . chr(175) => 'i',
chr(196) . chr(176) => 'I', chr(196) . chr(177) => 'i',
chr(196) . chr(178) => 'IJ', chr(196) . chr(179) => 'ij',
chr(196) . chr(180) => 'J', chr(196) . chr(181) => 'j',
chr(196) . chr(182) => 'K', chr(196) . chr(183) => 'k',
chr(196) . chr(184) => 'k', chr(196) . chr(185) => 'L',
chr(196) . chr(186) => 'l', chr(196) . chr(187) => 'L',
chr(196) . chr(188) => 'l', chr(196) . chr(189) => 'L',
chr(196) . chr(190) => 'l', chr(196) . chr(191) => 'L',
chr(197) . chr(128) => 'l', chr(197) . chr(129) => 'L',
chr(197) . chr(130) => 'l', chr(197) . chr(131) => 'N',
chr(197) . chr(132) => 'n', chr(197) . chr(133) => 'N',
chr(197) . chr(134) => 'n', chr(197) . chr(135) => 'N',
chr(197) . chr(136) => 'n', chr(197) . chr(137) => 'N',
chr(197) . chr(138) => 'n', chr(197) . chr(139) => 'N',
chr(197) . chr(140) => 'O', chr(197) . chr(141) => 'o',
chr(197) . chr(142) => 'O', chr(197) . chr(143) => 'o',
chr(197) . chr(144) => 'O', chr(197) . chr(145) => 'o',
chr(197) . chr(146) => 'OE', chr(197) . chr(147) => 'oe',
chr(197) . chr(148) => 'R', chr(197) . chr(149) => 'r',
chr(197) . chr(150) => 'R', chr(197) . chr(151) => 'r',
chr(197) . chr(152) => 'R', chr(197) . chr(153) => 'r',
chr(197) . chr(154) => 'S', chr(197) . chr(155) => 's',
chr(197) . chr(156) => 'S', chr(197) . chr(157) => 's',
chr(197) . chr(158) => 'S', chr(197) . chr(159) => 's',
chr(197) . chr(160) => 'S', chr(197) . chr(161) => 's',
chr(197) . chr(162) => 'T', chr(197) . chr(163) => 't',
chr(197) . chr(164) => 'T', chr(197) . chr(165) => 't',
chr(197) . chr(166) => 'T', chr(197) . chr(167) => 't',
chr(197) . chr(168) => 'U', chr(197) . chr(169) => 'u',
chr(197) . chr(170) => 'U', chr(197) . chr(171) => 'u',
chr(197) . chr(172) => 'U', chr(197) . chr(173) => 'u',
chr(197) . chr(174) => 'U', chr(197) . chr(175) => 'u',
chr(197) . chr(176) => 'U', chr(197) . chr(177) => 'u',
chr(197) . chr(178) => 'U', chr(197) . chr(179) => 'u',
chr(197) . chr(180) => 'W', chr(197) . chr(181) => 'w',
chr(197) . chr(182) => 'Y', chr(197) . chr(183) => 'y',
chr(197) . chr(184) => 'Y', chr(197) . chr(185) => 'Z',
chr(197) . chr(186) => 'z', chr(197) . chr(187) => 'Z',
chr(197) . chr(188) => 'z', chr(197) . chr(189) => 'Z',
chr(197) . chr(190) => 'z', chr(197) . chr(191) => 's',
// Euro Sign
chr(226) . chr(130) . chr(172) => 'E',
// GBP (Pound) Sign
chr(194) . chr(163) => '');
chr(194) . chr(163) => '', ];
$string = strtr($string, $chars);
} else {
@@ -771,11 +793,11 @@ function remove_accents($string)
. chr(244) . chr(245) . chr(246) . chr(248) . chr(249) . chr(250) . chr(251)
. chr(252) . chr(253) . chr(255);
$chars['out'] = "EfSZszYcYuAAAAAACEEEEIIIINOOOOOOUUUUYaaaaaaceeeeiiiinoooooouuuuyy";
$chars['out'] = 'EfSZszYcYuAAAAAACEEEEIIIINOOOOOOUUUUYaaaaaaceeeeiiiinoooooouuuuyy';
$string = strtr($string, $chars['in'], $chars['out']);
$double_chars['in'] = array(chr(140), chr(156), chr(198), chr(208), chr(222), chr(223), chr(230), chr(240), chr(254));
$double_chars['out'] = array('OE', 'oe', 'AE', 'DH', 'TH', 'ss', 'ae', 'dh', 'th');
$double_chars['in'] = [chr(140), chr(156), chr(198), chr(208), chr(222), chr(223), chr(230), chr(240), chr(254)];
$double_chars['out'] = ['OE', 'oe', 'AE', 'DH', 'TH', 'ss', 'ae', 'dh', 'th'];
$string = str_replace($double_chars['in'], $double_chars['out'], $string);
}
@@ -793,7 +815,7 @@ function remove_accents($string)
function get_files_for_zip($folders, $files, $path = [])
{
// Return file list
if (!isset($folders->folders)) {
if (! isset($folders->folders)) {
return $files->unique()->values()->all();
}
@@ -803,9 +825,9 @@ function get_files_for_zip($folders, $files, $path = [])
// Push file to collection
$folders->files->each(function ($file) use ($files, $path) {
$files->push([
'name' => $file->name,
'basename' => $file->basename,
'mimetype' => $file->mimetype,
'name' => $file->name,
'basename' => $file->basename,
'mimetype' => $file->mimetype,
'folder_path' => implode('/', $path),
]);
});
@@ -831,7 +853,6 @@ function set_time_by_user_timezone($time)
$user = Auth::user();
if ($user) {
// Get the value of timezone if user have some
$time_zone = intval($user->settings->timezone * 60 ?? null);
@@ -891,12 +912,14 @@ function replace_occurrence($string, $values)
{
$occurrences = $values->map(function ($message, $key) {
return [
'key' => ":$key",
'key' => ":$key",
'message' => $message,
];
});
return str_ireplace(
$occurrences->pluck('key')->toArray(), $occurrences->pluck('message')->toArray(), $string
$occurrences->pluck('key')->toArray(),
$occurrences->pluck('message')->toArray(),
$string
);
}

Some files were not shown because too many files have changed in this diff Show More