示例#1
0
function mc_fansinfo($openidOruid, $acid = 0, $uniacid = 0)
{
    global $_W;
    if (empty($openidOruid)) {
        return array();
    }
    if (empty($acid)) {
        $acid = $_W['acid'];
    }
    if (empty($uniacid)) {
        $uniacid = $_W['uniacid'];
    }
    $params = array();
    $params[':uniacid'] = $uniacid;
    $params[':acid'] = $acid;
    if (is_numeric($openidOruid)) {
        $condition = 'AND `uid`=:uid';
        $params[':uid'] = $openidOruid;
    } else {
        $condition = 'AND `openid`=:openid';
        $params[':openid'] = $openidOruid;
    }
    $sql = 'SELECT * FROM ' . tablename('mc_mapping_fans') . " WHERE `uniacid`=:uniacid AND `acid`=:acid {$condition}";
    $fan = pdo_fetch($sql, $params);
    if (!empty($fan)) {
        if (!empty($fan['tag']) && is_string($fan['tag'])) {
            if (is_base64($fan['tag'])) {
                $fan['tag'] = @base64_decode($fan['tag']);
            }
            if (is_serialized($fan['tag'])) {
                $fan['tag'] = @iunserializer($fan['tag']);
            }
            if (!empty($fan['tag']['headimgurl'])) {
                $fan['tag']['avatar'] = tomedia($fan['tag']['headimgurl']);
                unset($fan['tag']['headimgurl']);
            }
        } else {
            $fan['tag'] = array();
        }
    }
    if (empty($fan) && !empty($_SESSION['userinfo'])) {
        $fan['tag'] = unserialize(base64_decode($_SESSION['userinfo']));
        $fan['uid'] = 0;
        $fan['openid'] = $fan['tag']['openid'];
        $fan['follow'] = 0;
        $mc_oauth_fan = mc_oauth_fans($fan['openid']);
        if (!empty($mc_oauth_fan)) {
            $fan['uid'] = $mc_oauth_fan['uid'];
        }
    }
    return $fan;
}
示例#2
0
        if (!isset($unisetting['passport']) || empty($unisetting['passport']['focusreg'])) {
            $default_groupid = pdo_fetchcolumn('SELECT groupid FROM ' . tablename('mc_groups') . ' WHERE uniacid = :uniacid AND isdefault = 1', array(':uniacid' => $_W['uniacid']));
            $data = array('uniacid' => $_W['uniacid'], 'email' => md5($oauth['openid']) . '@012wz.com', 'salt' => random(8), 'groupid' => $default_groupid, 'createtime' => TIMESTAMP, 'password' => md5($message['from'] . $data['salt'] . $_W['config']['setting']['authkey']), 'nickname' => stripslashes($userinfo['nickname']), 'avatar' => $userinfo['headimgurl'], 'gender' => $userinfo['sex'], 'nationality' => $userinfo['country'], 'resideprovince' => $userinfo['province'] . '省', 'residecity' => $userinfo['city'] . '市');
            pdo_insert('mc_members', $data);
            $uid = pdo_insertid();
            $record['uid'] = $uid;
            $_SESSION['uid'] = $uid;
        }
        pdo_insert('mc_mapping_fans', $record);
        $_SESSION['openid'] = $oauth['openid'];
        $_W['fans'] = $record;
        $_W['fans']['from_user'] = $record['openid'];
    }
}
if (intval($_W['account']['level']) != 4) {
    $mc_oauth_fan = mc_oauth_fans($oauth['openid'], $_W['acid']);
    if (empty($mc_oauth_fan) && (!empty($_SESSION['openid']) || !empty($_SESSION['uid']))) {
        $data = array('acid' => $_W['acid'], 'oauth_openid' => $oauth['openid'], 'uid' => intval($_SESSION['uid']), 'openid' => $_SESSION['openid']);
        pdo_insert('mc_oauth_fans', $data);
    }
    if (!empty($mc_oauth_fan)) {
        if (empty($_SESSION['uid']) && !empty($mc_oauth_fan['uid'])) {
            $_SESSION['uid'] = intval($mc_oauth_fan['uid']);
        }
        if (empty($_SESSION['openid']) && !empty($mc_oauth_fan['openid'])) {
            $_SESSION['openid'] = strval($mc_oauth_fan['openid']);
        }
    }
}
if ($scope == 'userinfo') {
    $userinfo = $oauth_account->getOauthUserInfo($oauth['access_token'], $oauth['openid']);