www.gusucode.com > baigo CMS PHP开源网站管理系统 v1.2.2源码程序 > baigocms_v1.2.2/bg_sso/core/control/admin/ctl/logon.class.php
<?php /*----------------------------------------------------------------- !!!!警告!!!! 以下为系统文件,请勿修改 -----------------------------------------------------------------*/ //不能非法包含或直接执行 if(!defined("IN_BAIGO")) { exit("Access Denied"); } include_once(BG_PATH_CLASS . "tpl.class.php"); //载入模板类 /*-------------登录控制器-------------*/ class CONTROL_LOGON { private $obj_base; private $config; //配置 private $obj_tpl; private $mdl_admin; private $tplData; function __construct() { //构造函数 $this->obj_base = $GLOBALS["obj_base"]; //获取界面类型 $this->config = $this->obj_base->config; $this->mdl_admin = new MODEL_ADMIN(); //设置管理员模型 } /** * ctl_login function. * * @access public * @return void */ function ctl_login() { $_arr_adminLogin = $this->mdl_admin->input_login(); if ($_arr_adminLogin["alert"] != "ok") { return $_arr_adminLogin; } $_arr_adminRow = $this->mdl_admin->mdl_read($_arr_adminLogin["admin_name"], "admin_name"); if ($_arr_adminRow["alert"] != "y020102") { return $_arr_adminRow; } if (fn_baigoEncrypt($_arr_adminLogin["admin_pass"], $_arr_adminRow["admin_rand"]) != $_arr_adminRow["admin_pass"]) { return array( "forward" => $_arr_adminLogin["forward"], "alert" => "x020207", ); } if ($_arr_adminRow["admin_status"] != "enable") { return array( "forward" => $_arr_adminLogin["forward"], "alert" => "x020402", ); } $_str_adminRand = fn_rand(6); $this->mdl_admin->mdl_login($_arr_adminRow["admin_id"], fn_baigoEncrypt($_arr_adminLogin["admin_pass"], $_str_adminRand), $_str_adminRand); fn_session("admin_id", "mk", $_arr_adminRow["admin_id"]); fn_session("admin_ssin_time", "mk", time()); fn_session("admin_hash", "mk", fn_baigoEncrypt($_arr_adminRow["admin_time"], $_str_adminRand)); return array( "admin_id" => $_arr_adminLogin["admin_id"], "forward" => $_arr_adminLogin["forward"], "alert" => "y020201", ); } /*============登出============ 无返回 */ function ctl_logout() { $_str_forward = fn_getSafe(fn_get("forward"), "txt", ""); if (!$_str_forward) { $_str_forward = base64_encode(BG_URL_ADMIN . "ctl.php"); } fn_ssin_end(); return array( "forward" => $_str_forward, ); } /*============登录界面============ 无返回 */ function ctl_logon() { $this->obj_tpl = new CLASS_TPL(BG_PATH_TPLSYS . "admin/" . $this->config["ui"]); $_str_forward = fn_getSafe(fn_get("forward"), "txt", ""); $_str_alert = fn_getSafe(fn_get("alert"), "txt", ""); $_arr_tplData = array( "forward" => $_str_forward, "alert" => $_str_alert, ); $this->obj_tpl->tplDisplay("logon.tpl", $_arr_tplData); } }