예제 #1
0
 /**
  * Handles the actual app install, including user, settings and env.
  *
  * @return \Illuminate\Http\RedirectResponse|\Illuminate\Http\Response
  */
 public function postStep3()
 {
     $postData = Request::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', 'user.username' => ['required', 'regex:/\\A(?!.*[:;]-\\))[ -~]+\\z/'], 'user.email' => 'email|required', 'user.password' => 'required']);
     if ($v->passes()) {
         // Pull the user details out.
         $userDetails = array_pull($postData, 'user');
         $user = User::create(['username' => $userDetails['username'], 'email' => $userDetails['email'], 'password' => $userDetails['password'], 'level' => 1]);
         Auth::login($user);
         $settings = array_pull($postData, 'settings');
         foreach ($settings as $settingName => $settingValue) {
             Setting::create(['name' => $settingName, 'value' => $settingValue]);
         }
         $envData = array_pull($postData, 'env');
         // Write the env to the .env file.
         foreach ($envData as $envKey => $envValue) {
             $this->writeEnv($envKey, $envValue);
         }
         Session::flash('install.done', true);
         if (Request::ajax()) {
             return Response::json(['status' => 1]);
         }
         return Redirect::to('dashboard');
     }
     if (Request::ajax()) {
         return Response::json(['errors' => $v->getMessageBag()], 400);
     }
     return Redirect::route('install.index')->withInput()->withErrors($v->getMessageBag());
 }
예제 #2
0
 /**
  * Seed the settings table.
  */
 protected function seedSettings()
 {
     $defaultSettings = [['name' => 'app_name', 'value' => 'Gitamin Demo'], ['name' => 'app_domain', 'value' => 'https://demo.gitamin.com'], ['name' => 'app_locale', 'value' => 'en'], ['name' => 'app_timezone', 'value' => 'Asia/Shanghai'], ['name' => 'app_issue_days', 'value' => '7']];
     foreach ($defaultSettings as $setting) {
         Setting::create($setting);
     }
 }
예제 #3
0
 /**
  * Seed the settings table.
  *
  * @return void
  */
 protected function seedSettings()
 {
     $defaultSettings = [['name' => 'app_name', 'value' => 'Gitamin Demo'], ['name' => 'app_domain', 'value' => 'https://demo.gitaminhq.io'], ['name' => 'app_locale', 'value' => 'en'], ['name' => 'app_timezone', 'value' => 'Europe/London'], ['name' => 'app_issue_days', 'value' => '7']];
     Setting::truncate();
     foreach ($defaultSettings as $setting) {
         Setting::create($setting);
     }
 }