authorize('manage', $server); return view('site-settings.index', [ 'server' => $server, 'site' => $site, ]); } public function getVhost(Server $server, Site $site): RedirectResponse { $this->authorize('manage', $server); /** @var Webserver $handler */ $handler = $server->webserver()->handler(); return back()->with('vhost', $handler->getVHost($site)); } public function updateVhost(Server $server, Site $site, Request $request): RedirectResponse { $this->authorize('manage', $server); $this->validate($request, [ 'vhost' => 'required|string', ]); try { /** @var Webserver $handler */ $handler = $server->webserver()->handler(); $handler->updateVHost($site, false, $request->input('vhost')); Toast::success('VHost updated successfully!'); } catch (Throwable $e) { Toast::error($e->getMessage()); } return back(); } public function updatePHPVersion(Server $server, Site $site, Request $request): HtmxResponse { $this->authorize('manage', $server); $this->validate($request, [ 'version' => [ 'required', Rule::exists('services', 'version')->where('type', 'php'), ], ]); try { $site->changePHPVersion($request->input('version')); Toast::success('PHP version updated successfully!'); } catch (Throwable $e) { Toast::error($e->getMessage()); } return htmx()->back(); } public function updateSourceControl(Server $server, Site $site, Request $request): HtmxResponse { $this->authorize('manage', $server); app(UpdateSourceControl::class)->update($site, $request->input()); Toast::success('Source control updated successfully!'); return htmx()->back(); } public function updateAliases(Server $server, Site $site, Request $request): HtmxResponse { $this->authorize('manage', $server); app(UpdateAliases::class)->update($site, $request->input()); Toast::success('Aliases updated successfully!'); return htmx()->back(); } }