diff --git a/app/Http/Controllers/SetupController.php b/app/Http/Controllers/SetupController.php index d4864dc4..4426d67f 100644 --- a/app/Http/Controllers/SetupController.php +++ b/app/Http/Controllers/SetupController.php @@ -40,6 +40,54 @@ class SetupController extends Controller 'redis' => 'Redis', ]; + /** + * Array of step1 rules. + * + * @var string[] + */ + protected $rulesStep1; + + /** + * Array of step2 rules. + * + * @var string[] + */ + protected $rulesStep2; + + /** + * Array of step3 rules. + * + * @var string[] + */ + protected $rulesStep3; + + /** + * Create a new controller instance. + * + * @return void + */ + public function __construct() + { + $this->rulesStep1 = [ + 'env.cache_driver' => 'required|in:'.implode(',', array_keys($this->cacheDrivers)), + 'env.session_driver' => 'required|in:'.implode(',', array_keys($this->cacheDrivers)), + ]; + + $this->rulesStep2 = [ + 'settings.app_name' => 'required', + 'settings.app_domain' => 'required', + 'settings.app_timezone' => 'required', + 'settings.app_locale' => 'required', + 'settings.show_support' => 'bool', + ]; + + $this->rulesStep3 = [ + 'user.username' => ['required', 'regex:/\A(?!.*[:;]-\))[ -~]+\z/'], + 'user.email' => 'email|required', + 'user.password' => 'required', + ]; + } + /** * Returns the setup page. * @@ -80,10 +128,7 @@ class SetupController extends Controller { $postData = Binput::all(); - $v = Validator::make($postData, [ - 'env.cache_driver' => 'required|in:'.implode(',', array_keys($this->cacheDrivers)), - 'env.session_driver' => 'required|in:'.implode(',', array_keys($this->cacheDrivers)), - ]); + $v = Validator::make($postData, $this->rulesStep1); if ($v->passes()) { return Response::json(['status' => 1]); @@ -101,15 +146,7 @@ class SetupController extends Controller { $postData = Binput::all(); - $v = Validator::make($postData, [ - 'env.cache_driver' => 'required|in:'.implode(',', array_keys($this->cacheDrivers)), - 'env.session_driver' => 'required|in:'.implode(',', array_keys($this->cacheDrivers)), - 'settings.app_name' => 'required', - 'settings.app_domain' => 'required', - 'settings.app_timezone' => 'required', - 'settings.app_locale' => 'required', - 'settings.show_support' => 'bool', - ]); + $v = Validator::make($postData, $this->rulesStep1 + $this->rulesStep2); if ($v->passes()) { return Response::json(['status' => 1]); @@ -127,18 +164,7 @@ class SetupController extends Controller { $postData = Binput::all(); - $v = Validator::make($postData, [ - 'env.cache_driver' => 'required|in:'.implode(',', array_keys($this->cacheDrivers)), - 'env.session_driver' => 'required|in:'.implode(',', array_keys($this->cacheDrivers)), - 'settings.app_name' => 'required', - 'settings.app_domain' => 'required', - 'settings.app_timezone' => 'required', - 'settings.app_locale' => 'required', - 'settings.show_support' => 'bool', - 'user.username' => ['required', 'regex:/\A(?!.*[:;]-\))[ -~]+\z/'], - 'user.email' => 'email|required', - 'user.password' => 'required', - ]); + $v = Validator::make($postData, $this->rulesStep1 + $this->rulesStep2 + $this->rulesStep3); if ($v->passes()) { // Pull the user details out.