mirror of
				https://github.com/v2board/v2board.git
				synced 2025-11-01 01:41:47 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			113 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			113 lines
		
	
	
		
			4.0 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',
 | ||
|         'safe_mode_enable' => 'in:0,1',
 | ||
|         'stop_register' => 'in:0,1',
 | ||
|         'email_verify' => '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',
 | ||
|         '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' => '',
 | ||
|         'tos_url' => 'nullable|url',
 | ||
|         'currency' => '',
 | ||
|         'currency_symbol' => '',
 | ||
|         'register_limit_by_ip_enable' => 'in:0,1',
 | ||
|         'register_limit_count' => 'integer',
 | ||
|         'register_limit_expire' => 'integer',
 | ||
|         'secure_path' => '',
 | ||
|         // 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' => ''
 | ||
|     ];
 | ||
|     /**
 | ||
|      * 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)://'
 | ||
|         ];
 | ||
|     }
 | ||
| }
 |