www.gusucode.com > baigo CMS PHP开源网站管理系统 v1.2.2源码程序 > baigocms_v1.2.2/bg_sso/core/control/admin/ajax/admin.class.php
<?php /*----------------------------------------------------------------- !!!!警告!!!! 以下为系统文件,请勿修改 -----------------------------------------------------------------*/ //不能非法包含或直接执行 if(!defined("IN_BAIGO")) { exit("Access Denied"); } include_once(BG_PATH_CLASS . "ajax.class.php"); //载入 AJAX 基类 include_once(BG_PATH_MODEL . "log.class.php"); //载入管理帐号模型 /*-------------管理员控制器-------------*/ class AJAX_ADMIN { private $adminLogged; private $obj_ajax; private $log; private $mdl_admin; private $mdl_log; function __construct() { //构造函数 $this->adminLogged = $GLOBALS["adminLogged"]; //已登录商家信息 $this->obj_ajax = new CLASS_AJAX(); //初始化 AJAX 基对象 $this->obj_ajax->chk_install(); $this->log = $this->obj_ajax->log; //初始化 AJAX 基对象 $this->mdl_admin = new MODEL_ADMIN(); //设置管理组模型 $this->mdl_log = new MODEL_LOG(); //设置管理员模型 if ($this->adminLogged["alert"] != "y020102") { //未登录,抛出错误信息 $this->obj_ajax->halt_alert($this->adminLogged["alert"]); } } /** * ajax_submit function. * * @access public * @return void */ function ajax_submit() { $_arr_adminSubmit = $this->mdl_admin->input_submit(); if ($_arr_adminSubmit["alert"] != "ok") { $this->obj_ajax->halt_alert($_arr_adminSubmit["alert"]); } $_str_adminPassDo = ""; $_str_adminRand = ""; if ($_arr_adminSubmit["admin_id"] > 0) { if (!isset($this->adminLogged["admin_allow"]["admin"]["edit"])) { $this->obj_ajax->halt_alert("x020303"); } if ($_arr_adminSubmit["admin_id"] == $this->adminLogged["admin_id"]) { $this->obj_ajax->halt_alert("x020306"); } $_str_adminPass = fn_post("admin_pass"); if ($_str_adminPass) { $_str_adminRand = fn_rand(6); $_str_adminPassDo = fn_baigoEncrypt($_str_adminPass, $_str_adminRand); } } else { if (!isset($this->adminLogged["admin_allow"]["admin"]["add"])) { $this->obj_ajax->halt_alert("x020302"); } $_arr_adminPass = validateStr(fn_post("admin_pass"), 1, 0); switch ($_arr_adminPass["status"]) { case "too_short": $this->obj_ajax->halt_alert("x020205"); break; case "ok": $_str_adminPass = $_arr_adminPass["str"]; break; } $_str_adminRand = fn_rand(6); $_str_adminPassDo = fn_baigoEncrypt($_str_adminPass, $_str_adminRand); } $_arr_adminRow = $this->mdl_admin->mdl_submit($_str_adminPassDo, $_str_adminRand); if ($_arr_adminRow["alert"] == "y020101" || $_arr_adminRow["alert"] == "y020103") { $_arr_targets[] = array( "admin_id" => $_arr_adminRow["admin_id"], ); $_str_targets = json_encode($_arr_targets); if ($_arr_adminRow["alert"] == "y020101") { $_type = "add"; } else { $_type = "edit"; } $_str_adminRow = json_encode($_arr_adminRow); $this->mdl_log->mdl_submit($_str_targets, "admin", $this->log["admin"][$_type], $_str_adminRow, "admin", $this->adminLogged["admin_id"]); } $this->obj_ajax->halt_alert($_arr_adminRow["alert"]); } /** * ajax_status function. * * @access public * @return void */ function ajax_status() { if (!isset($this->adminLogged["admin_allow"]["admin"]["edit"])) { $this->obj_ajax->halt_alert("x020303"); } $_str_status = fn_getSafe($GLOBALS["act_post"], "txt", ""); $_arr_adminIds = $this->mdl_admin->input_ids(); if ($_arr_adminIds["alert"] != "ok") { $this->obj_ajax->halt_alert($_arr_adminIds["alert"]); } $_arr_adminRow = $this->mdl_admin->mdl_status($_str_status); if ($_arr_adminRow["alert"] == "y020103") { foreach ($_arr_adminIds["admin_ids"] as $_key=>$_value) { $_arr_targets[] = array( "admin_id" => $_value, ); $_str_targets = json_encode($_arr_targets); } $_str_adminRow = json_encode($_arr_adminRow); $this->mdl_log->mdl_submit($_str_targets, "admin", $this->log["admin"]["edit"], $_str_adminRow, "admin", $this->adminLogged["admin_id"]); } $this->obj_ajax->halt_alert($_arr_adminRow["alert"]); } /** * ajax_del function. * * @access public * @return void */ function ajax_del() { if (!isset($this->adminLogged["admin_allow"]["admin"]["del"])) { $this->obj_ajax->halt_alert("x020304"); } $_arr_adminIds = $this->mdl_admin->input_ids(); if ($_arr_adminIds["alert"] != "ok") { $this->obj_ajax->halt_alert($_arr_adminIds["alert"]); } $_arr_adminRow = $this->mdl_admin->mdl_del(); if ($_arr_adminRow["alert"] == "y020104") { foreach ($_arr_adminIds["admin_ids"] as $_key=>$_value) { $_arr_targets[] = array( "admin_id" => $_value, ); $_str_targets = json_encode($_arr_targets); } $_str_adminRow = json_encode($_arr_adminRow); $this->mdl_log->mdl_submit($_str_targets, "admin", $this->log["admin"]["del"], $_str_adminRow, "admin", $this->adminLogged["admin_id"]); } $this->obj_ajax->halt_alert($_arr_adminRow["alert"]); } /** * ajax_chkname function. * * @access public * @return void */ function ajax_chkname() { $_str_adminName = fn_getSafe(fn_get("admin_name"), "txt", ""); $_num_adminId = fn_getSafe(fn_get("admin_id"), "int", 0); $_arr_adminRow = $this->mdl_admin->mdl_read($_str_adminName, "admin_name", $_num_adminId); if ($_arr_adminRow["alert"] == "y020102") { $this->obj_ajax->halt_re("x020204"); } $arr_re = array( "re" => "ok" ); exit(json_encode($arr_re)); } }