You are here

function advanced_help_search_view in Advanced Help 6

Same name and namespace in other branches
  1. 5 advanced_help.module \advanced_help_search_view()
  2. 7 advanced_help.module \advanced_help_search_view()

Page callback for advanced help search.

1 string reference to 'advanced_help_search_view'
advanced_help_menu in ./advanced_help.module
Implements hook_menu().

File

./advanced_help.module, line 126
Pluggable system to provide advanced help facilities for Drupal and modules.

Code

function advanced_help_search_view() {
  if (!module_exists('search')) {
    return MENU_NOT_FOUND;
  }
  $breadcrumb[] = advanced_help_l(t('Help'), 'admin/advanced_help');
  if (!isset($_POST['form_id'])) {
    $keys = search_get_keys();

    // Only perform search if there is non-whitespace search term:
    $results = '';
    if (trim($keys)) {

      // Collect the search results:
      $results = search_data($keys, 'advanced_help');
      if ($results) {
        $results = theme('box', t('Search results'), $results);
      }
      else {
        $results = theme('box', t('Your search yielded no results'), search_help('search#noresults', drupal_help_arg()));
      }
    }

    // Construct the search form.
    $output = drupal_get_form('advanced_help_search_form', $keys);
    $output .= $results;
  }
  else {
    $output = drupal_get_form('advanced_help_search_form', empty($keys) ? '' : $keys);
  }
  $popup = !empty($_GET['popup']) && user_access('view advanced help popup');
  if ($popup) {

    // Prevent devel module from spewing.
    $GLOBALS['devel_shutdown'] = FALSE;

    // Suppress admin_menu.
    module_invoke('admin_menu', 'suppress');
    drupal_set_breadcrumb(array_reverse($breadcrumb));
    print theme('advanced_help_popup', $output);
    return;
  }
  $breadcrumb = array_merge(drupal_get_breadcrumb(), array_reverse($breadcrumb));
  drupal_set_breadcrumb($breadcrumb);
  return $output;
}