public function show() { $userinfo = $this->mUserlib->verify_user(); //验证用户是否登录 if (!$userinfo) { $this->errorOutput(USENAME_NOLOGIN); //用户未登录 } $id = $userinfo['id']; /** * * 用于分页请求,请求第1页page传1 */ $page = $this->input['page'] ? $this->input['page'] : 0; $page = intval($page); if (!$this->input['count']) { $this->input['count'] = 10; } elseif ($this->input['count'] > 200) { $this->input['count'] = 200; } $count = intval($this->input['count']); $offset = $page * $count; $screen_name = trim(urldecode($this->input['screen_name'])); //用户昵称 $sql = "SELECT count(*) as total_nums \r\n\t\t\t\tFROM " . DB_PREFIX . "member_relation as r \r\n\t\t\t\tLEFT JOIN " . DB_PREFIX . "member as m ON r.member_id = m.id\r\n\t\t\t\tLEFT JOIN " . DB_PREFIX . "member_extra as e ON r.member_id = e.member_id \r\n\t\t\t\tWHERE r.fmember_id = " . $id . " AND username LIKE '%" . $screen_name . "%' "; $r = $this->db->query_first($sql); $total_nums = $r['total_nums']; $sql = "SELECT \r\n\t\t\t\tid,\r\n\t\t\t\tusername,\r\n\t\t\t\tavatar,\r\n\t\t\t\tfollow_time,\r\n\t\t\t\tjoin_time,\r\n\t\t\t\tlast_login,\r\n\t\t\t\tgroup_id,\r\n\t\t\t\tprivacy,\r\n\t\t\t\tlast_activity,\r\n\t\t\t\tfollowers_count,\r\n\t\t\t\tattention_count\r\n\t\t\t\tFROM " . DB_PREFIX . "member_relation as r \r\n\t\t\t\tLEFT JOIN " . DB_PREFIX . "member as m ON r.member_id = m.id\r\n\t\t\t\tLEFT JOIN " . DB_PREFIX . "member_extra as e ON r.member_id = e.member_id \r\n\t\t\t\tWHERE r.fmember_id = " . $id . " AND username LIKE '%" . $screen_name . "%' ORDER BY follow_time DESC \r\n\t\t\t\tLIMIT " . $offset . ',' . $count; $q = $this->db->query($sql); $follow = array(); while ($row = $this->db->fetch_array($q)) { $follow[$row['id']] = $row; if (strlen($row['avatar']) > 32) { $follow[$row['id']]['larger_avatar'] = hg_avatar($row['id'], "100", $row['avatar'], 0); $follow[$row['id']]['middle_avatar'] = hg_avatar($row['id'], "50", $row['avatar'], 0); $follow[$row['id']]['small_avatar'] = hg_avatar($row['id'], "10", $row['avatar'], 0); } else { $follow[$row['id']]['larger_avatar'] = hg_avatar($row['id'], "larger", $row['avatar']); $follow[$row['id']]['middle_avatar'] = hg_avatar($row['id'], "middle", $row['avatar']); $follow[$row['id']]['small_avatar'] = hg_avatar($row['id'], "small", $row['avatar']); } } if (empty($follow)) { $this->errorOutput(NORESULT); //搜索结果不存在 } else { $total = count($follow); $follow['total'] = $total_nums; $this->setXmlNode('users_info', 'user'); foreach ($follow as $item) { $this->addItem($item); } return $this->output(); } }
/** * 验证是否登录 * @return array 返回用户名和密码 和权限 */ public function verifyCredentials() { if ($this->input['innerTransKey'] == INNERTRANSKEY) { $this->setXmlNode('userinfo', 'user'); $this->addItem(array('login' => true)); $this->output(); } if (!$this->mUserName || !$this->mPassword) { $this->errorOutput(FAILED); } if (strpos($this->mUserName, '@')) { $cond = "m.email = '{$this->mUserName}'"; } else { $cond = "LOWER(m.username) = '" . strtolower($this->mUserName) . "'"; } $sql = "SELECT \r\n\t\t\t\tm.id,\r\n\t\t\t\tusername,\r\n\t\t\t\ttruename,\r\n\t\t\t\temail,\r\n\t\t\t\tpassword,\r\n\t\t\t\tsalt,\r\n\t\t\t\tavatar,\r\n\t\t\t\tqq_login,\r\n\t\t\t\tqq,\r\n\t\t\t\tmobile,\r\n\t\t\t\tmsn,\r\n\t\t\t\tsex,\r\n\t\t\t\tbirthday,\r\n\t\t\t\tjoin_time,\r\n\t\t\t\tlast_login,\r\n\t\t\t\tuser_group_id,\r\n\t\t\t\tprivacy,\r\n\t\t\t\ttype,\r\n\t\t\t\tlast_activity,\r\n\t\t\t\tfollowers_count,\r\n\t\t\t\tattention_count,\r\n\t\t\t\tstatus_count,\r\n\t\t\t\tvideo_count,\r\n\t\t\t\tthread_count,\r\n\t\t\t\tpost_count,\r\n\t\t\t\tsalt,\r\n\t\t\t\tpassword,\r\n\t\t\t\tm.group_id,\r\n\t\t\t\tgroup_name,\r\n\t\t\t\tcellphone\r\n\t\t\t\tFROM " . DB_PREFIX . "member m \r\n\t\t\t\tLEFT JOIN " . DB_PREFIX . "member_extra e \r\n\t\t\t\tON m.id = e.member_id \r\n\t\t\t\tleft join " . DB_PREFIX . "member_location l \r\n\t\t\t\ton m.id = l.member_id\r\n\t\t\t\tWHERE {$cond}"; $r = $this->db->query_first($sql); if (!$r) { $this->errorOutput(LOGIN_FAILED); //返回0x4000代码 } else { if ($this->mPassword != $r['password'] && md5(md5($this->mPassword) . $r['salt']) != $r['password']) { $this->errorOutput(LOGIN_FAILED); //返回0x4000代码 } unset($r['salt']); if (strlen($r['avatar']) > 32) { $r['large_avatar'] = hg_avatar($r['id'], "100", $r['avatar'], 0); $r['middle_avatar'] = hg_avatar($r['id'], "50", $r['avatar'], 0); $r['small_avatar'] = hg_avatar($r['id'], "10", $r['avatar'], 0); } else { $r['large_avatar'] = hg_avatar($r['id'], "larger", $r['avatar']); $r['middle_avatar'] = hg_avatar($r['id'], "middle", $r['avatar']); $r['small_avatar'] = hg_avatar($r['id'], "small", $r['avatar']); } if ($r['user_group_id'] == 1) { $r['is_admin'] = 1; } else { $r['is_admin'] = 0; } $r['home'] = SNS_UCENTER . 'user-' . $r['id'] . '.html'; if (!$r['group_name']) { $r['group_name'] = '暂未设定'; } $this->setXmlNode('userinfo', 'user'); $this->addItem($r); $this->output(); } }
public function show() { $userinfo = $this->mUserlib->verify_user(); //验证用户是否登录 if (!$userinfo) { $this->errorOutput(USENAME_NOLOGIN); //用户未登录 } $id = intval($this->input['user_id']); //当前用户ID $id = intval($this->input['user_id']); //当前用户ID /** * * 用于分页请求,请求第1页cursor传1,在返回的结果中会得到next_cursor字段,表示下一页的cursor。 * next_cursor为0表示已经到记录末尾。 */ $start_page = $this->input['cursor'] ? $this->input['cursor'] : 1; $start = ($start_page - 1) * BATCH_FETCH_LIMIT; /** * 查看当前登录用户黑名单信息 */ $sql = "SELECT \r\n\t\t\t\tm.id ,m.avatar, m.email , m. username , m.username AS screen_name , \r\n\t\t\t\tm.location , m.birthday , m.qq , m.mobile , m.msn , m.join_time , \r\n\t\t\t\tm.last_login , m.group_id , m.privacy \r\n\t\t\t\tFROM " . DB_PREFIX . "member_block AS b \r\n\t\t\t\tLEFT JOIN " . DB_PREFIX . "member m \r\n\t\t\t\tON b.bmemberid = m.id WHERE b.member_id = " . $id . " LIMIT " . $start . ", " . BATCH_FETCH_LIMIT; $q = $this->db->query($sql); $this->setXmlNode('users_info', 'user'); if ($this->db->num_rows($q) == 0) { $this->errorOutput(NOBLACKLIST); //用户没有黑名单 } else { while ($row = $this->db->fetch_array($q)) { if (strlen($row['avatar']) > 32) { $row['large_avatar'] = hg_avatar($row['id'], "100", $row['avatar'], 0); $row['middle_avatar'] = hg_avatar($row['id'], "50", $row['avatar'], 0); $row['small_avatar'] = hg_avatar($row['id'], "10", $row['avatar'], 0); } else { $row['large_avatar'] = hg_avatar($row['id'], "larger", $row['avatar']); $row['middle_avatar'] = hg_avatar($row['id'], "middle", $row['avatar']); $row['small_avatar'] = hg_avatar($row['id'], "small", $row['avatar']); } $this->addItem($row); } } $this->output(); }
/** * 获取单条频道用户数据 */ public function detail() { $this->input['id'] = urldecode($this->input['id']); if (!$this->input['id']) { return; } if ($this->input['id'] == 'lastest') { $condition = ' ORDER BY id DESC LIMIT 1'; } else { $condition = ' WHERE id in(' . $this->input['id'] . ')'; } $sql = "SELECT id, username , avatar , register_time , email , ip , collect_count , comment_count FROM " . DB_PREFIX . "user " . $condition; $r = $this->db->query_first($sql); $this->setXmlNode('user_info', 'user'); if (is_array($r) && $r) { $r['register_time'] = date('Y-m-d H:i:s', $r['create_time']); $r['larger_avatar'] = hg_avatar($r['id'], "larger", $r['avatar']); $r['middle_avatar'] = hg_avatar($r['id'], "middle", $r['avatar']); $r['small_avatar'] = hg_avatar($r['id'], "small", $r['avatar']); $this->addItem($r); $this->output(); } else { $this->errorOutput('用户不存在'); } }
/** * 查询关注网台的更新记录 * @return $ret 更新信息 */ function get_history() { $mInfo = $this->mUser->verify_credentials(); if (!$mInfo) { $this->errorOutput(USENAME_NOLOGIN); } $sta_id = $this->input['sta_id'] ? $this->input['sta_id'] . "," : ""; $page = intval($this->input['page'] ? $this->input['page'] : 0); $count = intval($this->input['count'] ? $this->input['count'] : 0); $offset = $page * $count; $end = ""; if ($count) { $end = " LIMIT {$offset} , {$count}"; } $sql = "SELECT * FROM " . DB_PREFIX . "station_concern WHERE user_id=" . $mInfo['id']; $q = $this->db->query($sql); $space = ""; while ($row = $this->db->fetch_array($q)) { $sta_id .= $space . $row['sid']; $space = ","; } $size = array("small" => array('t' => "s_", 'size' => LOGO_SIZE_SMALL), "ori" => array('t' => "", 'size' => LOGO_SIZE_SMALL)); if (!$sta_id) { $this->errorOutput(OBJECT_NULL); } $sql = "SELECT * FROM " . DB_PREFIX . "network_station WHERE state=1 AND programe <> '' AND id IN(" . $sta_id . ") ORDER BY update_time DESC " . $end; $query = $this->db->query($sql); while ($array = $this->db->fetch_array($query)) { foreach ($size as $key => $value) { if ($array['logo']) { $new_name = $value['t'] . $array['logo']; $array[$key] = UPLOAD_URL . LOGO_DIR . ceil($array['user_id'] / NUM_IMG) . "/" . $new_name; } else { if (file_exists(hg_avatar($array['user_id'], "larger", $array['user_id'] . ".jpg"))) { $array[$key] = hg_avatar($array['user_id'], "larger", $array['user_id'] . ".jpg"); } else { $array[$key] = AVATAR_URL . "larger_0.jpg"; } } } $info[$array['id']] = $array; } foreach ($info as $key => $value) { $info[$key]['programe'] = unserialize($value['programe']); } if ($count) { $sql = "SELECT count(*) as total FROM " . DB_PREFIX . "network_station WHERE state=1 AND programe <> '' AND id IN(" . $sta_id . ") ORDER BY update_time DESC "; $first = $this->db->query_first($sql); $info['total'] = $first['total']; } $this->setXmlNode('get_history', 'info'); $this->addItem($info); $this->output(); }
/** * 显示收藏 * @param $user_id * @param $type (0视频、1网台、2用户) * @return $ret 收藏信息 */ function show() { $mInfo = $this->mUser->verify_credentials(); $mInfo['id'] = $mInfo['id'] ? $mInfo['id'] : 0; $user_id = $this->input['user_id'] ? $this->input['user_id'] : $mInfo['id']; if (!$user_id) { $this->errorOutput(USENAME_NOLOGIN); } $type = $this->input['type'] ? $this->input['type'] : 0; //默认为视频 $page = intval($this->input['page'] ? $this->input['page'] : 0); $count = intval($this->input['count'] ? $this->input['count'] : 00); $offset = $page * $count; $end = " LIMIT {$offset} , {$count}"; if (!$user_id) { $this->errorOutput(OBJECT_NULL); } switch ($type) { case 0: $sql = "SELECT c.*,v.* FROM " . DB_PREFIX . "video v \r\n\t\t\t\t\tLEFT JOIN " . DB_PREFIX . "collects c \r\n\t\t\t\t\tON v.id=c.cid \r\n\t\t\t\t\tWHERE c.user_id=" . $user_id . " AND c.type = 0 " . $end; $query = $this->db->query($sql); $ids = ''; $space = ' '; while ($array = $this->db->fetch_array($query)) { $array = hg_video_image($array['id'], $array); $ids .= $space . $array['id']; $space = ','; $program[] = $array; } $re = $this->mVideo->get_collect_relevance($mInfo['id'], $ids, 0); foreach ($program as $key => $value) { $program[$key]['relation'] = $re[$value['id']]['relation']; $program[$key]['collect_id'] = $re[$value['id']]['id']; } $sql = "SELECT count(*) as total FROM " . DB_PREFIX . "video v \r\n\t\t\t\t\tLEFT JOIN " . DB_PREFIX . "collects c \r\n\t\t\t\t\tON v.id=c.cid \r\n\t\t\t\t\tWHERE c.user_id=" . $user_id . " AND c.type = 0 "; $total = $this->db->query_first($sql); $program['total'] = $total['total']; break; case 1: $size = array("small" => array('t' => "s_", 'size' => LOGO_SIZE_SMALL)); $sql = "SELECT c.*,n.* FROM " . DB_PREFIX . "network_station n \r\n\t\t\t\t\tLEFT JOIN " . DB_PREFIX . "collects c \r\n\t\t\t\t\tON n.id=c.cid \r\n\t\t\t\t\tWHERE c.user_id=" . $user_id . " AND c.type = 1" . $end; $query = $this->db->query($sql); $ids = ''; $space = ' '; while ($array = $this->db->fetch_array($query)) { if ($array['logo']) { foreach ($size as $key => $value) { $new_name = $value['t'] . $array['logo']; $array[$key] = UPLOAD_URL . LOGO_DIR . ceil($mInfo['id'] / NUM_IMG) . "/" . $new_name; } } $ids .= $space . $array['id']; $space = ','; $program[] = $array; } $re = $this->mVideo->get_collect_relevance($mInfo['id'], $ids, 1); foreach ($program as $key => $value) { $program[$key]['relation'] = $re[$value['id']]['relation']; $program[$key]['collect_id'] = $re[$value['id']]['id']; } $sql = "SELECT count(*) as total FROM " . DB_PREFIX . "network_station n \r\n\t\t\t\t\tLEFT JOIN " . DB_PREFIX . "collects c \r\n\t\t\t\t\tON n.id=c.cid \r\n\t\t\t\t\tWHERE c.user_id=" . $user_id . " AND c.type = 1"; $total = $this->db->query_first($sql); $program['total'] = $total['total']; break; case 2: $sql = "SELECT c.*,u.* FROM " . DB_PREFIX . "user u \r\n\t\t\t\t\tLEFT JOIN " . DB_PREFIX . "collects c \r\n\t\t\t\t\tON u.id=c.cid \r\n\t\t\t\t\tWHERE c.user_id=" . $user_id . " AND c.type = 2" . $end; $query = $this->db->query($sql); $ids = ''; $space = ' '; while ($array = $this->db->fetch_array($query)) { if (strlen($array['avatar']) > 32) { $array['large_avatar'] = hg_avatar($array['id'], "100", $array['avatar'], 0); $array['middle_avatar'] = hg_avatar($array['id'], "50", $array['avatar'], 0); $array['small_avatar'] = hg_avatar($array['id'], "10", $array['avatar'], 0); } else { $array['large_avatar'] = hg_avatar($array['id'], "larger", $array['avatar']); $array['middle_avatar'] = hg_avatar($array['id'], "middle", $array['avatar']); $array['small_avatar'] = hg_avatar($array['id'], "small", $array['avatar']); } $ids .= $space . $array['id']; $space = ','; $program[] = $array; } $re = $this->mVideo->get_collect_relevance($mInfo['id'], $ids, 2); foreach ($program as $key => $value) { $program[$key]['relation'] = $re[$value['id']]['relation']; $program[$key]['collect_id'] = $re[$value['id']]['id']; } $sql = "SELECT count(*) as total FROM " . DB_PREFIX . "user u \r\n\t\t\t\t\tLEFT JOIN " . DB_PREFIX . "collects c \r\n\t\t\t\t\tON u.id=c.cid \r\n\t\t\t\t\tWHERE c.user_id=" . $user_id . " AND c.type = 2"; $total = $this->db->query_first($sql); $program['total'] = $total['total']; break; case 3: $sql = "SELECT c.*,a.* FROM " . DB_PREFIX . "album a \r\n\t\t\t\t\tLEFT JOIN " . DB_PREFIX . "collects c \r\n\t\t\t\t\tON a.id=c.cid \r\n\t\t\t\t\tWHERE c.user_id=" . $user_id . " AND c.type = 2" . $end; $query = $this->db->query($sql); $ids = ''; $space = ' '; while ($array = $this->db->fetch_array($query)) { $ids .= $space . $array['id']; $space = ','; $program[] = $array; } $sql = "SELECT id,schematic FROM " . DB_PREFIX . "video WHERE id IN(" . $ids . ")"; $query = $this->db->query($sql); while ($arr = $this->db->fetch_array($query)) { $arr = hg_video_image($arr['id'], $arr['schematic'], 0); $cover[$arr['id']] = $arr; } $re = $this->mVideo->get_collect_relevance($mInfo['id'], $ids, 2); foreach ($program as $key => $value) { $program[$key]['relation'] = $re[$value['id']]['relation']; $program[$key]['collect_id'] = $re[$value['id']]['id']; $program[$key]['cover'] = $cover[$value['cover_id']]['schematic']; } $sql = "SELECT count(*) as total FROM " . DB_PREFIX . "album a \r\n\t\t\t\t\tLEFT JOIN " . DB_PREFIX . "collects c \r\n\t\t\t\t\tON a.id=c.cid \r\n\t\t\t\t\tWHERE c.user_id=" . $user_id . " AND c.type = 3"; $total = $this->db->query_first($sql); $program['total'] = $total['total']; break; default: break; } $this->setXmlNode('collects', 'info'); $this->addItem($program); $this->output(); }
/** * 验证是否登录 * @return array 返回用户名和密码 和权限 */ function getUserById() { include_once ROOT_PATH . 'api/lib/video.class.php'; $this->mVideo = new video(); $mInfo = $this->mUser->verify_credentials(); $user_id = $this->input['user_id'] ? $this->input['user_id'] : 1; if (!$user_id) { $this->errorOutput(USENAME_NOLOGIN); } $sql = "SELECT id, username,avatar,register_time,collect_count,comment_count FROM " . DB_PREFIX . "user WHERE id IN (" . $user_id . ")"; $info = $this->db->query_first($sql); if (strlen($info['avatar']) > 32) { $info['large_avatar'] = hg_avatar($info['id'], "100", $info['avatar'], 0); $info['middle_avatar'] = hg_avatar($info['id'], "50", $info['avatar'], 0); $info['small_avatar'] = hg_avatar($info['id'], "10", $info['avatar'], 0); } else { $info['larger_avatar'] = hg_avatar($info['id'], "larger", $info['avatar']); $info['middle_avatar'] = hg_avatar($info['id'], "middle", $info['avatar']); $info['small_avatar'] = hg_avatar($info['id'], "small", $info['avatar']); } $re = $this->mVideo->get_collect_relevance($mInfo['id'], $user_id, 2); $info['relation'] = $re[$user_id]['relation']; $this->setXmlNode('user', 'info'); $this->addItem($info); $this->output(); }
public function show() { $userinfo = $this->mUserlib->verify_user(); //验证用户是否登录 if (!$userinfo) { $this->errorOutput(USENAME_NOLOGIN); //用户未登录 } /** * * 用于分页请求,请求第1页page传0 * 每页默认是显示20条记录,最大请求不得超过200条 * */ $page = $this->input['page'] ? $this->input['page'] : 0; $page = intval($page); if (!$this->input['count']) { $this->input['count'] = 20; } elseif ($this->input['count'] > 200) { $this->input['count'] = 200; } $count = intval($this->input['count']); $offset = $page * $count; $sql = "SELECT r.fmember_id AS id , r.follow_time , m.username , m.avatar , e.* \r\n\t\t\t\tFROM " . DB_PREFIX . "member_relation AS r \r\n\t\t\t\tLEFT JOIN " . DB_PREFIX . "member AS m ON r.fmember_id = m.id \r\n\t\t\t\tLEFT JOIN " . DB_PREFIX . "member_extra AS e ON m.id = e.member_id "; /** * 传递用户ID */ if ($this->input['user_id']) { $user_id = $this->input['user_id']; //被关注ID $condition = " WHERE r.member_id = " . $user_id . " \r\n\t\t\t\t\t\t ORDER BY r.follow_time DESC \r\n\t\t\t\t\t\t LIMIT " . $offset . "," . $count; $sql = $sql . $condition; } /** * 传递用户呢称 */ if ($this->input['screen_name']) { $screen_name = urldecode($this->input['screen_name']); //用户呢称 $condition = " WHERE m.username = '******' \r\n\t\t\t\t\t ORDER BY r.follow_time DESC\r\n\t\t\t\t\t LIMIT " . $offset . ',' . $count; $sql = $sql . $condition; } /** * 如果什么参数都没有传递,默认返回该用户的粉丝 */ if (!$this->input['user_id'] && !$this->input['screen_name']) { $condition = " WHERE m.member_id = " . $userinfo['id'] . " \r\n\t\t\t\t\t ORDER BY r.follow_time DESC\r\n\t\t\t\t\t\t LIMIT " . $offset . ',' . $count; $sql = $sql . $condition; } $q = $this->db->query($sql); $this->setXmlNode('users_info', 'user'); if ($this->db->num_rows($q) == 0) { $this->errorOutput(NOFRIENDS); //没有关注任何人 } else { while ($row = $this->db->fetch_array($q)) { //$ids .= $row['fmember_id'] . ','; if (strlen($row['avatar']) > 32) { $row['large_avatar'] = hg_avatar($row['id'], "100", $row['avatar'], 0); $row['middle_avatar'] = hg_avatar($row['id'], "50", $row['avatar'], 0); $row['small_avatar'] = hg_avatar($row['id'], "10", $row['avatar'], 0); } else { $row['larger_avatar'] = hg_avatar($row['id'], "larger", $row['avatar']); $row['middle_avatar'] = hg_avatar($row['id'], "middle", $row['avatar']); $row['small_avatar'] = hg_avatar($row['id'], "small", $row['avatar']); } $this->addItem($row); } //$ids = substr($ids , 0 , -1); } /*$this->curl->setSubmitType('post'); $this->curl->setReturnFormat('json'); $this->curl->initPostData(); $this->curl->addRequestData('user_id', $ids); $user_info = $this->curl->request('users/show.php');*/ /* foreach ($user_info AS $item) { $this->addItem($item); }*/ $this->output(); }
/** * 根据条件获取用户 */ public function getUserByOrder() { $page = $this->input['page'] ? intval($this->input['page']) : 0; if (!$this->input['count']) { $this->input['count'] = 20; } $count = intval($this->input['count']); $totle = $this->input['total'] ? intval($this->input['total']) : 0; if ($page >= $totle) { $page = 0; } $offset = $page * $count; /* $sql = "SELECT COUNT(*) AS nums FROM " . DB_PREFIX . "member AS m LEFT JOIN " . DB_PREFIX . "member_extra AS e ON m.id = e.member_id WHERE 1"; $r = $this->db->query_first($sql); $total = $r['nums'];*/ $order = ''; switch (urldecode($this->input['order'])) { case 'join_time': $order = 'ORDER BY m.join_time DESC'; break; case 'last_login': $order = 'ORDER BY m.last_login DESC'; break; case 'last_activity': $order = 'ORDER BY e.last_activity DESC'; break; case 'id': $order = 'ORDER BY m.id ASC'; break; default: $order = 'ORDER BY join_time DESC'; break; } $conditon = " LIMIT " . $offset . ' , ' . $count; $sql = "SELECT m.id ,m.username , m.avatar , e.* FROM " . DB_PREFIX . "member AS m LEFT JOIN " . DB_PREFIX . "member_extra AS e ON m.id = e.member_id WHERE 1 " . $order . $conditon; $q = $this->db->query($sql); while ($row = $this->db->fetch_array($q)) { if (strlen($row['avatar']) > 32) { $row['larger_avatar'] = hg_avatar($row['id'], "100", $row['avatar'], 0); $row['middle_avatar'] = hg_avatar($row['id'], "50", $row['avatar'], 0); $row['small_avatar'] = hg_avatar($row['id'], "10", $row['avatar'], 0); } else { $row['larger_avatar'] = hg_avatar($row['id'], "larger", $row['avatar']); $row['middle_avatar'] = hg_avatar($row['id'], "middle", $row['avatar']); $row['small_avatar'] = hg_avatar($row['id'], "small", $row['avatar']); } $this->addItem($row); } $this->output(); }
<?php /*************************************************************************** * LivSNS 0.1 * (C)2004-2010 HOGE Software. * * $Id: show.php 2093 2011-02-16 09:45:49Z yuna $ ***************************************************************************/ require '../../conf/global.conf.php'; require '../../lib/func/functions.php'; $uid = intval($_GET['user_id']); $type = intval($_GET['type']); $t_index = array(0 => 'larger', 1 => 'middle', 2 => 'small', 3 => 'larger'); $avatar_url = hg_avatar($uid, $t_index[$type], $uid . '.jpg'); header('Location:' . $avatar_url);
/** * 检索网台根据网台名称条件 * @param $key * @param $count * @param $page * @return $info 网台信息 */ public function search() { $mInfo = $this->mUser->verify_credentials(); $key = urldecode($this->input['key'] ? $this->input['key'] : ""); $count = intval($this->input['count'] ? $this->input['count'] : 0); $page = intval($this->input['page'] ? $this->input['page'] : 0); $end = ""; $offset = $page * $count; if ($count) { $end = " LIMIT " . $offset . "," . $count; } $size = array("small" => array('t' => "s_", 'size' => LOGO_SIZE_SMALL)); $cond = " WHERE 1"; if (!$key) { } else { $cond .= " AND state = 1 AND concat(web_station_name,brief,tags) LIKE '%" . $key . "%'"; } $cond .= " ORDER BY update_time DESC"; $sql = "SELECT * FROM " . DB_PREFIX . "network_station" . $cond . $end; $query = $this->db->query($sql); if ($this->db->num_rows($query) == 0) { $this->errorOutput(OBJECT_NULL); } $u_id = ""; $sta_id = ""; $space = " "; while ($array = $this->db->fetch_array($query)) { $array['programe'] = unserialize($array['programe']); $u_id .= $space . $array['user_id']; $sta_id .= $space . $array['id']; $space = ","; foreach ($size as $key => $value) { if ($array['logo']) { $new_name = $value['t'] . $array['logo']; $array[$key] = UPLOAD_URL . LOGO_DIR . ceil($array['user_id'] / NUM_IMG) . "/" . $new_name; } else { if (file_exists(hg_avatar($array['user_id'], "larger", $array['user_id'] . ".jpg"))) { $array[$key] = hg_avatar($array['user_id'], "larger", $array['user_id'] . ".jpg"); } else { $array[$key] = AVATAR_URL . "larger_0.jpg"; } } } $info[] = $array; } $user = $this->getUserById($u_id); $re = $this->mVideo->get_concern_relevance($mInfo['id'], $sta_id); $this->setXmlNode('user', 'info'); foreach ($info as $key => $value) { $value['user'] = $user[$value['user_id']]; $value['relation'] = $re[$value['id']]['relation']; $value['concern_id'] = $re[$value['id']]['id']; $this->addItem($value); } if ($count) { $sql = "SELECT count(*) as total FROM " . DB_PREFIX . "network_station" . $cond; $first = $this->db->query_first($sql); $this->addItem($first['total']); } $this->output(); }
/** * 获取单条频道用户数据 */ public function detail() { //用户ID $id = $this->input['id'] ? intval($this->input['id']) : -1; if ($id > 0) { $sql = "SELECT id, username , avatar , register_time , email , ip , collect_count , comment_count FROM " . DB_PREFIX . "user WHERE id = " . $id; $r = $this->db->query_first($sql); $this->setXmlNode('user_info', 'user'); if (is_array($r) && $r) { $r['register_time'] = date('Y-m-d H:i:d', $r['create_time']); if (strlen($r['avatar']) > 32) { $r['large_avatar'] = hg_avatar($r['id'], "100", $r['avatar'], 0); $r['middle_avatar'] = hg_avatar($r['id'], "50", $r['avatar'], 0); $r['small_avatar'] = hg_avatar($r['id'], "10", $r['avatar'], 0); } else { $r['larger_avatar'] = hg_avatar($r['id'], "larger", $r['avatar']); $r['middle_avatar'] = hg_avatar($r['id'], "middle", $r['avatar']); $r['small_avatar'] = hg_avatar($r['id'], "small", $r['avatar']); } $this->addItem($r); $this->output(); } else { $this->errorOutput('用户不存在'); } } else { $this->errorOutput('未传入查询ID'); } }
public function show() { $userinfo = $this->mUserlib->verify_user(); //验证用户是否登录 if (!$userinfo) { $this->errorOutput(USENAME_NOLOGIN); //用户未登录 } /** * * 用于分页请求,请求第1页page传0 */ $page = $this->input['page'] ? $this->input['page'] : 0; $page = intval($page); if (!$this->input['count']) { $this->input['count'] = 10; } elseif ($this->input['count'] > 200) { $this->input['count'] = 200; } $count = intval($this->input['count']); $offset = $page * $count; $screen_name = trim(urldecode($this->input['screen_name'])); $sql = "SELECT \r\n\t\t\t\tCOUNT(*) AS total_nums\r\n\t\t\t\tFROM " . DB_PREFIX . "member\r\n\t\t\t\tWHERE (username LIKE '%{$screen_name}%' OR truename LIKE '%{$screen_name}%') AND (substring(privacy , -3 , 1) = 0)"; $r = $this->db->query_first($sql); $total_nums = $r['total_nums']; $sql = "SELECT \r\n\t\t\t\tid,\r\n\t\t\t\tusername,\r\n\t\t\t\ttruename,\r\n\t\t\t\tavatar,\r\n\t\t\t\tjoin_time,\r\n\t\t\t\tlast_login,\r\n\t\t\t\tgroup_id,\r\n\t\t\t\tprivacy,\r\n\t\t\t\te.*\r\n\t\t\t\tFROM " . DB_PREFIX . "member m\r\n\t\t\t\tLEFT JOIN " . DB_PREFIX . "member_extra e\r\n\t\t\t\tON m.id = e.member_id\r\n\t\t\t\tWHERE (username LIKE '%{$screen_name}%' OR truename LIKE '%{$screen_name}%') AND (substring(privacy , -3 , 1) = 0) order by id desc\r\n\t\t\t\tLIMIT " . $offset . ',' . $count; $q = $this->db->query($sql); $blog_ids = ''; $user_info = array(); while ($row = $this->db->fetch_array($q)) { $blog_ids .= $row['last_status_id'] . ','; if (strlen($row['avatar']) > 32) { $row['large_avatar'] = hg_avatar($row['id'], "100", $row['avatar'], 0); $row['middle_avatar'] = hg_avatar($row['id'], "50", $row['avatar'], 0); $row['small_avatar'] = hg_avatar($row['id'], "10", $row['avatar'], 0); } else { $row['larger_avatar'] = hg_avatar($row['id'], "larger", $row['avatar']); $row['middle_avatar'] = hg_avatar($row['id'], "middle", $row['avatar']); $row['small_avatar'] = hg_avatar($row['id'], "small", $row['avatar']); } $user_info[] = $row; } if (empty($user_info)) { $this->errorOutput(USERNOTEXIST); //用户不存在 } else { $blog_ids = substr($blog_ids, 0, strlen($blog_ids) - 1); $content = $this->mStatus->show($blog_ids); $info = array(); $len = count($user_info); for ($i = 0; $i < $len; $i++) { if ($content[$i]) { $user_info[$i]['text'] = $content[$i]['text']; } } $user_info['total'] = $total_nums; $this->setXmlNode('users_info', 'user'); foreach ($user_info as $item) { $this->addItem($item); } $this->output(); } }