FeedModel::public_timeline PHP Method

public_timeline() public method

获取全站最新的分享
public public_timeline ( string $type, integer $since_id, integer $max_id, integer $limit = 20, integer $page = 1, $returnId = false ) : array
$type string 分享类型,原创post,转发repost,图片postimage,附件postfile,视频postvideo
$since_id integer 分享ID,从此分享ID开始,默认为0
$max_id integer 最大分享ID,默认为0
$limit integer 结果集数目,默认为20
$page integer 分页数,默认为1
return array 全站最新的分享
    public function public_timeline($type, $since_id = 0, $max_id = 0, $limit = 20, $page = 1, $returnId = false)
    {
        $since_id = intval($since_id);
        $max_id = intval($max_id);
        $limit = intval($limit);
        $page = intval($page);
        $where = ' is_del = 0 ';
        //动态类型
        if (in_array($type, array('post', 'repost', 'postimage', 'postfile', 'postvideo'))) {
            $where .= " AND type='{$type}' ";
        }
        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->where($where)->field('feed_id')->limit("{$start},{$end}")->order('feed_id DESC')->getAsFieldArray('feed_id');
        if ($returnId === true) {
            $feed_ids = is_array($feed_ids) ? $feed_ids : array();
            return $feed_ids;
        }
        return $this->formatFeed($feed_ids, true);
    }