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))
- {{ __('Discord') }}
@endif
- @if (config('SETTINGS::LOCALE:CLIENTS_CAN_CHANGE') == 'true')
+ @php($locale_settings = app(App\Settings\LocaleSettings::class))
+ @if ($locale_settings->clients_can_change)
@@ -74,7 +79,7 @@
aria-labelledby="changeLocale">
@endif
- @foreach($useful_links as $link)
+ @foreach ($useful_links as $link)
{{ $link->title }}
+ class="{{ $link->icon }}"> {{ $link->title }}
@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)
@@ -243,38 +244,25 @@
@endif
- @if (config('SETTINGS::TICKET:ENABLED'))
-
-
-
- {{ __('Support Ticket') }}
-
-
+ @php($ticket_enabled = app(App\Settings\TicketSettings::class)->enabled)
+ @if ($ticket_enabled)
+ @canany(["user.ticket.read", "user.ticket.write"])
+
+
+
+ {{ __('Support Ticket') }}
+
+
+ @endcanany
@endif
- @if ((Auth::user()->hasRole("Admin") || Auth::user()->role == 'moderator') && config('SETTINGS::TICKET:ENABLED'))
-
-
-
-
-
- {{ __('Ticket List') }}
-
-
-
-
-
- {{ __('Ticket Blacklist') }}
-
-
- @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'])
@@ -282,8 +270,66 @@
{{ __('Overview') }}
+ @endcanany
+ @canany(['admin.ticket.read','admin.tickets.write'])
+
+
+
+ {{ __('Ticket List') }}
+
+
+ @endcanany
+ @canany(['admin.ticket_blacklist.read','admin.ticket_blacklist.write'])
+
+
+
+ {{ __('Ticket Blacklist') }}
+
+
+ @endcanany
+
+ @canany(['admin.roles.read','admin.roles.write'])
+
+
+
+ {{ __('Role Management') }}
+
+
+ @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',])
@@ -291,7 +337,9 @@
{{ __('Settings') }}
+ @endcanany
+ @canany(['admin.api.read','admin.api.write'])
@@ -299,9 +347,40 @@
{{ __('Application API') }}
+ @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'])
@@ -309,7 +388,13 @@
{{ __('Users') }}
-
+ @endcanany
+ @canany(['admin.servers.read',
+ 'admin.servers.write',
+ 'admin.servers.suspend',
+ 'admin.servers.write.owner',
+ 'admin.servers.write.identifier',
+ 'admin.servers.delete'])
@@ -317,7 +402,11 @@
{{ __('Servers') }}
-
+ @endcanany
+ @canany(['admin.products.read',
+ 'admin.products.create',
+ 'admin.products.edit',
+ 'admin.products.delete'])
@@ -325,7 +414,8 @@
{{ __('Products') }}
-
+ @endcanany
+ @canany(['admin.store.read','admin.store.write','admin.store.disable'])
@@ -333,7 +423,8 @@
{{ __('Store') }}
-
+ @endcanany
+ @canany(["admin.voucher.read","admin.voucher.read"])
@@ -341,7 +432,8 @@
{{ __('Vouchers') }}
-
+ @endcanany
+ @canany(["admin.partners.read","admin.partners.read"])
@@ -349,28 +441,13 @@
{{ __('Partners') }}
+ @endcanany
- {{-- --}}
-
- {{-- --}}
- {{-- --}}
- {{-- --}}
- {{-- Nodes
--}}
- {{-- --}}
- {{-- --}}
-
- {{-- --}}
- {{-- --}}
- {{-- --}}
- {{-- Nests
--}}
- {{-- --}}
- {{-- --}}
-
-
+ @canany(["admin.useful_links.read","admin.legal.read"])
+ @endcanany
+ @canany(["admin.useful_links.read","admin.useful_links.write"])
@@ -378,7 +455,9 @@
{{ __('Useful Links') }}
+ @endcanany
+ @canany(["admin.legal.read","admin.legal.write"])
@@ -386,9 +465,14 @@
{{ __('Legal Sites') }}
+ @endcanany
+
+ @canany(["admin.payments.read","admin.logs.read"])
+ @endcanany
+ @can("admin.payments.read")
@@ -399,7 +483,9 @@
+ @endcan
+ @can("admin.logs.read")
@@ -407,7 +493,8 @@
{{ __('Activity Logs') }}
- @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 --}}
@@ -469,9 +559,9 @@
-
+
-
+