コード例 #1
0
 /**
  * Installer Process for command line.
  *
  * @param $console_output
  * @param $db_host
  * @param $db_name
  * @param $db_username
  * @param $db_password
  * @param $site_name
  * @param $site_description
  * @param $site_url
  * @param $user_civility
  * @param $user_first_name
  * @param $user_last_name
  * @param $user_email
  */
 public function consoleInstallationProcess($console_output, $db_host, $db_name, $db_username, $db_password, $site_name, $site_description, $site_url, $user_civility, $user_first_name, $user_last_name, $user_email)
 {
     try {
         if (cmsinstalled()) {
             throw new \Exception('The CMS is already installed!');
         }
         $success = $this->testDBConnection($db_host, $db_name, $db_username, $db_password);
         if ($success) {
             $this->generateConfigs($site_name, $site_description, $site_url, $db_host, $db_name, $db_username, $db_password, $user_first_name, $user_last_name, $user_email);
             Artisan::call('cache:clear');
             Artisan::call('config:clear');
             $this->migrate(['APP_SITE_NAME' => $site_name, 'APP_URL' => $site_url], ['--force' => true, '--database' => 'installer'], ['--force' => true, '--database' => 'installer']);
             $password = $this->r_users->generateUserPassword();
             $this->addUserAdmin(['civility' => $user_civility, 'first_name' => $user_first_name, 'last_name' => $user_last_name, 'email' => $user_email, 'password' => $password]);
             $this->set_env_as_production();
             $console_output->write(sprintf(trans('installer::installer.command_line_show_password'), $user_email, $password));
             $console_output->write(trans('installer::installer.command_line_remember_change_password'));
         } else {
             $console_output->error(trans('installer::installer.error:db_connection'));
         }
     } catch (InvalidArgumentException $e) {
         $console_output->error($e->getMessage());
     } catch (\Exception $e) {
         $console_output->error($e->getMessage());
     }
 }