public function user_timeline($type, $user_id, $user_name, $since_id = 0, $max_id = 0, $limit = 20, $page = 1)
{
if (empty($user_id) && empty($user_name)) {
return array();
}
if (empty($user_id)) {
$user_info = model('User')->getUserInfoByName($user_name);
$user_id = $user_info['uid'];
}
if (empty($user_id)) {
return array();
}
$where = "uid = '{$user_id}' AND is_del = 0 ";
//动态类型
if (in_array($type, array('post', 'repost', 'postimage', 'postfile', 'postvideo'))) {
$where .= " AND type='{$type}' ";
}
$since_id = intval($since_id);
$max_id = intval($max_id);
$limit = intval($limit);
$page = intval($page);
if (!empty($since_id) || !empty($max_id)) {
!empty($since_id) && ($where .= " AND feed_id > {$since_id}");
!empty($max_id) && ($where .= " AND feed_id < {$max_id}");
}
$start = ($page - 1) * $limit;
$end = $limit;
$feed_ids = $this->field('feed_id')->where($where)->field('feed_id')->limit("{$start},{$end}")->order('publish_time DESC')->getAsFieldArray('feed_id');
return $this->formatFeed($feed_ids, true);
}