From 6bba6123c602eef7110a4b8daa43a4730e4f9760 Mon Sep 17 00:00:00 2001 From: 1day2die Date: Mon, 8 May 2023 11:55:17 +0200 Subject: [PATCH] Update to new Settings --- app/Http/Controllers/Api/UserController.php | 5 +- routes/web.php | 4 +- .../BlueInfinity/views/layouts/app.blade.php | 2 +- .../BlueInfinity/views/layouts/main.blade.php | 256 ++++++++++++------ 4 files changed, 180 insertions(+), 87 deletions(-) diff --git a/app/Http/Controllers/Api/UserController.php b/app/Http/Controllers/Api/UserController.php index 0dd445be..726eb9e8 100644 --- a/app/Http/Controllers/Api/UserController.php +++ b/app/Http/Controllers/Api/UserController.php @@ -8,6 +8,7 @@ use App\Http\Controllers\Controller; use App\Models\DiscordUser; use App\Models\User; use App\Notifications\ReferralNotification; +use App\Settings\UserSettings; use Carbon\Carbon; use Illuminate\Contracts\Foundation\Application; use Illuminate\Contracts\Pagination\LengthAwarePaginator; @@ -257,7 +258,7 @@ class UserController extends Controller /** * @throws ValidationException */ - public function store(Request $request) + public function store(Request $request, UserSettings $userSettings) { $request->validate([ 'name' => ['required', 'string', 'max:30', 'min:4', 'alpha_num', 'unique:users'], @@ -266,7 +267,7 @@ class UserController extends Controller ]); // Prevent the creation of new users via API if this is enabled. - if (! config('SETTINGS::SYSTEM:CREATION_OF_NEW_USERS', 'true')) { + if (! $userSettings->creation_enabled) { throw ValidationException::withMessages([ 'error' => 'The creation of new users has been blocked by the system administrator.', ]); diff --git a/routes/web.php b/routes/web.php index 6f682f7f..8de0863e 100644 --- a/routes/web.php +++ b/routes/web.php @@ -75,7 +75,9 @@ Route::middleware(['auth', 'checkSuspended'])->group(function () { Route::resource('notifications', NotificationController::class); Route::patch('/servers/cancel/{server}', [ServerController::class, 'cancel'])->name('servers.cancel'); Route::resource('servers', ServerController::class); - if (config('SETTINGS::SYSTEM:ENABLE_UPGRADE')) { + + $serverSettings = app(App\Settings\ServerSettings::class); + if ($serverSettings->enable_upgrade) { Route::post('servers/{server}/upgrade', [ServerController::class, 'upgrade'])->name('servers.upgrade'); } diff --git a/themes/BlueInfinity/views/layouts/app.blade.php b/themes/BlueInfinity/views/layouts/app.blade.php index 07050e68..376f1d92 100644 --- a/themes/BlueInfinity/views/layouts/app.blade.php +++ b/themes/BlueInfinity/views/layouts/app.blade.php @@ -27,7 +27,7 @@ - @if (config('SETTINGS::RECAPTCHA:ENABLED') == 'true') + @if (app(App\Settings\GeneralSettings::class)->recaptcha_enabled) {!! htmlScriptTagJsApi() !!} @endif diff --git a/themes/BlueInfinity/views/layouts/main.blade.php b/themes/BlueInfinity/views/layouts/main.blade.php index aa4a7cf5..b6549a7a 100644 --- a/themes/BlueInfinity/views/layouts/main.blade.php +++ b/themes/BlueInfinity/views/layouts/main.blade.php @@ -2,22 +2,26 @@ + @php($website_settings = app(App\Settings\WebsiteSettings::class)) + @php($general_settings = app(App\Settings\GeneralSettings::class)) - - - exists('logo.png') ? asset('storage/logo.png') : asset('images/controlpanel_logo.png') }}' property="og:image"> + + + exists('logo.png') ? asset('storage/logo.png') : asset('images/controlpanel_logo.png') }}' + property="og:image"> {{ config('app.name', 'Laravel') }} - + {{-- --}} - + {{-- summernote --}} @@ -36,7 +40,7 @@ - + @@ -54,15 +58,16 @@ {{ __('Home') }} - @if (config('SETTINGS::DISCORD:INVITE_URL')) + @if (!empty($discord_settings->invite_url)) @endif - @if (config('SETTINGS::LOCALE:CLIENTS_CAN_CHANGE') == 'true') + @php($locale_settings = app(App\Settings\LocaleSettings::class)) + @if ($locale_settings->clients_can_change) @endforeach @@ -230,11 +235,7 @@ - @if (env('APP_ENV') == 'local' || - (config('SETTINGS::PAYMENTS:PAYPAL:SECRET') && config('SETTINGS::PAYMENTS:PAYPAL:CLIENT_ID')) || - (config('SETTINGS::PAYMENTS:STRIPE:SECRET') && - config('SETTINGS::PAYMENTS:STRIPE:ENDPOINT_SECRET') && - config('SETTINGS::PAYMENTS:STRIPE:METHODS'))) + @if (env('APP_ENV') == 'local' || $general_settings->store_enabled) @endif - @if (config('SETTINGS::TICKET:ENABLED')) - + @php($ticket_enabled = app(App\Settings\TicketSettings::class)->enabled) + @if ($ticket_enabled) + @canany(["user.ticket.read", "user.ticket.write"]) + + @endcanany @endif - @if ((Auth::user()->hasRole("Admin") || Auth::user()->role == 'moderator') && config('SETTINGS::TICKET:ENABLED')) - - - - - @endif - - @if (Auth::user()->hasRole("Admin")) + + @canany(['settings.discord.read','settings.discord.write','settings.general.read','settings.general.write','settings.invoice.read','settings.invoice.write','settings.locale.read','settings.locale.write','settings.mail.read','settings.mail.write','settings.pterodactyl.read','settings.pterodactyl.write','settings.referral.read','settings.referral.write','settings.server.read','settings.server.write','settings.ticket.read','settings.ticket.write','settings.user.read','settings.user.write','settings.website.read','settings.website.write','settings.paypal.read','settings.paypal.write','settings.stripe.read','settings.stripe.write','settings.mollie.read','settings.mollie.write','admin.overview.read','admin.overview.sync','admin.ticket.read','admin.tickets.write','admin.ticket_blacklist.read','admin.ticket_blacklist.write','admin.roles.read','admin.roles.write','admin.api.read','admin.api.write']) + @endcanany + @canany(['admin.overview.read','admin.overview.sync']) + @endcanany + @canany(['admin.ticket.read','admin.tickets.write']) + + @endcanany + @canany(['admin.ticket_blacklist.read','admin.ticket_blacklist.write']) + + @endcanany + + @canany(['admin.roles.read','admin.roles.write']) + + @endcanany + + @canany(['settings.discord.read', + 'settings.discord.write', + 'settings.general.read', + 'settings.general.write', + 'settings.invoice.read', + 'settings.invoice.write', + 'settings.locale.read', + 'settings.locale.write', + 'settings.mail.read', + 'settings.mail.write', + 'settings.pterodactyl.read', + 'settings.pterodactyl.write', + 'settings.referral.read', + 'settings.referral.write', + 'settings.server.read', + 'settings.server.write', + 'settings.ticket.read', + 'settings.ticket.write', + 'settings.user.read', + 'settings.user.write', + 'settings.website.read', + 'settings.website.write', + 'settings.paypal.read', + 'settings.paypal.write', + 'settings.stripe.read', + 'settings.stripe.write', + 'settings.mollie.read', + 'settings.mollie.write',]) + @endcanany + @canany(['admin.api.read','admin.api.write']) + @endcanany + + @canany(['admin.users.read', + 'admin.users.write', + 'admin.users.suspend', + 'admin.users.write.credits', + 'admin.users.write.username', + 'admin.users.write.password', + 'admin.users.write.role', + 'admin.users.write.referal', + 'admin.users.write.pterodactyl','admin.servers.read', + 'admin.servers.write', + 'admin.servers.suspend', + 'admin.servers.write.owner', + 'admin.servers.write.identifier', + 'admin.servers.delete','admin.products.read', + 'admin.products.create', + 'admin.products.edit', + 'admin.products.delete',]) + @endcanany + + + @canany(['admin.users.read', + 'admin.users.write', + 'admin.users.suspend', + 'admin.users.write.credits', + 'admin.users.write.username', + 'admin.users.write.password', + 'admin.users.write.role', + 'admin.users.write.referal', + 'admin.users.write.pterodactyl']) - + @endcanany + @canany(['admin.servers.read', + 'admin.servers.write', + 'admin.servers.suspend', + 'admin.servers.write.owner', + 'admin.servers.write.identifier', + 'admin.servers.delete']) - + @endcanany + @canany(['admin.products.read', + 'admin.products.create', + 'admin.products.edit', + 'admin.products.delete']) - + @endcanany + @canany(['admin.store.read','admin.store.write','admin.store.disable']) - + @endcanany + @canany(["admin.voucher.read","admin.voucher.read"]) - + @endcanany + @canany(["admin.partners.read","admin.partners.read"]) + @endcanany - {{-- --}} - - {{-- --}} - - {{-- --}} - - + @canany(["admin.useful_links.read","admin.legal.read"]) + @endcanany + @canany(["admin.useful_links.read","admin.useful_links.write"]) + @endcanany + @canany(["admin.legal.read","admin.legal.write"]) + @endcanany + + @canany(["admin.payments.read","admin.logs.read"]) + @endcanany + @can("admin.payments.read") + @endcan + @can("admin.logs.read") - @endif + @endcan + @@ -420,17 +507,19 @@
- @if (!Auth::user()->hasVerifiedEmail()) + @yield('content') @@ -441,21 +530,22 @@ Copyright © 2021-{{ date('Y') }} {{ env('APP_NAME', 'Laravel') }}. All rights - reserved. Powered by ControlPanel. | Theme by 2IceCube + reserved. Powered by CtrlPanel. | Theme by 2IceCube @if (!str_contains(config('BRANCHNAME'), 'main') && !str_contains(config('BRANCHNAME'), 'unknown')) Version {{ config('app')['version'] }} - {{ config('BRANCHNAME') }} @endif {{-- Show imprint and privacy link --}}
- @if (config('SETTINGS::SYSTEM:SHOW_IMPRINT') == "true") + @if ($website_settings->show_imprint) {{ __('Imprint') }} | @endif - @if (config('SETTINGS::SYSTEM:SHOW_PRIVACY') == "true") + @if ($website_settings->show_privacy) {{ __('Privacy') }} @endif - @if (config('SETTINGS::SYSTEM:SHOW_TOS') == "true") - | {{ __('Terms of Service') }} + @if ($website_settings->show_tos) + | {{ __('Terms of Service') }} @endif
@@ -469,9 +559,9 @@ - + - +