Esempio n. 1
0
 /**
  * 返回一个包含指定UID的用户信息数组,key为UID
  * @param string $uid_list 用户UID列表
  * @return array
  */
 public static function getUserInfo($uid_list)
 {
     //整理UID列表为一个可用的IN LIST
     $in_list = Util::formatIntList($uid_list);
     // 没有需要查询的用户ID
     if (!$in_list) {
         return array();
     }
     // 取得数据库实例
     $db = self::db();
     // 取得数据表名称
     $table = self::table('user');
     // 准备用于查询的SQL语句
     $sql = "SELECT `uid`,`uname` FROM {$table} WHERE `uid` " . "IN({$in_list}) AND `is_del`=0 ORDER BY FIELD(`uid`,{$in_list})";
     // 查询内容,并把uid设置为键名,并返回新数组
     return Util::arrayColumn($db->query($sql) ?: array(), null, 'uid');
 }
Esempio n. 2
0
 /**
  * 根据用户Id,获取全部客户端连接ID
  * @param string|array $uid_list 用户ID列表,逗号分隔或一个数组
  * @param bool $remove_current_user 如果为false,那么如果查询结果有当前用户将会保留
  * @return array 返回一个包含指定用户id的客户端连接Id数组
  */
 public static function getClientByUser($uid_list, $remove_current_user = true)
 {
     $in_list = Util::formatIntList($uid_list);
     if (!$in_list) {
         return array();
     }
     $where = "uid IN({$in_list})";
     if ($remove_current_user) {
         $uid = (int) self::getLoggedUserInfo('uid');
         if ($uid) {
             $where .= " AND uid<>{$uid}";
         }
     }
     $db = self::db();
     $table = self::table('message_ucmap');
     $result = $db->select('uid,client_id')->from($table)->where($where)->query();
     return $result ? Util::arrayColumn($result, 'client_id', 'uid') : array();
 }