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']); } }
*/ 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']); }
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);