Esempio n. 1
0
 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);
 }
Esempio n. 2
0
 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;
 }