groupId = $groupId;
$this->words = $words;
$this->isExact = $isExact;
$searchQuery =& $this->searchQuery;
$this->HtmlGroupSearchRenderer(SEARCH__TYPE_IS_ADVANCED, $words, $isExact, $searchQuery, $groupId);
}
/**
* flush - overwrites the flush method from htmlrenderer
*/
function flush() {
$this->writeBody();
$this->writeFooter();
}
/**
* writeBody - write the Body of the output
*/
function writeBody() {
$title = _('Entire project search');
site_project_header(array('title' => $title, 'group' => $this->groupId));
echo '
' . $title . '
';
echo $this->getResult();
}
/**
* getResult - returns the Body of the output
*
* @return string result of all selected searches
*/
function getResult() {
$html = '';
$Group =& group_get_object($this->groupId);
if ($Group->usesForum()) {
$forumsRenderer = new ForumsHtmlSearchRenderer($this->words, $this->offset, $this->isExact, $this->groupId);
}
if ($Group->usesTracker()) {
$trackersRenderer = new TrackersHtmlSearchRenderer($this->words, $this->offset, $this->isExact, $this->groupId);
}
if ($Group->usesPM()) {
$tasksRenderer = new TasksHtmlSearchRenderer($this->words, $this->offset, $this->isExact, $this->groupId);
}
if ($Group->usesDocman()) {
$docsRenderer = new DocsHtmlSearchRenderer($this->words, $this->offset, $this->isExact, $this->groupId);
}
if ($Group->usesFRS()) {
$frsRenderer = new FrsHtmlSearchRenderer($this->words, $this->offset, $this->isExact, $this->groupId);
}
if ($Group->usesNews()) {
$newsRenderer = new NewsHtmlSearchRenderer($this->words, $this->offset, $this->isExact, $this->groupId);
}
$validLength = (strlen($this->words) >= 3);
if (isset($trackersRenderer) && ($validLength || (is_numeric($this->words) && $trackersRenderer->searchQuery->implementsSearchById()))) {
$html .= $this->getPartResult($trackersRenderer, 'short_tracker', _('Tracker Search Results'));
}
if (isset($forumsRenderer) && ($validLength || (is_numeric($this->words) && $forumsRenderer->searchQuery->implementsSearchById()))) {
$html .= $this->getPartResult($forumsRenderer, 'short_forum', _('Forum Search Results'));
}
if (isset($tasksRenderer) && ($validLength || (is_numeric($this->words) && $tasksRenderer->searchQuery->implementsSearchById()))) {
$html .= $this->getPartResult($tasksRenderer, 'short_pm', _('Task Search Results'));
}
if (isset($docsRenderer) && ($validLength || (is_numeric($this->words) && $docsRenderer->searchQuery->implementsSearchById()))) {
$html .= $this->getPartResult($docsRenderer, 'short_docman', _('Documentation Search Results'));
}
if (isset($frsRenderer) && ($validLength || (is_numeric($this->words) && $frsRenderer->searchQuery->implementsSearchById()))) {
$html .= $this->getPartResult($frsRenderer, 'short_files', _('Files Search Results'));
}
if (isset($newsRenderer) && ($validLength || (is_numeric($this->words) && $newsRenderer->searchQuery->implementsSearchById()))) {
$html .= $this->getPartResult($newsRenderer, 'short_news', _('News Search Results'));
}
/*
$renderer = new ForumsHtmlSearchRenderer($this->words, $this->offset, $this->isExact, $this->groupId);
$html .= $this->getPartResult($renderer, 'short_forum', _('Forum Search Results'));
$renderer = new TrackersHtmlSearchRenderer($this->words, $this->offset, $this->isExact, $this->groupId);
$html .= $this->getPartResult($renderer, 'short_tracker', _('Tracker Search Results'));
$renderer = new TasksHtmlSearchRenderer($this->words, $this->offset, $this->isExact, $this->groupId);
$html .= $this->getPartResult($renderer, 'short_pm', _('Task Search Results'));
$renderer = new DocsHtmlSearchRenderer($this->words, $this->offset, $this->isExact, $this->groupId);
$html .= $this->getPartResult($renderer, 'short_docman', _('Documentation Search Results'));
$renderer = new FrsHtmlSearchRenderer($this->words, $this->offset, $this->isExact, $this->groupId);
$html .= $this->getPartResult($renderer, 'short_files', _('Files Search Results'));
$renderer = new NewsHtmlSearchRenderer($this->words, $this->offset, $this->isExact, $this->groupId);
$html .= $this->getPartResult($renderer, 'short_news', _('News Search Results'));
*/
return $html.'
';
}
/**
* getPartResult - returns the result of the given renderer
*
* @return string result of the renderer
*/
function getPartResult($renderer, $section, $title='') {
$result = '';
$renderer->searchQuery->executeQuery();
$query = NULL;
if ($title === '')
$title = $section;
$result .= ''.$title.'
';
if ($renderer->searchQuery->getRowsCount() > 0) {
$result .= $GLOBALS['HTML']->listTabletop($renderer->tableHeaders);
$result .= $renderer->getRows();
$result .= $GLOBALS['HTML']->listTableBottom();
} elseif(method_exists($renderer, 'getSections') && (count($renderer->getSections($this->groupId)) == 0)) {
$result .= ''.sprintf(_('No matches found - No sections available (check your permissions)'), htmlspecialchars($query['words'])).'
';
} else {
$result .= ''.sprintf(_('No matches found'), htmlspecialchars($query['words'])).'
';
}
return $result;
}
}
// Local Variables:
// mode: php
// c-file-style: "bsd"
// End:
?>