mirror of
https://github.com/v2board/v2board.git
synced 2024-11-10 09:39:10 +08:00
119 lines
4.3 KiB
PHP
Executable File
119 lines
4.3 KiB
PHP
Executable File
<?php
|
||
|
||
namespace App\Http\Requests\Admin;
|
||
|
||
use Illuminate\Foundation\Http\FormRequest;
|
||
|
||
class ConfigSave extends FormRequest
|
||
{
|
||
const RULES = [
|
||
// invite & commission
|
||
'invite_force' => 'in:0,1',
|
||
'invite_commission' => 'integer',
|
||
'invite_gen_limit' => 'integer',
|
||
'invite_never_expire' => 'in:0,1',
|
||
'commission_first_time_enable' => 'in:0,1',
|
||
'commission_auto_check_enable' => 'in:0,1',
|
||
'commission_withdraw_limit' => 'nullable|numeric',
|
||
'commission_withdraw_method' => 'nullable|array',
|
||
'withdraw_close_enable' => 'in:0,1',
|
||
'commission_distribution_enable' => 'in:0,1',
|
||
'commission_distribution_l1' => 'nullable|numeric',
|
||
'commission_distribution_l2' => 'nullable|numeric',
|
||
'commission_distribution_l3' => 'nullable|numeric',
|
||
// site
|
||
'logo' => 'nullable|url',
|
||
'force_https' => 'in:0,1',
|
||
'stop_register' => 'in:0,1',
|
||
'app_name' => '',
|
||
'app_description' => '',
|
||
'app_url' => 'nullable|url',
|
||
'subscribe_url' => 'nullable',
|
||
'try_out_enable' => 'in:0,1',
|
||
'try_out_plan_id' => 'integer',
|
||
'try_out_hour' => 'numeric',
|
||
'tos_url' => 'nullable|url',
|
||
'currency' => '',
|
||
'currency_symbol' => '',
|
||
// subscribe
|
||
'plan_change_enable' => 'in:0,1',
|
||
'reset_traffic_method' => 'in:0,1,2,3,4',
|
||
'surplus_enable' => 'in:0,1',
|
||
'new_order_event_id' => 'in:0,1',
|
||
'renew_order_event_id' => 'in:0,1',
|
||
'change_order_event_id' => 'in:0,1',
|
||
'show_info_to_server_enable' => 'in:0,1',
|
||
// server
|
||
'server_token' => 'nullable|min:16',
|
||
'server_pull_interval' => 'integer',
|
||
'server_push_interval' => 'integer',
|
||
// frontend
|
||
'frontend_theme' => '',
|
||
'frontend_theme_sidebar' => 'nullable|in:dark,light',
|
||
'frontend_theme_header' => 'nullable|in:dark,light',
|
||
'frontend_theme_color' => 'nullable|in:default,darkblue,black,green',
|
||
'frontend_background_url' => 'nullable|url',
|
||
// email
|
||
'email_template' => '',
|
||
'email_host' => '',
|
||
'email_port' => '',
|
||
'email_username' => '',
|
||
'email_password' => '',
|
||
'email_encryption' => '',
|
||
'email_from_address' => '',
|
||
// telegram
|
||
'telegram_bot_enable' => 'in:0,1',
|
||
'telegram_bot_token' => '',
|
||
'telegram_discuss_id' => '',
|
||
'telegram_channel_id' => '',
|
||
'telegram_discuss_link' => 'nullable|url',
|
||
// app
|
||
'windows_version' => '',
|
||
'windows_download_url' => '',
|
||
'macos_version' => '',
|
||
'macos_download_url' => '',
|
||
'android_version' => '',
|
||
'android_download_url' => '',
|
||
// safe
|
||
'email_whitelist_enable' => 'in:0,1',
|
||
'email_whitelist_suffix' => 'nullable|array',
|
||
'email_gmail_limit_enable' => 'in:0,1',
|
||
'recaptcha_enable' => 'in:0,1',
|
||
'recaptcha_key' => '',
|
||
'recaptcha_site_key' => '',
|
||
'email_verify' => 'in:0,1',
|
||
'safe_mode_enable' => 'in:0,1',
|
||
'register_limit_by_ip_enable' => 'in:0,1',
|
||
'register_limit_count' => 'integer',
|
||
'register_limit_expire' => 'integer',
|
||
'secure_path' => 'min:8|regex:/^[\w-]*$/',
|
||
'password_limit_enable' => 'in:0,1',
|
||
'password_limit_count' => 'integer',
|
||
'password_limit_expire' => 'integer',
|
||
];
|
||
/**
|
||
* Get the validation rules that apply to the request.
|
||
*
|
||
* @return array
|
||
*/
|
||
public function rules()
|
||
{
|
||
return self::RULES;
|
||
}
|
||
|
||
public function messages()
|
||
{
|
||
// illiteracy prompt
|
||
return [
|
||
'app_url.url' => '站点URL格式不正确,必须携带http(s)://',
|
||
'subscribe_url.url' => '订阅URL格式不正确,必须携带http(s)://',
|
||
'server_token.min' => '通讯密钥长度必须大于16位',
|
||
'tos_url.url' => '服务条款URL格式不正确,必须携带http(s)://',
|
||
'telegram_discuss_link.url' => 'Telegram群组地址必须为URL格式,必须携带http(s)://',
|
||
'logo.url' => 'LOGO URL格式不正确,必须携带https(s)://',
|
||
'secure_path.min' => '后台路径长度最小为8位',
|
||
'secure_path.regex' => '后台路径只能为字母或数字'
|
||
];
|
||
}
|
||
}
|