gforge-commits
[Top][All Lists]
Advanced

[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 ---





reply via email to

[Prev in Thread] Current Thread [Next in Thread]