view->make( 'admin.extensions.blueprint.index', [ 'bp' => $this->bp, 'blueprint' => $this->blueprint, 'telemetry' => $this->telemetry, 'latest' => $this->bp->latest(), 'root' => "/admin/extensions/blueprint", ] ); } /** * @throws \Pterodactyl\Exceptions\Model\DataValidationException * @throws \Pterodactyl\Exceptions\Repository\RecordNotFoundException */ public function update(BlueprintAdminFormRequest $request): RedirectResponse { foreach ($request->normalize() as $key => $value) { $this->settings->set('blueprint::' . $key, $value); } // Confirm that the database value changes have been applied. $this->blueprint->notify("Your changes have been saved."); // Sync database values with the bash side of Blueprint. Artisan::call("bp:sync"); // Redirect back to the page the user was on. return redirect()->route('admin.extensions.blueprint.index'); } } class BlueprintAdminFormRequest extends AdminFormRequest { // Form validation for settings on the Blueprint admin page. // This is included in the controller directly as that // simplifies my work. public function rules(): array { return [ 'placeholder' => 'string', 'developer' => 'string', 'telemetry' => 'string', ]; } public function attributes(): array { return [ 'placeholder' => 'Placeholder Value', 'developer' => 'Developer Mode', 'telemetry' => 'Telemetry', ]; } }