/** * 检测用户是否已经完成了安装程序[在登录安装模块时] * @return 返回是否已经完成了安装,如果完成了安装则返回true,否则则返回false */ public static function checkIsInstalled() { $installfile = Constants::getCommonUrl(Constants::InstallFile_Url); $db = LsYii::getApp()->components['db']; if (file_exists($installfile) && isset($db['class']) && !empty($db['class'])) { return true; } else { return false; } }
private function installing() { LsYii::getApp()->controller = $this; if ($this->checkParam() === false) { return; } if ($this->checkDb() === FALSE) { return; } if (($dbConfig = $this->writeConfig()) === false) { return; } if (($db = $this->setDb($dbConfig)) === false) { return false; } $transcation = $db->beginTransaction(); try { self::_appendLog(LsYii::gT("开始创建数据库表。。。")); if ($this->executeSql($db, 'install') !== true) { $transcation->rollBack(); self::_appendLog(LsYii::gT("数据库创建失败"), true); return; } self::_appendLog(LsYii::gT("数据库创建成功")); self::_appendLog(LsYii::gT('生成管理员。。。')); $this->insertAdmin($db); self::_appendLog(LsYii::gT('管理员生成成功')); $transcation->commit(); $file = Constants::getCommonUrl(Constants::InstallFile_Url); @touch($file); self::_appendLog(LsYii::gT('安装完成')); echo '<script>window.location="' . Url::to(['complete']) . '"</script>'; } catch (\Exception $ex) { $transcation->rollBack(); $message = self::getDbError($ex->getMessage(), ['dbHost' => $dbHost, 'dbName' => $dbName]); self::_appendLog(LsYii::gT('安装失败')); self::_appendLog($e->getMessage(), true); } }