コード例 #1
0
ファイル: follow_search.php プロジェクト: h3len/Project
 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();
     }
 }
コード例 #2
0
ファイル: verify_credentials.php プロジェクト: h3len/Project
 /**
  * 验证是否登录
  * @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();
     }
 }
コード例 #3
0
ファイル: blocking.php プロジェクト: h3len/Project
 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();
 }
コード例 #4
0
ファイル: line_channel_user.php プロジェクト: h3len/Project
 /**
  * 获取单条频道用户数据
  */
 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('用户不存在');
     }
 }
コード例 #5
0
ファイル: station_concern.php プロジェクト: h3len/Project
 /**
  * 查询关注网台的更新记录
  * @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();
 }
コード例 #6
0
ファイル: collect.php プロジェクト: h3len/Project
 /**
  * 显示收藏
  * @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();
 }
コード例 #7
0
ファイル: user.php プロジェクト: h3len/Project
 /**
  * 验证是否登录
  * @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();
 }
コード例 #8
0
ファイル: friends.php プロジェクト: h3len/Project
 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();
 }
コード例 #9
0
ファイル: show.php プロジェクト: h3len/Project
 /**
  * 根据条件获取用户
  */
 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();
 }
コード例 #10
0
ファイル: show_avatar.php プロジェクト: h3len/Project
<?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);
コード例 #11
0
ファイル: station.php プロジェクト: h3len/Project
 /**
  * 检索网台根据网台名称条件
  * @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();
 }
コード例 #12
0
 /**
  * 获取单条频道用户数据
  */
 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');
     }
 }
コード例 #13
0
ファイル: search.php プロジェクト: h3len/Project
 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();
     }
 }