Пример #1
1
 public static function scan($param)
 {
     list($data) = $param;
     self::_init();
     global $_G;
     if (!$_G['wechat']['setting']['wsq_allow']) {
         return;
     }
     $authcode = C::t('#wechat#mobile_wechat_authcode')->fetch_by_code($data['key']);
     if (!$authcode || $authcode['status']) {
         //			echo WeChatServer::getXml4Txt(lang('plugin/wechat', 'wechat_response_text_codeerror'));
     } else {
         if ($authcode['uid']) {
             $member = getuserbyuid($authcode['uid'], 1);
             if ($member['adminid'] == 0 && !$_G['wechat']['setting']['wechat_confirmtype']) {
                 C::t('#wechat#mobile_wechat_authcode')->update($authcode['sid'], array('uid' => $member['uid'], 'status' => 1));
                 $authcode['sid'] = '';
             }
         } else {
             $wechatuser = C::t('#wechat#common_member_wechat')->fetch_by_openid($data['from']);
             if ($wechatuser) {
                 $member = getuserbyuid($wechatuser['uid'], 1);
                 if ($member['adminid'] == 0 && !$_G['wechat']['setting']['wechat_confirmtype']) {
                     C::t('#wechat#mobile_wechat_authcode')->update($authcode['sid'], array('uid' => $member['uid'], 'status' => 1));
                     $authcode['sid'] = '';
                 }
             } elseif ($_G['wechat']['setting']['wechat_allowregister'] && $_G['wechat']['setting']['wechat_allowfastregister'] && $_G['wechat']['setting']['wechat_mtype'] == 2) {
                 require_once DISCUZ_ROOT . './source/plugin/wechat/wechat.class.php';
                 require_once libfile('function/member');
                 $uid = WeChat::register(WeChat::getnewname($data['from']), 1);
                 if ($uid) {
                     WeChatHook::bindOpenId($uid, $data['from'], 1);
                     C::t('#wechat#mobile_wechat_authcode')->update($authcode['sid'], array('uid' => $uid, 'status' => 1));
                 }
                 wsq::report('register');
                 $authcode['sid'] = '';
             }
         }
         wsq::report('scanqr');
         self::_show('scan', $data['from'] . "\t" . $authcode['sid']);
     }
 }
Пример #2
0
 */
if (!defined('IN_DISCUZ')) {
    exit('Access Denied');
}
$config = $_G['cache']['plugin']['aljwsq'];
require_once DISCUZ_ROOT . './source/plugin/wechat/wechat.lib.class.php';
require_once libfile('function/member');
$wechatuser = C::t('#wechat#common_member_wechat')->fetch_by_openid($postObj->FromUserName);
$user = C::t('#aljwsq#aljwsq_user')->fetch($postObj->FromUserName);
echo $this->responsetext(123);
exit;
if (empty($wechatuser) && empty($user)) {
    loaducenter();
    $username = '******' . random(5);
    $return = register($username);
    WeChatHook::bindOpenId($return['uid'], $postObj->FromUserName, 1);
    require_once 'source/plugin/aljwsq/function_core.php';
    $wuser = getwuserinfo($postObj, $config['appid'], $config['appsecret']);
    $user = C::t('#aljwsq#aljwsq_user')->fetch($postObj->FromUserName);
    if (!$user) {
        C::t('#aljwsq#aljwsq_user')->insert(array('nickname' => u2g($wuser['nickname']), 'username' => $username, 'openid' => $postObj->FromUserName, 'bindtime' => TIMESTAMP, 'sex' => $wuser['sex'], 'city' => u2g($wuser['city']), 'country' => u2g($wuser['country']), 'province' => u2g($wuser['province']), 'language' => $wuser['language'], 'headimgurl' => $wuser['headimgurl'], 'subscribe_time' => $wuser['subscribe_time']));
    } else {
        C::t('#aljwsq#aljwsq_user')->update($postObj->FromUserName, array('nickname' => u2g($wuser['nickname']), 'username' => $username, 'bindtime' => TIMESTAMP, 'sex' => $wuser['sex'], 'city' => u2g($wuser['city']), 'country' => u2g($wuser['country']), 'province' => u2g($wuser['province']), 'language' => $wuser['language'], 'headimgurl' => $wuser['headimgurl'], 'subscribe_time' => $wuser['subscribe_time']));
    }
    echo $this->responsetext($postObj, '您已成功注册本站帐号,用户名' . $return['username'] . ',密码' . $return['password'] . '.此帐户已与微信帐户成功绑定,并支持微信扫码登录.');
} else {
    if (empty($user)) {
        $user = getuserbyuid($wechatuser['uid']);
    }
    echo $this->responsetext($postObj, '您已成功注册过帐号,用户名' . $user['username']);
}
Пример #3
0
        showmessage('wechat:wechat_member_bind_succeed', $url);
    }
} elseif (($ac == 'register' && submitcheck('submit') || $ac == 'wxregister') && $_G['wechat']['setting']['wechat_allowregister']) {
    if ($wechatuser) {
        showmessage('wechat:wechat_openid_exists');
    } else {
        if ($ac == 'wxregister') {
            loaducenter();
            $user = uc_get_user($_GET['username']);
            if (!empty($user)) {
                $_GET['username'] = substr($_GET['username'], 0, 9) . '_' . random(5);
            }
        }
        $uid = WeChat::register($_GET['username']);
        if (!$_G['wechat']['setting']['wechat_qrtype']) {
            WeChatHook::bindOpenId($uid, $openid, 1);
            wsq::report('register');
            showmessage('wechat:wechat_member_register_succeed', $selfurl . 'bind&confirm=yes');
        } else {
            C::t('#wechat#common_member_wechatmp')->insert(array('uid' => $uid, 'openid' => $wxopenid ? $wxopenid : $_GET['wxopenid'], 'status' => 0), false, true);
            wsq::report('register');
            $url = wsq::wxuserregisterUrl($uid);
            if ($ac == 'wxregister') {
                dheader('location: ' . $url);
            } else {
                showmessage('wechat:wechat_member_register_succeed', $url);
            }
        }
    }
} elseif ($ac == 'logout' && $_GET['hash'] == formhash()) {
    wechat_setloginstatus($_G['uid'], false);