From ff22c783050b82f9436a3bb24bc13ccc862b64e3 Mon Sep 17 00:00:00 2001 From: flyskyko Date: Thu, 20 Oct 2011 05:17:39 +0000 Subject: [PATCH] issue 566, fix problem about install using install config git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@9692 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/install/install.controller.php | 34 +++++++++++++++++++++++--- modules/install/install.view.php | 4 ++- 2 files changed, 34 insertions(+), 4 deletions(-) diff --git a/modules/install/install.controller.php b/modules/install/install.controller.php index 94f48ae70..599866aff 100644 --- a/modules/install/install.controller.php +++ b/modules/install/install.controller.php @@ -159,8 +159,17 @@ $logged_info->is_admin = 'Y'; Context::set('logged_info', $logged_info); - include $this->db_tmp_config_file; - include $this->etc_tmp_config_file; + // check install config + if (Context::get('install_config')) + { + $db_info = $this->_makeDbInfoByInstallConfig(); + } + + // install by default XE UI + else{ + include $this->db_tmp_config_file; + include $this->etc_tmp_config_file; + } // Set DB type and information Context::setDBInfo($db_info); @@ -196,6 +205,26 @@ } } + /** + * @brief Make DB Information by Install Config + **/ + function _makeDbInfoByInstallConfig() + { + $db_info->master_db['db_type'] = Context::get('db_type'); + $db_info->master_db['db_port'] = Context::get('db_port'); + $db_info->master_db['db_hostname'] = Context::get('db_hostname'); + $db_info->master_db['db_userid'] = Context::get('db_userid'); + $db_info->master_db['db_password'] = Context::get('db_password'); + $db_info->master_db['db_database'] = Context::get('db_database'); + $db_info->master_db['db_table_prefix'] = Context::get('db_table_prefix'); + $db_info->slave_db = array($db_info->master_db); + $db_info->default_url = Context::getRequestUri(); + $db_info->lang_type = Context::getLangType(); + $db_info->use_rewrite = Context::get('use_rewrite'); + $db_info->time_zone = Context::get('time_zone'); + return $db_info; + } + /** * @brief Set FTP Information **/ @@ -422,7 +451,6 @@ unset($oModule); $oModule = &getClass($module); if(method_exists($oModule, 'moduleInstall')) $oModule->moduleInstall(); - return new Object(); } diff --git a/modules/install/install.view.php b/modules/install/install.view.php index 7393f3931..f8a7b43e6 100644 --- a/modules/install/install.view.php +++ b/modules/install/install.view.php @@ -34,8 +34,10 @@ if(is_array($install_config)){ foreach($install_config as $k => $v) Context::set($k,$v,true); unset($GLOBALS['__DB__']); + Context::set('install_config', true, true); $oInstallController = &getController('install'); - $oInstallController->procInstall(); + $output = $oInstallController->procInstall(); + if (!$output->toBool()) return $output; header("location: ./"); Context::close(); exit;