function api_login()
{
$this->app_check();
$_arr_userSubmit = $this->mdl_user->input_get_by("post");
if ($_arr_userSubmit["alert"] != "ok") {
$this->obj_api->halt_re($_arr_userSubmit);
}
$_arr_userRow = $this->mdl_user->mdl_read($_arr_userSubmit["user_str"], $_arr_userSubmit["user_by"]);
if ($_arr_userRow["alert"] != "y010102") {
$this->obj_api->halt_re($_arr_userRow);
}
if ($_arr_userRow["user_status"] == "disable") {
$_arr_return = array("alert" => "x010401");
$this->obj_api->halt_re($_arr_return);
}
unset($_arr_userRow["user_pass"], $_arr_userRow["user_nick"], $_arr_userRow["user_note"], $_arr_userRow["user_rand"], $_arr_userRow["user_status"], $_arr_userRow["user_time"], $_arr_userRow["user_time_login"], $_arr_userRow["user_ip"]);
$_arr_urlRows = array();
foreach ($this->appRows as $_key => $_value) {
$_arr_userRow["app_id"] = $_value["app_id"];
$_arr_userRow["app_key"] = $_value["app_key"];
//unset($_arr_userRow["alert"]);
$_str_src = fn_jsonEncode($_arr_userRow, "encode");
$_str_code = $this->obj_crypt->encrypt($_str_src, $_value["app_key"]);
$_tm_time = time();
if (stristr($_value["app_url_sync"], "?")) {
$_str_conn = "&";
} else {
$_str_conn = "?";
}
$_str_url = $_value["app_url_sync"] . $_str_conn . "mod=sync";
$_arr_data = array("act_get" => "login", "app_id" => $_value["app_id"], "app_key" => $_value["app_key"], "time" => $_tm_time, "code" => $_str_code);
$_arr_data["signature"] = $this->obj_sign->sign_make($_arr_data);
$_arr_urlRows[] = urlencode($_str_url . "&" . http_build_query($_arr_data));
}
$_arr_return = array("alert" => "y100401", "urlRows" => $_arr_urlRows);
$this->obj_api->halt_re($_arr_return);
}