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