diff options
Diffstat (limited to 'engine')
-rw-r--r-- | engine/lib/entities.php | 17 | ||||
-rw-r--r-- | engine/lib/search.php | 48 |
2 files changed, 50 insertions, 15 deletions
diff --git a/engine/lib/entities.php b/engine/lib/entities.php index d0935adf2..c8457ca39 100644 --- a/engine/lib/entities.php +++ b/engine/lib/entities.php @@ -2352,19 +2352,6 @@ }
}
-/**
- * Page handler for search
- *
- * @param array $page Page elements from pain page handler
- */
- function search_page_handler($page) {
- if (isset($page[0])) {
- global $CONFIG;
- set_input('tag',$page[0]);
- include_once($CONFIG->path . "search/index.php");
- }
- }
-
/**
* Returns a viewable list of entities based on the registered types
*
@@ -2771,9 +2758,9 @@ * Entities init function; establishes the page handler
*
*/
- function entities_init() {
+ function entities_init() + {
register_page_handler('view','entities_page_handler');
- register_page_handler('search','search_page_handler');
// Allow a permission override for recursive entity deletion
// TODO: Can this be done better?
diff --git a/engine/lib/search.php b/engine/lib/search.php new file mode 100644 index 000000000..01ba7b907 --- /dev/null +++ b/engine/lib/search.php @@ -0,0 +1,48 @@ +<?php + /** + * Elgg search helper functions. + * + * @package Elgg + * @subpackage Core + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 + * @author Curverider Ltd <info@elgg.com> + * @copyright Curverider Ltd 2008-2009 + * @link http://elgg.org/ + */ + + /** + * Initialise search helper functions. + * + */ + function search_init() + { + register_page_handler('search','search_page_handler'); + } + + /** + * Page handler for search + * + * @param array $page Page elements from pain page handler + */ + function search_page_handler($page) + { + global $CONFIG; + + if (isset($page[0])) { + switch ($page[0]) { + case 'user' : + case 'users' : include_once($CONFIG->path . "search/users.php"); break; + + case 'group' : + case 'groups' : include_once($CONFIG->path . "search/groups.php"); break; + + default: include_once($CONFIG->path . "search/index.php"); + } + } + else + include_once($CONFIG->path . "search/index.php"); + } + + /** Register init system event **/ + register_elgg_event_handler('init','system','search_init'); +?>
\ No newline at end of file |