API_PM::api_send PHP Метод

api_send() публичный Метод

api_reg function.
public api_send ( ) : void
Результат void
    function api_send()
    {
        $this->app_check("post");
        if (!isset($this->appAllow["pm"]["send"])) {
            //无权限并记录日志
            $_arr_return = array("alert" => "x050320");
            $_arr_logType = array("pm", "send");
            $_arr_logTarget[] = array("app_id" => $this->appRequest["app_id"]);
            $this->log_do($_arr_logTarget, "app", $_arr_return, $_arr_logType);
            $this->obj_api->halt_re($_arr_return);
        }
        $_arr_userRow = $this->user_check("post");
        $_arr_pmSend = $this->mdl_pm->input_send();
        if ($_arr_pmSend["alert"] != "ok") {
            $this->obj_ajax->halt_alert($_arr_pmSend["alert"]);
        }
        $_arr_sign = array("act_post" => $GLOBALS["act_post"], $this->userRequest["user_by"] => $this->userRequest["user_str"], "user_access_token" => $this->userRequest["user_access_token"]);
        if (fn_isEmpty(fn_get("pm_title"))) {
            unset($_arr_pmSend["pm_title"]);
            //如果标题为自动生成, 则忽略
        }
        if (!$this->obj_sign->sign_check(array_merge($this->appRequest, $_arr_pmSend, $_arr_sign), $this->appRequest["signature"])) {
            $_arr_return = array("alert" => "x050403");
            $this->obj_api->halt_re($_arr_return);
        }
        if (stristr($_arr_pmSend["pm_to"], "|")) {
            $_arr_pmTo = explode("|", $_arr_pmSend["pm_to"]);
        } else {
            $_arr_pmTo = array($_arr_pmSend["pm_to"]);
        }
        $_arr_pmTo = array_unique($_arr_pmTo);
        $_arr_pmRows = array();
        foreach ($_arr_pmTo as $_key => $_value) {
            $_arr_toUser = $this->mdl_user->mdl_read($_value, "user_name");
            if ($_arr_toUser["alert"] == "y010102") {
                $_arr_pmRows[$_key] = $this->mdl_pm->mdl_submit($_arr_toUser["user_id"], $_arr_userRow["user_id"]);
                $_arr_pmRows[$_key]["pm_to"] = $_arr_toUser["user_id"];
            }
        }
        $_str_src = fn_jsonEncode($_arr_pmRows, "encode");
        $_str_code = $this->obj_crypt->encrypt($_str_src, $this->appRow["app_key"]);
        $_arr_return = array("code" => $_str_code);
        $_arr_return["alert"] = $_arr_pmRows[$_key]["alert"];
        $this->obj_api->halt_re($_arr_return);
    }

Usage Example

Пример #1
0
-----------------------------------------------------------------*/
//不能非法包含或直接执行
if (!defined("IN_BAIGO")) {
    exit("Access Denied");
}
include_once BG_PATH_FUNC . "init.func.php";
//初始化
$arr_set = array("base" => true, "header" => "Content-type: application/json; charset=utf-8", "db" => true, "type" => "ajax");
fn_init($arr_set);
include_once BG_PATH_CONTROL . "api/pm.class.php";
//载入短信控制器
$api_pm = new API_PM();
//初始化短信
switch ($GLOBALS["act_post"]) {
    case "send":
        $api_pm->api_send();
        //发送
        break;
    case "del":
        $api_pm->api_del();
        //删除
        break;
    case "status":
        $api_pm->api_status();
        //状态
        break;
    case "rev":
    case "revoke":
        $api_pm->api_revoke();
        //撤回
        break;