UserApi::user_bind PHP Method

user_bind() public method

用户第三方帐号绑定情况 --using
public user_bind ( ) : 第三方列表及是否绑定
return 第三方列表及是否绑定
    public function user_bind()
    {
        // 可同步平台
        $validPublish = array('sina', 'qq', 'qzone');
        // 可绑定平台
        $validAlias = array('sina' => '新浪微博', 'qzone' => 'QQ互联', 'weixin' => '微信');
        $bind = M('login')->where('uid=' . $this->mid)->findAll();
        // 用户已绑定数据
        $config = model('AddonData')->lget('login');
        // 检查可同步的平台的key值是否可用
        foreach ($validAlias as $k => $v) {
            // 检查是否在后台config设置好
            if (!in_array($k, $config['open']) && $k != 'weixin') {
                continue;
            }
            if (in_array($k, $validPublish)) {
                $can_sync = true;
            } else {
                $can_sync = false;
            }
            $is_bind = false;
            $is_sync = false;
            foreach ($bind as $value) {
                if ($value['type'] == $k) {
                    $is_bind = true;
                }
                if ($value['type'] == $k && $value['is_sync']) {
                    $is_sync = true;
                }
                if ($value['type'] == $k && $value['bind_time']) {
                    $bind_time = $value['bind_time'];
                }
                if ($value['type'] == $k && $value['bind_user']) {
                    $bind_user = $value['bind_user'];
                }
            }
            $bindInfo[] = array('type' => $k, 'name' => $validAlias[$k], 'isBind' => $is_bind ? 1 : 0);
        }
        // 手机号
        $tel_bind[0]['type'] = 'phone';
        $tel_bind[0]['name'] = '手机号';
        $login = model('User')->where('uid=' . $this->mid)->field('phone')->getField('phone');
        if (MedzValidator::isTelNumber($login)) {
            $tel_bind[0]['isBind'] = 1;
        } else {
            $tel_bind[0]['isBind'] = 0;
        }
        $bindInfo = array_merge($tel_bind, $bindInfo);
        return $bindInfo;
    }