123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- <?php
- class InstallController
- {
-
- private $returnJson = array('type' => 'install');
-
- public function checkoutEnv()
- {
-
- $dbURL = quickInput('dbURL');
- $dbName = quickInput('dbName');
- $dbUser = quickInput('dbUser');
- $dbPassword = quickInput('dbPassword');
- $server = new InstallModule;
- $result = $server->checkoutEnv($dbURL, $dbName, $dbUser, $dbPassword);
- if (isset($result['error'])) {
- $this->returnJson['statusCode'] = '200004';
- $this->returnJson['error'] = $result['error'];
- } else {
- $this->returnJson['statusCode'] = '000000';
- $this->returnJson['envStatus'] = $result;
- }
- exitOutput($this->returnJson);
- }
-
- public function checkConfig()
- {
- if (!file_exists(PATH_FW . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'eo_config.php')) {
-
- if (@!defined(DB_URL))
-
- $this->returnJson['statusCode'] = '200003';
- } else {
- $this->returnJson['statusCode'] = '000000';
- }
- exitOutput($this->returnJson);
- }
-
- public function start()
- {
- ini_set("max_execution_time", 0);
-
- if (file_exists(PATH_FW . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'eo_config.php') || defined(DB_URL)) {
-
- $this->returnJson['statusCode'] = '000000';
- exitOutput($this->returnJson);
- } elseif (!file_exists(PATH_FW . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'eo_config.php')) {
-
- $dbURL = quickInput('dbURL');
- $dbName = quickInput('dbName');
- $dbUser = quickInput('dbUser');
- $dbPassword = quickInput('dbPassword');
- $websiteName = quickInput('websiteName');
- $language = quickInput('language');
- if (empty($language)) {
- $language = 'zh-cn';
- }
- if (empty($dbURL) || empty($dbName) || empty($dbUser)) {
- $this->returnJson['statusCode'] = '200003';
- exitOutput($this->returnJson);
- }
- $server = new InstallModule;
- if ($server->createConfigFile($dbURL, $dbName, $dbUser, $dbPassword, $websiteName, $language)) {
-
- quickRequire(PATH_FW . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'eo_config.php');
- if ($server->installDatabase()) {
- $this->returnJson['statusCode'] = '000000';
- @session_start();
- @session_destroy();
- } else {
-
- $this->returnJson['statusCode'] = '200002';
- unlink(realpath(PATH_FW . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'eo_config.php'));
- }
- } else {
-
- $this->returnJson['statusCode'] = '200001';
- unlink(realpath(PATH_FW . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'eo_config.php'));
- }
- exitOutput($this->returnJson);
- }
- }
- }
- ?>
|