pager = new JobPager($this); $this->pager->setPageSize(getConfig()->browsing->postsPerPage); } public function getPager() { return $this->pager; } public function execute() { $pageSize = $this->pager->getPageSize(); $page = $this->pager->getPageNumber(); $query = $this->getArgument(JobArgs::ARG_QUERY); $posts = PostSearchService::getEntities($query, $pageSize, $page); $postCount = PostSearchService::getEntityCount($query); PostModel::preloadTags($posts); return $this->pager->serialize($posts, $postCount); } public function getRequiredArguments() { return JobArgs::Conjunction( $this->pager->getRequiredArguments(), JobArgs::ARG_QUERY); } public function getRequiredPrivileges() { return new Privilege(Privilege::ListPosts); } }