Path: blob/1.0-develop/app/Http/Controllers/Admin/Settings/AdvancedController.php
10284 views
<?php12namespace Pterodactyl\Http\Controllers\Admin\Settings;34use Illuminate\View\View;5use Illuminate\Http\RedirectResponse;6use Prologue\Alerts\AlertsMessageBag;7use Illuminate\Contracts\Console\Kernel;8use Pterodactyl\Http\Controllers\Controller;9use Illuminate\Contracts\Config\Repository as ConfigRepository;10use Pterodactyl\Contracts\Repository\SettingsRepositoryInterface;11use Pterodactyl\Http\Requests\Admin\Settings\AdvancedSettingsFormRequest;1213class AdvancedController extends Controller14{15/**16* AdvancedController constructor.17*/18public function __construct(19private AlertsMessageBag $alert,20private ConfigRepository $config,21private Kernel $kernel,22private SettingsRepositoryInterface $settings,23) {24}2526/**27* Render advanced Panel settings UI.28*/29public function index(): View30{31$showRecaptchaWarning = false;32if (33$this->config->get('recaptcha._shipped_secret_key') === $this->config->get('recaptcha.secret_key')34|| $this->config->get('recaptcha._shipped_website_key') === $this->config->get('recaptcha.website_key')35) {36$showRecaptchaWarning = true;37}3839return view('admin.settings.advanced', [40'showRecaptchaWarning' => $showRecaptchaWarning,41]);42}4344/**45* @throws \Pterodactyl\Exceptions\Model\DataValidationException46* @throws \Pterodactyl\Exceptions\Repository\RecordNotFoundException47*/48public function update(AdvancedSettingsFormRequest $request): RedirectResponse49{50foreach ($request->normalize() as $key => $value) {51$this->settings->set('settings::' . $key, $value);52}5354$this->kernel->call('queue:restart');55$this->alert->success('Advanced settings have been updated successfully and the queue worker was restarted to apply these changes.')->flash();5657return redirect()->route('admin.settings.advanced');58}59}606162