Пример #1
0
function get_weixin_token()
{
    global $_GP;
    $configs = globaSetting(array("weixin_access_token", "weixin_appId", "weixin_appSecret"));
    $weixin_access_token = unserialize($configs['weixin_access_token']);
    if (is_array($weixin_access_token) && !empty($weixin_access_token['token']) && !empty($weixin_access_token['expire']) && $weixin_access_token['expire'] > TIMESTAMP) {
        return $weixin_access_token['token'];
    } else {
        $appid = $configs['weixin_appId'];
        $secret = $configs['weixin_appSecret'];
        if (empty($appid) || empty($secret)) {
            message('请填写公众号的appid及appsecret!');
        }
        $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$secret}";
        $content = http_get($url);
        if (empty($content)) {
            message('获取微信公众号授权失败, 请稍后重试!');
        }
        $token = @json_decode($content, true);
        if (empty($token) || !is_array($token)) {
            message('获取微信公众号授权失败, 请稍后重试! 公众平台返回原始数据为:' . $token);
        }
        if (empty($token['access_token']) || empty($token['expires_in'])) {
            message('解析微信公众号授权失败, 请稍后重试!');
        }
        $record = array();
        $record['token'] = $token['access_token'];
        $record['expire'] = TIMESTAMP + $token['expires_in'];
        $cfg = array('weixin_access_token' => serialize($record));
        refreshSetting($cfg);
        return $record['token'];
    }
}
Пример #2
0
 private function error_code($code)
 {
     $errors = array('-1' => '系统繁忙', '0' => '请求成功', '40001' => '获取access_token时AppSecret错误,或者access_token无效', '40002' => '不合法的凭证类型', '40003' => '不合法的OpenID', '40004' => '不合法的媒体文件类型', '40005' => '不合法的文件类型', '40006' => '不合法的文件大小', '40007' => '不合法的媒体文件id', '40008' => '不合法的消息类型', '40009' => '不合法的图片文件大小', '40010' => '不合法的语音文件大小', '40011' => '不合法的视频文件大小', '40012' => '不合法的缩略图文件大小', '40013' => '不合法的APPID', '40014' => '不合法的access_token', '40015' => '不合法的菜单类型', '40016' => '不合法的按钮个数', '40017' => '不合法的按钮个数', '40018' => '不合法的按钮名字长度', '40019' => '不合法的按钮KEY长度', '40020' => '不合法的按钮URL长度', '40021' => '不合法的菜单版本号', '40022' => '不合法的子菜单级数', '40023' => '不合法的子菜单按钮个数', '40024' => '不合法的子菜单按钮类型', '40025' => '不合法的子菜单按钮名字长度', '40026' => '不合法的子菜单按钮KEY长度', '40027' => '不合法的子菜单按钮URL长度', '40028' => '不合法的自定义菜单使用用户', '40029' => '不合法的oauth_code', '40030' => '不合法的refresh_token', '40031' => '不合法的openid列表', '40032' => '不合法的openid列表长度', '40033' => '不合法的请求字符,不能包含\\uxxxx格式的字符', '40035' => '不合法的参数', '40038' => '不合法的请求格式', '40039' => '不合法的URL长度', '40050' => '不合法的分组id', '40051' => '分组名字不合法', '41001' => '缺少access_token参数', '41002' => '缺少appid参数', '41003' => '缺少refresh_token参数', '41004' => '缺少secret参数', '41005' => '缺少多媒体文件数据', '41006' => '缺少medSYSTEM_id参数', '41007' => '缺少子菜单数据', '41008' => '缺少oauth code', '41009' => '缺少openid', '42001' => 'access_token超时', '42002' => 'refresh_token超时', '42003' => 'oauth_code超时', '43001' => '需要GET请求', '43002' => '需要POST请求', '43003' => '需要HTTPS请求', '43004' => '需要接收者关注', '43005' => '需要好友关系', '44001' => '多媒体文件为空', '44002' => 'POST的数据包为空', '44003' => '图文消息内容为空', '44004' => '文本消息内容为空', '45001' => '多媒体文件大小超过限制', '45002' => '消息内容超过限制', '45003' => '标题字段超过限制', '45004' => '描述字段超过限制', '45005' => '链接字段超过限制', '45006' => '图片链接字段超过限制', '45007' => '语音播放时间超过限制', '45008' => '图文消息超过限制', '45009' => '接口调用超过限制', '45010' => '创建菜单个数超过限制', '45015' => '回复时间超过限制', '45016' => '系统分组,不允许修改', '45017' => '分组名字过长', '45018' => '分组数量超过上限', '46001' => '不存在媒体数据', '46002' => '不存在的菜单版本', '46003' => '不存在的菜单数据', '46004' => '不存在的用户', '47001' => '解析JSON/XML内容错误', '48001' => 'api功能未授权', '50001' => '用户未授权该api');
     $code = strval($code);
     if ($code == '40001') {
         $rec = array();
         $rec['access_token'] = '';
         refreshSetting($rec);
         return '微信公众平台授权异常, 系统已修复这个错误, 请刷新页面重试.';
     }
     if ($errors[$code]) {
         return $errors[$code];
     } else {
         return '未知错误';
     }
 }
