BookStack\Repos\ImageRepo::getGalleryFiltered PHP Method

getGalleryFiltered() public method

Get gallery images with a particular filter criteria such as being within the current book or page.
public getGalleryFiltered ( integer $pagination, integer $pageSize = 24, $filter, $pageId ) : array
$pagination integer
$pageSize integer
$filter
$pageId
return array
    public function getGalleryFiltered($pagination = 0, $pageSize = 24, $filter, $pageId)
    {
        $images = $this->image->where('type', '=', 'gallery');
        $page = $this->page->findOrFail($pageId);
        if ($filter === 'page') {
            $images = $images->where('uploaded_to', '=', $page->id);
        } elseif ($filter === 'book') {
            $validPageIds = $page->book->pages->pluck('id')->toArray();
            $images = $images->whereIn('uploaded_to', $validPageIds);
        }
        return $this->returnPaginated($images, $pagination, $pageSize);
    }