www.gusucode.com > baigo CMS PHP开源网站管理系统 v1.2.2源码程序 > baigocms_v1.2.2/bg_sso/core/control/api/code.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 . "app.class.php"); //载入后台用户类 include_once(BG_PATH_MODEL . "log.class.php"); //载入管理帐号模型 /*-------------用户类-------------*/ class API_CODE { private $obj_api; private $log; private $mdl_app; private $appAllow; private $appRequest; function __construct() { //构造函数 $this->obj_api = new CLASS_API(); $this->obj_api->chk_install(); $this->log = $this->obj_api->log; //初始化 AJAX 基对象 $this->mdl_app = new MODEL_APP(); //设置管理组模型 $this->mdl_log = new MODEL_LOG(); //设置管理员模型 } /** * api_encode function. * * @access public * @return void */ function api_encode() { $this->app_check("post"); $_arr_data = validateStr(fn_post("data"), 1, 0); switch ($_arr_data["status"]) { case "too_short": $_arr_return = array( "alert" => "x080201", ); $this->obj_api->halt_re($_arr_return); break; case "ok": $_str_data = html_entity_decode($_arr_data["str"]); break; } $_str_key = fn_rand(6); $_str_code = fn_baigoEncode($_str_data, $_str_key); $_arr_return = array( "code" => $_str_code, "key" => $_str_key, "alert" => "y050405", ); $this->obj_api->halt_re($_arr_return); } /** * api_decode function. * * @access public * @return void */ function api_decode() { $this->app_check("post"); $_arr_code = validateStr(fn_post("code"), 1, 0); switch ($_arr_code["status"]) { case "too_short": $_arr_return = array( "alert" => "x080202", ); $this->obj_api->halt_re($_arr_return); break; case "ok": $_str_code = $_arr_code["str"]; break; } $_arr_key = validateStr(fn_post("key"), 1, 0); switch ($_arr_key["status"]) { case "too_short": $_arr_return = array( "alert" => "x080203", ); $this->obj_api->halt_re($_arr_return); break; case "ok": $_str_key = $_arr_key["str"]; break; } $_str_result = fn_baigoDecode($_str_code, $_str_key); exit($_str_result); } /** * app_check function. * * @access private * @return void */ private function app_check($str_method = "get") { $this->appRequest = $this->obj_api->app_request($str_method); if ($this->appRequest["alert"] != "ok") { $this->obj_api->halt_re($this->appRequest); } $_arr_appRow = $this->mdl_app->mdl_read($this->appRequest["app_id"]); if ($_arr_appRow["alert"] != "y050102") { $this->log_do($_arr_appRow, "read"); $this->obj_api->halt_re($_arr_appRow); } $this->appAllow = $_arr_appRow["app_allow"]; $_arr_appChk = $this->obj_api->app_chk($this->appRequest, $_arr_appRow); if ($_arr_appChk["alert"] != "ok") { $this->log_do($_arr_appChk, "check"); $this->obj_api->halt_re($_arr_appChk); } } /** * log_do function. * * @access private * @param mixed $arr_logResult * @param mixed $str_logType * @return void */ private function log_do($arr_logResult, $str_logType) { $_arr_targets[] = array( "app_id" => $this->appRequest["app_id"], ); $_str_targets = json_encode($_arr_targets); $_str_logResult = json_encode($arr_logResult); $this->mdl_log->mdl_submit($_str_targets, "app", $this->log["app"][$str_logType], $_str_logResult, "app", $this->appRequest["app_id"]); } }