function find_buddy($ids) { global $_SGLOBAL, $_IMC, $space, $groups; $ids = ids_array($ids); //删除自己 $ids = ids_except($space['uid'], $ids); if (empty($ids)) { return array(); } $ids = join(',', $ids); $buddies = array(); //// include_once DISCUZ_ROOT . './uc_client/client.php'; $buddynum = uc_friend_totalnum($space['uid']); $buddies = uc_friend_ls($space['uid'], 1, $buddynum, $buddynum); if ($buddies) { foreach ((array) $buddies as $key => $buddy) { $buddylist[$buddy['friendid']] = $buddy; } unset($buddies); } // $query = $_SGLOBAL['db']->query("SELECT m.uid, m.username,nickname FROM " . tname('members') . " m left join " . tname('memberfields') . " mf on m.uid=mf.uid WHERE m.uid IN ({$ids})"); //// /*$query = $_SGLOBAL['db']-> query("SELECT main.uid, main.username, main.name, f.gid, f.fuid FROM ".tname('space')." main LEFT OUTER JOIN ".tname('friend')." f ON f.uid = '$space[uid]' AND main.uid = f.fuid WHERE main.uid IN ($ids)");*/ while ($value = $_SGLOBAL['db']->fetch_array($query)) { //realname_set($value['uid'], to_utf8($value['username'])); $id = $value['uid']; $nick = nick($value); /// $group = in_array($value['uid'], array_keys($buddylist)) ? 'friend' : 'stranger'; /// /*$group = empty($value['fuid']) ? "stranger" : null; if(empty($value['fuid'])){ $group = "stranger"; }else{ $gid = $value['gid']; $group = (empty($gid) || empty($groups[$gid])) ? "friend" : $groups[$gid]; }*/ //$jid = $id.'@'.$_IMC['domain']; //$status_time = empty($value['dateline'])?'':sgmdate('n月j日',$value['dateline'],1); $buddies[$id] = array('id' => $id, 'name' => to_utf8($nick), 'pic_url' => avatar($id, 'small', true), 'status' => '', 'status_time' => '', 'url' => 'space.php?uid=' . $id, 'group' => $group); } return $buddies; }
<?php include_once 'common.php'; if (empty($space)) { exit; } $name = nick($space); require 'http_client.php'; $stranger_ids = ids_except($space['uid'], ids_array(gp("stranger_ids"))); //陌生人 $friend_ids = ids_array($space['friends']); //好友 $buddy_ids = ids_array(gp("buddy_ids")); //正在聊天的联系人 $new_messages = find_new_message(); //查找离线消息 for ($i = 0; $i < count($new_messages); $i++) { $msg_uid = $new_messages[$i]["from"]; array_push($buddy_ids, $msg_uid); array_push($stranger_ids, $msg_uid); } //Login webim server. $nick = to_utf8($name); $setting = setting(); $block_list = is_array($setting->block_list) ? $setting->block_list : array(); $rooms = find_room(); $room_ids = array(); foreach ($rooms as $key => $value) { if (in_array($key, $block_list)) { $rooms[$key]['blocked'] = true; } else {
function find_buddy($ids) { global $_SGLOBAL, $_IMC, $space, $groups; $ids = ids_array($ids); //删除自己 $ids = ids_except($space['uid'], $ids); if (empty($ids)) { return array(); } $ids = join(',', $ids); $buddies = array(); $query = $_SGLOBAL['db']->query("SELECT main.uid, main.username, main.name, f.gid, f.fuid\n FROM " . tname('space') . " main\n LEFT OUTER JOIN " . tname('friend') . " f ON f.uid = '{$space['uid']}' AND main.uid = f.fuid\n WHERE main.uid IN ({$ids})"); while ($value = $_SGLOBAL['db']->fetch_array($query)) { realname_set($value['uid'], to_utf8($value['username'])); $id = $value['uid']; $nick = nick($value); $group = empty($value['fuid']) ? "stranger" : null; if (empty($value['fuid'])) { $group = "stranger"; } else { $gid = $value['gid']; $group = empty($gid) || empty($groups[$gid]) ? "friend" : $groups[$gid]; } //$jid = $id.'@'.$_IMC['domain']; //$status_time = empty($value['dateline'])?'':sgmdate('n月j日',$value['dateline'],1); $buddies[$id] = array('id' => $id, 'name' => to_utf8($nick), 'pic_url' => avatar($id, 'small', true), 'status' => '', 'status_time' => '', 'url' => 'space.php?uid=' . $id, 'group' => $group, 'default_pic_url' => UC_API . '/images/noavatar_small.gif'); } return $buddies; }