Path: blob/1.0-develop/app/Http/Requests/Admin/Settings/MailSettingsFormRequest.php
10277 views
<?php12namespace Pterodactyl\Http\Requests\Admin\Settings;34use Illuminate\Validation\Rule;5use Pterodactyl\Http\Requests\Admin\AdminFormRequest;67class MailSettingsFormRequest extends AdminFormRequest8{9/**10* Return rules to validate mail settings POST data against.11*/12public function rules(): array13{14return [15'mail:mailers:smtp:host' => 'required|string',16'mail:mailers:smtp:port' => 'required|integer|between:1,65535',17'mail:mailers:smtp:encryption' => ['present', Rule::in([null, 'tls', 'ssl'])],18'mail:mailers:smtp:username' => 'nullable|string|max:191',19'mail:mailers:smtp:password' => 'nullable|string|max:191',20'mail:from:address' => 'required|string|email',21'mail:from:name' => 'nullable|string|max:191',22];23}2425/**26* Override the default normalization function for this type of request27* as we need to accept empty values on the keys.28*/29public function normalize(?array $only = null): array30{31$keys = array_flip(array_keys($this->rules()));3233if (empty($this->input('mail:mailers:smtp:password'))) {34unset($keys['mail:mailers:smtp:password']);35}3637return $this->only(array_flip($keys));38}39}404142