public function search(Search_SearchQuery $query, Search_SearchResults $search_results) { $dao_results = $this->dao->searchGlobalPaginated($query->getWords(), $query->getExact(), $query->getOffset(), $query->getForumId(), $query->getNumberOfResults()); $results_count = count($dao_results); $maybe_more_results = $results_count < $query->getNumberOfResults() ? false : true; $search_results->setHasMore($maybe_more_results)->setCountResults($results_count); return $this->getSearchForumResultPresenter($dao_results, $query->getWords(), $maybe_more_results); }
private function getProjectIdForSystemReference($keyword, $value) { $ref_gid = null; $nature = $this->getSystemReferenceNatureByKeyword($keyword); switch ($nature) { case self::REFERENCE_NATURE_RELEASE: $release_factory = new FRSReleaseFactory(); $release = $release_factory->getFRSReleaseFromDb($value); if ($release) { $ref_gid = $release->getProject()->getID(); } break; case self::REFERENCE_NATURE_FILE: $file_factory = new FRSFileFactory(); $file = $file_factory->getFRSFileFromDb($value); if ($file) { $ref_gid = $file->getGroup()->getID(); } break; case self::REFERENCE_NATURE_FORUM: $forum_dao = new ForumDao(); $forum_group_id_row = $forum_dao->searchByGroupForumId($value)->getRow(); if ($forum_group_id_row) { $ref_gid = $forum_group_id_row['group_id']; } break; case self::REFERENCE_NATURE_FORUMMESSAGE: $forum_dao = new ForumDao(); $message_group_id_row = $forum_dao->getMessageProjectId($value); if ($message_group_id_row) { $ref_gid = $message_group_id_row['group_id']; } break; case self::REFERENCE_NATURE_NEWS: $news_dao = new NewsBytesDao(); $news_group_id_row = $news_dao->searchByForumId($value)->getRow(); if ($news_group_id_row) { $ref_gid = $news_group_id_row['group_id']; } break; } return $ref_gid; }