summaryrefslogtreecommitdiff
path: root/modules/search
diff options
context:
space:
mode:
Diffstat (limited to 'modules/search')
-rw-r--r--modules/search/search.module23
1 files changed, 6 insertions, 17 deletions
diff --git a/modules/search/search.module b/modules/search/search.module
index 7e8d21d44..282aef95d 100644
--- a/modules/search/search.module
+++ b/modules/search/search.module
@@ -168,30 +168,19 @@ function search_menu() {
foreach (module_implements('search') as $name) {
$items['search/'. $name] = array(
+ 'title' => module_invoke($name, 'search', 'name', TRUE),
'page callback' => 'search_view',
'page arguments' => array($name),
- 'access callback' => FALSE,
- 'type' => MENU_LOCAL_TASK,
+ 'access callback' => '_search_menu',
+ 'access arguments' => array($name),
+ 'type' => $name == 'node' ? MENU_DEFAULT_LOCAL_TASK : MENU_LOCAL_TASK,
);
}
return $items;
}
-function search_init() {
- // To remember the user's search keywords when switching across tabs,
- // we dynamically add the keywords to the search tabs' paths.
- if (arg(0) == 'search') {
- $keys = search_get_keys();
- $keys = strlen($keys) ? '/'. $keys : '';
- foreach (module_implements('search') as $name) {
- $title = module_invoke($name, 'search', 'name');
- $item = menu_get_item('search/'. $name);
- $item->title = $title;
- $item->access = user_access('search content') && $title;
- menu_set_item('search/'. $name, $item);
- menu_set_item('search/'. $name . $keys, $item);
- }
- }
+function _search_menu($name) {
+ return user_access('search content') && module_invoke($name, 'search', 'name');
}
/**