X-Git-Url: https://scm.fusionforge.org/anonscm/gitweb?p=fusionforge%2Ffusionforge.git;a=blobdiff_plain;f=src%2Fwww%2Fsearch%2Finclude%2Frenderers%2FFullProjectHtmlSearchRenderer.class.php;h=53933aca2029aa677a960da9f34f5b4c51f9ed36;hp=bac294aee1a55d087e14096b717970492211b0ae;hb=f726202fe305a6c2461c295a98fb2f374f354d95;hpb=5454e134c4ead4f9cdc7f375c6dc5d47a1707640 diff --git a/src/www/search/include/renderers/FullProjectHtmlSearchRenderer.class.php b/src/www/search/include/renderers/FullProjectHtmlSearchRenderer.class.php index bac294aee1..53933aca20 100644 --- a/src/www/search/include/renderers/FullProjectHtmlSearchRenderer.class.php +++ b/src/www/search/include/renderers/FullProjectHtmlSearchRenderer.class.php @@ -146,9 +146,29 @@ class FullProjectHtmlSearchRenderer extends HtmlGroupSearchRenderer { $html .= '
'._('Error: search query too short').'
'; } - plugin_hook('full_search_engines', $this); - $plugin = plugin_manager_get_object(); - $html .= $plugin->getReturnedValue('full_search_engines'); + // This is quite complex but the goal is to extract all the + // registered plugins to the hook 'search_engines' and call + // them. + $pluginManager = plugin_manager_get_object(); + $searchManager = getSearchManager(); + $engines = $searchManager->getAvailableSearchEngines(); + + if (isset($pluginManager->hooks_to_plugins['full_search_engines'])) { + $p_list = $pluginManager->hooks_to_plugins['full_search_engines']; + foreach ($p_list as $p_name) { + $p_obj = $pluginManager->GetPluginObject($p_name); + $name = $p_obj->text; + reset($engines); + foreach($engines as $e) { + if ($e->type == $p_name) { + $renderer = $e->getSearchRenderer($this->words, + $this->offset, $this->isExact, $this->groupId); + $html .= $this->getPartResult($renderer, 'short_'.$p_name, + sprintf(_("%s Search Results"), $name)); + } + } + } + } /* $renderer = new ForumsHtmlSearchRenderer($this->words, $this->offset, $this->isExact, $this->groupId); @@ -198,7 +218,6 @@ class FullProjectHtmlSearchRenderer extends HtmlGroupSearchRenderer { } return $result; } - } // Local Variables: