www.gusucode.com > baigo CMS PHP开源网站管理系统 v1.2.2源码程序 > baigocms_v1.2.2/bg_sso/core/control/api/install.class.php
<?php /*----------------------------------------------------------------- !!!!警告!!!! 以下为系统文件,请勿修改 -----------------------------------------------------------------*/ //不能非法包含或直接执行 if(!defined("IN_BAIGO")) { exit("Access Denied"); } include_once(BG_PATH_FUNC . "baigocode.func.php"); //载入开放平台类 include_once(BG_PATH_CLASS . "api.class.php"); include_once(BG_PATH_MODEL . "opt.class.php"); //载入后台用户类 /*-------------管理员控制器-------------*/ class API_INSTALL { private $obj_api; function __construct() { //构造函数 $this->obj_api = new CLASS_API(); $this->mdl_opt = new MODEL_OPT(); //本接口只在安装状态下起作用 if (file_exists(BG_PATH_CONFIG . "is_install.php")) { $_arr_return = array( "alert" => "x030403" ); $this->obj_api->halt_re($_arr_return); } $this->install_init(); } function api_dbconfig() { $_arr_dbconfigSubmit = $this->mdl_opt->input_dbconfig(false); if ($_arr_dbconfigSubmit["alert"] != "ok") { $this->obj_api->halt_re($_arr_dbconfigSubmit["alert"]); } $_arr_return = $this->mdl_opt->mdl_dbconfig(); $this->obj_api->halt_re($_arr_return); } function api_submit() { $_act_post = fn_getSafe($GLOBALS["act_post"], "txt", "base"); $this->check_db(); $_num_countSrc = 0; foreach ($this->obj_api->opt[$_act_post]["list"] as $_key=>$_value) { if ($_value["min"] > 0) { $_num_countSrc++; } } $_arr_const = $this->mdl_opt->input_const($_act_post); $_num_countInput = count(array_filter($_arr_const)); if ($_num_countInput < $_num_countSrc) { $_arr_return = array( "alert" => "x030204" ); $this->obj_api->halt_re($_arr_return); } $_arr_return = $this->mdl_opt->mdl_const($_act_post); $this->obj_api->halt_re($_arr_return); } function api_dbtable() { $this->check_db(); $this->table_admin(); $this->table_user(); $this->table_app(); $this->table_belong(); $this->table_log(); $this->view_user(); $_arr_return = array( "alert" => "y030108" ); $this->obj_api->halt_re($_arr_return); } function api_admin() { $this->check_db(); include_once(BG_PATH_MODEL . "admin.class.php"); //载入管理帐号模型 $_mdl_admin = new MODEL_ADMIN(); $_arr_adminAdd = $_mdl_admin->api_add(); if ($_arr_adminAdd["alert"] != "ok") { $this->obj_api->halt_re($_arr_adminAdd); } $_str_rand = fn_rand(6); $_str_adminPassDo = fn_baigoEncrypt($_arr_adminAdd["admin_pass"], $_str_rand, true); $_arr_adminRow = $_mdl_admin->mdl_submit($_str_adminPassDo, $_str_rand); $this->obj_api->halt_re($_arr_adminRow); } function api_over() { $this->check_db(); $this->record_app(); $_arr_return = $this->mdl_opt->mdl_over(); if ($_arr_return["alert"] != "y030405") { $this->obj_api->halt_re($_arr_return); } $this->appRecord["sso_url"] = BG_SITE_URL . BG_URL_API . "api.php"; $this->appRecord["alert"] = "y030408"; $this->obj_api->halt_re($this->appRecord); } private function table_admin() { include_once(BG_PATH_MODEL . "admin.class.php"); //载入管理帐号模型 $_mdl_admin = new MODEL_ADMIN(); $_mdl_admin->adminStatus = $this->obj_api->status["admin"]; $_arr_adminTable = $_mdl_admin->mdl_create_table(); if ($_arr_adminTable["alert"] != "y020105") { $this->obj_api->halt_re($_arr_adminTable); } } private function table_user() { include_once(BG_PATH_MODEL . "user.class.php"); //载入管理帐号模型 $_mdl_user = new MODEL_USER(); $_mdl_user->userStatus = $this->obj_api->status["user"]; $_arr_userTable = $_mdl_user->mdl_create_table(); if ($_arr_userTable["alert"] != "y010105") { $this->obj_api->halt_re($_arr_userTable); } } private function table_app() { include_once(BG_PATH_MODEL . "app.class.php"); //载入管理帐号模型 $_mdl_app = new MODEL_APP(); $_mdl_app->appStatus = $this->obj_api->status["app"]; $_mdl_app->appSyncs = $this->obj_api->status["appSync"]; $_arr_appTable = $_mdl_app->mdl_create_table(); if ($_arr_appTable["alert"] != "y050105") { $this->obj_api->halt_re($_arr_appTable); } } private function table_belong() { include_once(BG_PATH_MODEL . "belong.class.php"); //载入管理帐号模型 $_mdl_belong = new MODEL_BELONG(); $_arr_belongTable = $_mdl_belong->mdl_create_table(); if ($_arr_belongTable["alert"] != "y070105") { $this->obj_api->halt_re($_arr_belongTable); } } private function table_log() { include_once(BG_PATH_MODEL . "log.class.php"); //载入管理帐号模型 $_mdl_log = new MODEL_LOG(); $_mdl_log->logStatus = $this->obj_api->status["log"]; $_mdl_log->logTypes = $this->obj_api->type["log"]; $_mdl_log->logTargets = $this->obj_api->type["logTarget"]; $_arr_logTable = $_mdl_log->mdl_create_table(); if ($_arr_logTable["alert"] != "y060105") { $this->obj_api->halt_re($_arr_logTable); } } private function view_user() { include_once(BG_PATH_MODEL . "user.class.php"); //载入管理帐号模型 $_mdl_user = new MODEL_USER(); $_arr_userView = $_mdl_user->mdl_create_view(); if ($_arr_userView["alert"] != "y010108") { $this->obj_api->halt_re($_arr_userView); } } private function record_app() { include_once(BG_PATH_MODEL . "app.class.php"); //载入管理帐号模型 $_mdl_app = new MODEL_APP(); $_arr_appRow = $_mdl_app->api_add(); if ($_arr_appRow["alert"] != "ok") { $this->obj_api->halt_re($_arr_appRow); } $this->appRecord = $_mdl_app->mdl_submit(); if ($this->appRecord["alert"] != "y050101") { $this->obj_api->halt_re($this->appRecord); } } private function check_db() { if (strlen(BG_DB_HOST) < 1 || strlen(BG_DB_NAME) < 1 || strlen(BG_DB_USER) < 1 || strlen(BG_DB_PASS) < 1 || strlen(BG_DB_CHARSET) < 1) { $_arr_return = array( "alert" => "x030404" ); $this->obj_api->halt_re($_arr_return); } else { if (!defined("BG_DB_PORT")) { define("BG_DB_PORT", "3306"); } $_cfg_host = array( "host" => BG_DB_HOST, "name" => BG_DB_NAME, "user" => BG_DB_USER, "pass" => BG_DB_PASS, "charset" => BG_DB_CHARSET, "debug" => BG_DEBUG_DB, "port" => BG_DB_PORT, ); $GLOBALS["obj_db"] = new CLASS_MYSQLI($_cfg_host); //设置数据库对象 $this->obj_db = $GLOBALS["obj_db"]; if (!$this->obj_db->connect()) { $_arr_return = array( "alert" => "x030111" ); $this->obj_api->halt_re($_arr_return); } if (!$this->obj_db->select_db()) { $_arr_return = array( "alert" => "x030112" ); $this->obj_api->halt_re($_arr_return); } } } private function install_init() { $_arr_extRow = get_loaded_extensions(); $_num_errCount = 0; foreach ($this->obj_api->type["ext"] as $_key=>$_value) { if (!in_array($_key, $_arr_extRow)) { $_num_errCount++; } } if ($_num_errCount > 0) { $_arr_return = array( "alert" => "x030417" ); $this->obj_api->halt_re($_arr_return); } } }