[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gforge-commits] gforge/www/search/include DocsHtmlSearchRenderer.class,
From: |
gsmet |
Subject: |
[Gforge-commits] gforge/www/search/include DocsHtmlSearchRenderer.class, 1.1, NONE SkillHtmlSearchRenderer.class, 1.1, NONE ForumHtmlSearchRenderer.class, 1.2, NONE ArtifactHtmlSearchRenderer.class, 1.2, NONE PeopleHtmlSearchRenderer.class, 1.1, NONE HtmlSearchRenderer.class, 1.1, NONE ProjectRssSearchRenderer.class, 1.1, NONE RssSearchRenderer.class, 1.1, NONE ProjectHtmlSearchRenderer.class, 1.1, NONE HtmlGroupSearchRenderer.class, 1.1, NONE NewsHtmlSearchRenderer.class, 1.1, NONE ForumsHtmlSearchRenderer.class, 1.1, NONE SearchRenderer.class, 1.1, NONE FrsHtmlSearchRenderer.class, 1.1, NONE SearchManager.class, NONE, 1.1 TrackersHtmlSearchRenderer.class, 1.1, NONE TasksHtmlSearchRenderer.class, 1.1, NONE |
Date: |
Sat, 16 Oct 2004 11:36:34 -0500 |
Update of /cvsroot/gforge/gforge/www/search/include
In directory db.perdue.net:/tmp/cvs-serv25456/www/search/include
Added Files:
SearchManager.class
Removed Files:
DocsHtmlSearchRenderer.class SkillHtmlSearchRenderer.class
ForumHtmlSearchRenderer.class ArtifactHtmlSearchRenderer.class
PeopleHtmlSearchRenderer.class HtmlSearchRenderer.class
ProjectRssSearchRenderer.class RssSearchRenderer.class
ProjectHtmlSearchRenderer.class HtmlGroupSearchRenderer.class
NewsHtmlSearchRenderer.class ForumsHtmlSearchRenderer.class
SearchRenderer.class FrsHtmlSearchRenderer.class
TrackersHtmlSearchRenderer.class TasksHtmlSearchRenderer.class
Log Message:
Search engine reorganisation
--- DocsHtmlSearchRenderer.class DELETED ---
--- SkillHtmlSearchRenderer.class DELETED ---
--- ForumHtmlSearchRenderer.class DELETED ---
--- ArtifactHtmlSearchRenderer.class DELETED ---
--- PeopleHtmlSearchRenderer.class DELETED ---
--- HtmlSearchRenderer.class DELETED ---
--- ProjectRssSearchRenderer.class DELETED ---
--- RssSearchRenderer.class DELETED ---
--- ProjectHtmlSearchRenderer.class DELETED ---
--- HtmlGroupSearchRenderer.class DELETED ---
--- NewsHtmlSearchRenderer.class DELETED ---
--- ForumsHtmlSearchRenderer.class DELETED ---
--- SearchRenderer.class DELETED ---
--- FrsHtmlSearchRenderer.class DELETED ---
--- NEW FILE: SearchManager.class ---
<?php
/**
* GForge Search Engine
*
* Copyright 2004 (c) Guillaume Smet
*
* http://gforge.org
*
* @version $Id: SearchManager.class,v 1.1 2004/10/16 16:36:32 gsmet Exp $
*/
require_once('www/search/include/engines/GroupSearchEngine.class');
require_once('www/search/include/engines/ArtifactSearchEngine.class');
require_once('www/search/include/engines/ForumSearchEngine.class');
function & getSearchManager() {
if(!isset($GLOBALS['OBJ_SEARCH_MANAGER'])) {
$GLOBALS['OBJ_SEARCH_MANAGER'] =& new SearchManager();
}
return $GLOBALS['OBJ_SEARCH_MANAGER'];
}
class SearchManager {
var $searchEngines = array();
var $parameters = array();
var $parametersValues = array();
function SearchManager() {
$this->loadSearchEngines();
$this->loadParameters();
}
function setParametersValues($parametersValues) {
for($i = 0, $max = count($this->parameters); $i < $max; $i++) {
if(isset($parametersValues[$this->parameters[$i]])) {
$this->parametersValues[$this->parameters[$i]]
= (int) $parametersValues[$this->parameters[$i]];
}
}
}
function getParameters() {
return $this->parametersValues;
}
function addSearchEngine($type, &$searchEngine, $format =
SEARCH__OUTPUT_HTML) {
$this->searchEngines[$format][$type] =& $searchEngine;
}
function addParameter($parameterName) {
if(!in_array($parameterName, $this->parameters)) {
$this->parameters[] = $parameterName;
}
}
function & getAvailableSearchEngines($format = SEARCH__OUTPUT_HTML) {
$availableSearchEngines = array();
if(isset($this->searchEngines[$format])) {
$searchEngines = $this->searchEngines[$format];
foreach($this->searchEngines[$format] AS $type =>
$searchEngine) {
if($searchEngine->isAvailable($this->parametersValues)) {
$availableSearchEngines[] =
$searchEngine;
}
}
}
return $availableSearchEngines;
}
function getSearchRenderer($typeOfSearch, $words, $offset, $exact,
$format = SEARCH__OUTPUT_HTML) {
if(isset($this->searchEngines[$format]) &&
isset($this->searchEngines[$format][$typeOfSearch])) {
$searchEngine =&
$this->searchEngines[$format][$typeOfSearch];
if($searchEngine->isAvailable($this->parametersValues))
{
return $searchEngine->getSearchRenderer($words,
$offset, $exact, $this->parametersValues);
}
}
return false;
}
function loadSearchEngines() {
global $Language;
// Specific search engines
$this->addSearchEngine(
SEARCH__TYPE_IS_ARTIFACT,
new ArtifactSearchEngine()
);
$this->addSearchEngine(
SEARCH__TYPE_IS_FORUM,
new ForumSearchEngine()
);
// Project search engines
$this->addSearchEngine(
SEARCH__TYPE_IS_TRACKERS,
new GroupSearchEngine(SEARCH__TYPE_IS_TRACKERS,
'TrackersHtmlSearchRenderer', $Language->getText('searchbox','trackers'))
);
$this->addSearchEngine(
SEARCH__TYPE_IS_FORUMS,
new GroupSearchEngine(SEARCH__TYPE_IS_FORUMS,
'ForumsHtmlSearchRenderer', $Language->getText('searchbox','forums'))
);
$this->addSearchEngine(
SEARCH__TYPE_IS_TASKS,
new GroupSearchEngine(SEARCH__TYPE_IS_TASKS,
'TasksHtmlSearchRenderer', $Language->getText('searchbox','tasks'))
);
$this->addSearchEngine(
SEARCH__TYPE_IS_FRS,
new GroupSearchEngine(SEARCH__TYPE_IS_FRS,
'FrsHtmlSearchRenderer', $Language->getText('searchbox','frs'))
);
$this->addSearchEngine(
SEARCH__TYPE_IS_DOCS,
new GroupSearchEngine(SEARCH__TYPE_IS_DOCS,
'DocsHtmlSearchRenderer', $Language->getText('searchbox','docs'))
);
$this->addSearchEngine(
SEARCH__TYPE_IS_NEWS,
new GroupSearchEngine(SEARCH__TYPE_IS_NEWS,
'NewsHtmlSearchRenderer', $Language->getText('searchbox','news'))
);
// Global search engine
$this->addSearchEngine(
SEARCH__TYPE_IS_SOFTWARE,
new SearchEngine(SEARCH__TYPE_IS_SOFTWARE,
'ProjectHtmlSearchRenderer', $Language->getText('searchbox','softwaregroup'))
);
$this->addSearchEngine(
SEARCH__TYPE_IS_PEOPLE,
new SearchEngine(SEARCH__TYPE_IS_PEOPLE,
'PeopleHtmlSearchRenderer', $Language->getText('searchbox','people'))
);
$this->addSearchEngine(
SEARCH__TYPE_IS_SKILL,
new SearchEngine(SEARCH__TYPE_IS_SKILL,
'SkillHtmlSearchRenderer', $Language->getText('searchbox','skill'))
);
// Rss search engines
$this->addSearchEngine(
SEARCH__TYPE_IS_SOFTWARE,
new SearchEngine(SEARCH__TYPE_IS_SOFTWARE,
'ProjectRssSearchRenderer', $Language->getText('searchbox','softwaregroup')),
SEARCH__OUTPUT_RSS
);
}
function loadParameters() {
$this->parameters = array(
SEARCH__PARAMETER_GROUP_ID,
SEARCH__PARAMETER_ARTIFACT_ID,
SEARCH__PARAMETER_FORUM_ID,
SEARCH__PARAMETER_GROUP_PROJECT_ID
);
}
}
--- TrackersHtmlSearchRenderer.class DELETED ---
--- TasksHtmlSearchRenderer.class DELETED ---
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gforge-commits] gforge/www/search/include DocsHtmlSearchRenderer.class, 1.1, NONE SkillHtmlSearchRenderer.class, 1.1, NONE ForumHtmlSearchRenderer.class, 1.2, NONE ArtifactHtmlSearchRenderer.class, 1.2, NONE PeopleHtmlSearchRenderer.class, 1.1, NONE HtmlSearchRenderer.class, 1.1, NONE ProjectRssSearchRenderer.class, 1.1, NONE RssSearchRenderer.class, 1.1, NONE ProjectHtmlSearchRenderer.class, 1.1, NONE HtmlGroupSearchRenderer.class, 1.1, NONE NewsHtmlSearchRenderer.class, 1.1, NONE ForumsHtmlSearchRenderer.class, 1.1, NONE SearchRenderer.class, 1.1, NONE FrsHtmlSearchRenderer.class, 1.1, NONE SearchManager.class, NONE, 1.1 TrackersHtmlSearchRenderer.class, 1.1, NONE TasksHtmlSearchRenderer.class, 1.1, NONE,
gsmet <=
- Prev by Date:
[Gforge-commits] gforge/www/search/include/engines GroupSearchEngine.class, NONE, 1.1 ForumSearchEngine.class, NONE, 1.1 SearchEngine.class, NONE, 1.1 ArtifactSearchEngine.class, NONE, 1.1
- Next by Date:
[Gforge-commits] gforge/www/search index.php,1.14,1.15
- Previous by thread:
[Gforge-commits] gforge/www/search/include/engines GroupSearchEngine.class, NONE, 1.1 ForumSearchEngine.class, NONE, 1.1 SearchEngine.class, NONE, 1.1 ArtifactSearchEngine.class, NONE, 1.1
- Next by thread:
[Gforge-commits] gforge/www/search index.php,1.14,1.15
- Index(es):