diff --git a/app/Classes/Settings/System.php b/app/Classes/Settings/System.php index db7eb4e0..22fed19e 100644 --- a/app/Classes/Settings/System.php +++ b/app/Classes/Settings/System.php @@ -46,6 +46,14 @@ public function checkPteroClientkey(){ "enable-upgrades" => "string", ]); + + $validator->after(function ($validator) use ($request) { + // if enable-recaptcha is true then recaptcha-site-key and recaptcha-secret-key must be set + if ($request->get('enable-upgrades') == 'true' && (!$request->get('pterodactyl-admin-api-key'))) { + $validator->errors()->add('pterodactyl-admin-api-key', 'The admin api key is required when upgrades are enabled.'); + } + }); + if ($validator->fails()) { return redirect(route('admin.settings.index') . '#system')->with('error', __('System settings have not been updated!'))->withErrors($validator) ->withInput(); diff --git a/app/Http/Controllers/ServerController.php b/app/Http/Controllers/ServerController.php index 110c83b7..03c06313 100644 --- a/app/Http/Controllers/ServerController.php +++ b/app/Http/Controllers/ServerController.php @@ -257,7 +257,7 @@ class ServerController extends Controller public function upgrade(Server $server, Request $request) { - if($server->user_id != Auth::user()->id || !config("SETTINGS::SYSTEM:ENABLE_UPGRADE")) return redirect()->route('servers.index'); + if($server->user_id != Auth::user()->id) return redirect()->route('servers.index'); if(!isset($request->product_upgrade)) { return redirect()->route('servers.show', ['server' => $server->id])->with('error', __('this product is the only one')); diff --git a/resources/views/admin/settings/tabs/system.blade.php b/resources/views/admin/settings/tabs/system.blade.php index fb432645..9511bd7d 100644 --- a/resources/views/admin/settings/tabs/system.blade.php +++ b/resources/views/admin/settings/tabs/system.blade.php @@ -91,6 +91,11 @@ + @error('pterodactyl-admin-api-key') +
+ {{$message}} +
+ @enderror diff --git a/routes/web.php b/routes/web.php index 73634f52..433220f9 100644 --- a/routes/web.php +++ b/routes/web.php @@ -64,7 +64,9 @@ Route::middleware(['auth', 'checkSuspended'])->group(function () { Route::get('notifications/readAll',[NotificationController::class,'readAll'])->name('notifications.readAll'); Route::resource('notifications', NotificationController::class); Route::resource('servers', ServerController::class); - Route::post('servers/{server}/upgrade', [ServerController::class,'upgrade'])->name('servers.upgrade'); + if(config('SETTINGS::SYSTEM:ENABLE_UPGRADE')){ + Route::post('servers/{server}/upgrade', [ServerController::class,'upgrade'])->name('servers.upgrade'); + } Route::resource('profile', ProfileController::class); Route::resource('store', StoreController::class);