Ejemplo n.º 1
0
 protected function redauth()
 {
     global $_W;
     session_start();
     $openid = $_SESSION['__:proxy:openid'];
     require_once WWX_FXXT_ROOT . '/class/Fans.class.php';
     $f = new Fans();
     if (!empty($openid)) {
         $exists = $f->getOne($openid, true);
         /**FANS:3.根据用户UID或OPENID查询记录中的用户信息**/
         if (!empty($exists)) {
             return $exists;
         }
     }
     $api = $this->module['config']['api'];
     if (empty($api)) {
         message('活动还未开放,商家没有配置好API');
     }
     //微信下才可以使用
     //$user_agent = $_SERVER['HTTP_USER_AGENT'];
     //if (strpos($user_agent, 'MicroMessenger') === false) {
     //	message('对不起,本活动只能在微信浏览器参加!');
     //}
     //微信下才可以使用
     $modulePublic = '../addons/wwx_fxxt/style/static/';
     require_once WWX_FXXT_ROOT . '/class/Activity.class.php';
     $forceSubscribe = true;
     $openid = $this->getFromUser();
     ///28.查询用户的唯一身份ID。
     if (!empty($openid) && strlen($openid) > 10) {
         $fans = pdo_fetch('SELECT fans.openid openid, fans.follow follow, member.* FROM ' . tablename('mc_mapping_fans') . " fans, " . tablename('mc_members') . " member WHERE  fans.uniacid = :uniacid  AND fans.openid = :openid AND fans.uid=member.uid LIMIT 1", array(':uniacid' => $_W['uniacid'], ':openid' => $openid));
         if (is_array($fans) && !empty($fans['openid'])) {
             $user = array();
             $user['uniacid'] = $_W['uniacid'];
             $user['openid'] = $fans['openid'];
             $user['nickname'] = $fans['nickname'];
             $user['gender'] = $fans['gender'];
             $user['city'] = $fans['residecity'];
             $user['state'] = $fans['resideprovince'];
             $user['avatar'] = $fans['avatar'];
             $user['country'] = $fans['nationality'];
             $f->save($user);
             $_SESSION['__:proxy:openid'] = $user['openid'];
         }
     }
     $exists = $f->getOne($openid, true);
     /**FANS:3.根据用户UID或OPENID查询记录中的用户信息**/
     if (!empty($exists)) {
         return $exists;
     }
 }
Ejemplo n.º 2
0
     }
 }
 public function doMobileAuth()
 {
     global $_GPC, $_W;
     session_start();
     $api = $this->module['config']['api'];
     if (empty($api)) {
         message('系统还未开放');
     }
     $code = $_GPC['code'];
     load()->func('communication');
     $url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid={$api['appid']}&secret={$api['secret']}&code={$code}&grant_type=authorization_code";
     $resp = ihttp_get($url);
     if (is_error($resp)) {
         message('系统错误, 详情: ' . $resp['message']);
     }
     $auth = @json_decode($resp['content'], true);
     if (is_array($auth) && !empty($auth['openid'])) {
         $url = "https://api.weixin.qq.com/sns/userinfo?access_token={$auth['access_token']}&openid={$auth['openid']}&lang=zh_CN";
         $resp = ihttp_get($url);
         if (is_error($resp)) {
             message('系统错误');
         }
         $info = @json_decode($resp['content'], true);
         if (is_array($info) && !empty($info['openid'])) {
             $user = array();
             $user['uniacid'] = $_W['uniacid'];
             $user['openid'] = $info['openid'];
             $user['unionid'] = $info['unionid'];
             $user['nickname'] = $info['nickname'];
             $user['gender'] = $info['sex'];
             $user['city'] = $info['city'];
             $user['state'] = $info['province'];
             $user['avatar'] = $info['headimgurl'];
             $user['country'] = $info['country'];
             if (!empty($user['avatar'])) {
                 $user['avatar'] = rtrim($user['avatar'], '0');
                 $user['avatar'] .= '132';
             }
             require_once MB_ROOT . '/source/Fans.class.php';
             $f = new Fans();
             $f->save($user);
             $_SESSION['__:proxy:openid'] = $user['openid'];
             $forward = $_SESSION['__:proxy:forward'];
             header('Location: ' . $forward);
             exit;
         }
     }