123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- <?php
- /**
- * [Discuz!] (C)2001-2099 Comsenz Inc.
- * This is NOT a freeware, use is subject to license terms
- *
- * $Id: bind.inc.php 34850 2014-08-14 07:03:18Z nemohou $
- */
- if (!defined('IN_DISCUZ')) {
- exit('Access Denied');
- }
- if($_GET['unbind'] && $_GET['unbind'] == FORMHASH) {
- require_once libfile('function/member');
- C::t('#mobile#common_member_wechat')->delete($_G['uid']);
- clearcookies();
- showmessage('wechat:wechat_message_unbinded', dreferer());
- }
- if($_G['uid'] && submitcheck('confirmsubmit')) {
- loaducenter();
- list($result) = uc_user_login($_G['uid'], $_GET['passwordconfirm'], 1, 0);
- if($result >= 0) {
- dsetcookie('qrauth', base64_encode(authcode($result, 'ENCODE', $_G['config']['security']['authkey'], 300)));
- showmessage('', dreferer());
- }
- showmessage('login_password_invalid');
- }
- if(isset($_GET['check'])) {
- $code = authcode(base64_decode($_GET['check']), 'DECODE', $_G['config']['security']['authkey']);
- if($code) {
- $authcode = C::t('#wechat#mobile_wechat_authcode')->fetch_by_code($code);
- if($authcode['status']) {
- require_once libfile('function/member');
- $member = getuserbyuid($authcode['uid'], 1);
- setloginstatus($member, 1296000);
- dsetcookie('wechat_ticket', '', -1);
- $echostr = 'done';
- } else {
- $echostr = '1';//json_encode($authcode);
- }
- } else {
- $echostr = '-1';
- }
- if(!ob_start($_G['gzipcompress'] ? 'ob_gzhandler' : null)) {
- ob_start();
- }
- if($echostr === 'done'){
- C::t('#wechat#mobile_wechat_authcode')->delete($authcode['sid']);
- }
- include template('common/header_ajax');
- echo $echostr;
- include template('common/footer_ajax');
- exit;
- }
- if($_G['cookie']['qrauth']) {
- $qrauth = authcode(base64_decode($_G['cookie']['qrauth']), 'DECODE', $_G['config']['security']['authkey']);
- }
- if(!$_G['wechat']['setting']['wechat_qrtype']) {
- require_once DISCUZ_ROOT . './source/plugin/wechat/wechat.lib.class.php';
- require_once DISCUZ_ROOT . './source/plugin/wechat/wsq.class.php';
- list($isqrapi, $qrcodeurl, $codeenc, $code) = WeChat::getqrcode();
- wsq::report('siteqrshow');
- }
- if($_G['uid'] && !$qrauth && in_array('qqconnect', $_G['setting']['plugins']['available'])) {
- $connect = C::t('#qqconnect#common_member_connect')->fetch($_G['uid']);
- if($connect['conisregister']) {
- if(!$_G['wechat']['setting']['wechat_qrtype']) {
- $qrauth = true;
- } else {
- showmessage('', 'plugin.php?id=wechat:login', array(), array('redirectmsg' => 1, 'location' => 1));
- }
- }
- }
- include_once template('wechat:wechat_qrcode');
|