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" => fn_forward($_arr_adminLogin["forward"], "decode"), "alert" => "y020201");
}