Пример #3
0
 public function addon_get_js_ticket()
 {
     $configs = globaSetting(array("jsapi_ticket", "jsapi_ticket_exptime"));
     $jsapi_ticket = $configs['jsapi_ticket'];
     $jsapi_ticket_exptime = intval($configs['jsapi_ticket_exptime']);
     if (empty($jsapi_ticket) || empty($jsapi_ticket_exptime) || $jsapi_ticket_exptime < time()) {
         $accessToken = get_weixin_token();
         $url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi&access_token={$accessToken}";
         $content = http_get($url);
         $res = @json_decode($content, true);
         $ticket = $res['ticket'];
         if (!empty($ticket)) {
             $cfg = array('jsapi_ticket' => $ticket, 'jsapi_ticket_exptime' => time() + intval($res['expires_in']));
             refreshSetting($cfg);
             return $ticket;
         }
         return '';
     } else {
         return $jsapi_ticket;
     }
 }
Пример #4
0
<?php

$settings = globaSetting();
if (checksubmit("submit")) {
    $cfg = array('shop_openreg' => intval($_GP['shop_openreg']), 'shop_regcredit' => intval($_GP['shop_regcredit']), 'shop_keyword' => $_GP['shop_keyword'], 'shop_description' => $_GP['shop_description'], 'shop_title' => $_GP['shop_title'], 'shop_icp' => $_GP['shop_icp'], 'help' => htmlspecialchars_decode($_GP['help']));
    if (!empty($_FILES['shop_logo']['tmp_name'])) {
        $upload = file_upload($_FILES['shop_logo']);
        if (is_error($upload)) {
            message($upload['message'], '', 'error');
        }
        $shoplogo = $upload['path'];
    }
    if (!empty($shoplogo)) {
        $cfg['shop_logo'] = $shoplogo;
    }
    refreshSetting($cfg);
    message('保存成功', 'refresh', 'success');
}
include page('setting');
Пример #5
0
    }
    //******************** 配置信息 ********************************
    $smtpserver = $settings['smtp_server'];
    //SMTP服务器
    $smtpauthmode = intval($settings['smtp_authmode']);
    //SMTP服务器端口
    $smtp_sendtype = intval($settings['smtp_sendtype']);
    $smtpserverport = intval($settings['smtp_port']);
    //SMTP服务器端口
    $smtpusermail = $settings['smtp_mail'];
    //SMTP服务器的用户邮箱
    $smtpemailto = $settings['smtp_to_mail'];
    //发送给谁
    $smtpuser = $settings['smtp_username'];
    //SMTP服务器的用户帐号
    $smtppass = $settings['smtp_passwd'];
    //SMTP服务器的用户密码
    $mailtitle = $settings['smtp_title'];
    //邮件主题
    $mailcontent = $previewtmp;
    //邮件内容
    require_once WEB_ROOT . '/system/common/extends/mail.php';
    $returnrs = extends_mail($smtp_sendtype, 1, $smtpserver, $smtpauthmode, $smtpserverport, $smtpusermail, $smtpemailto, $smtpuser, $smtppass, $mailtitle, $mailcontent);
    if ($returnrs == 1) {
        refreshSetting($settings);
        message('邮件已发送', 'refresh', 'success');
    } else {
        message($returnrs['errorinfo'] . '邮件发送失败');
    }
}
include page('noticemail');