Merge remote-tracking branch 'origin/master' into oasis

# Conflicts:
#	app/Console/Commands/SetupDevEnvironment.php
#	app/Console/Kernel.php
#	app/Http/Resources/InvoiceResource.php
#	app/Http/Resources/UserResource.php
#	app/Models/User.php
#	composer.lock
#	config/app.php
#	config/custom-language-translations.php
#	config/language-translations.php
#	public/chunks/admin.js
#	public/chunks/app-language.js
#	public/chunks/dashboard.js
#	public/chunks/files.js
#	public/chunks/files~chunks/shared-files~chunks/shared/file-browser.js
#	public/chunks/files~chunks/shared-files~chunks/shared/file-browser~chunks/shared/single-file.js
#	public/chunks/invoices.js
#	public/chunks/pages.js
#	public/chunks/plan-subscribers.js
#	public/chunks/plans.js
#	public/chunks/platform.js
#	public/chunks/settings-invoices.js
#	public/chunks/settings-payment-methods.js
#	public/chunks/settings-subscription.js
#	public/chunks/shared-files.js
#	public/chunks/shared.js
#	public/chunks/shared/file-browser.js
#	public/chunks/user-invoices.js
#	public/chunks/user-subscription.js
#	public/chunks/users.js
#	public/js/main.js
#	public/mix-manifest.json
#	resources/js/components/FilesView/FileItemGrid.vue
#	resources/js/components/FilesView/FileItemList.vue
This commit is contained in:
Peter Papp
2021-04-29 11:06:14 +02:00
166 changed files with 2945 additions and 2876 deletions

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);