/** * Recursive helper for _getMergedArray. */ function &_getMergedPhraseResults(&$journal, &$phrase, $type, $publishedFrom, $publishedTo, $resultsPerKeyword, $resultCacheHours) { if (isset($phrase['+'])) { $mergedResults =& ArticleSearch::_getMergedKeywordResults($journal, $phrase, $type, $publishedFrom, $publishedTo, $resultsPerKeyword, $resultCacheHours); return $mergedResults; } $mergedResults = array(); $articleSearchDao =& DAORegistry::getDAO('ArticleSearchDAO'); $results =& $articleSearchDao->getPhraseResults($journal, $phrase, $publishedFrom, $publishedTo, $type, $resultsPerKeyword, $resultCacheHours); while (!$results->eof()) { $result =& $results->next(); $articleId = $result['article_id']; if (!isset($mergedResults[$articleId])) { $mergedResults[$articleId] = $result['count']; } else { $mergedResults[$articleId] += $result['count']; } } return $mergedResults; }