FeedModel::user_timeline PHP Method

user_timeline() public method

获取指定用户发布的分享列表
public user_timeline ( string $type, integer $user_id, string $user_name, integer $since_id, integer $max_id, integer $limit = 20, integer $page = 1 ) : array
$type string 分享类型,原创post,转发repost,图片postimage,附件postfile,视频postvideo
$user_id integer 指定用户ID
$user_name string 指定用户名称
$since_id integer 分享ID,从此分享ID开始,默认为0
$max_id integer 最大分享ID,默认为0
$limit integer 结果集数目,默认为20
$page integer 分页数,默认为1
return array 指定用户发布的分享列表
    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);
    }