function commons_search_search_form_submit in Drupal Commons 7.3
Search form submit handler. Add group id filter if appropriate.
File
- modules/
commons/ commons_search/ commons_search.module, line 99
Code
function commons_search_search_form_submit($form, &$form_state) {
if ($form_state['values']['custom_search_types'] == 'o-commons_search' && isset($form_state['search_group_id'])) {
$keys = $form_state['values']['search_block_form'];
if (module_exists('apachesolr_search')) {
// Add on a filter to the solr query to only list results within the
// specified group.
$qm = strpos($form_state['redirect'], '?') !== FALSE ? '' : '?';
$form_state['redirect'] .= $qm . '&f[1]=sm_og_group_ref:node:' . $form_state['search_group_id'];
}
else {
// Using core search to search within a group doesn't work, so we simply
// use a view with exposed search terms to do the searching.
drupal_goto('search/group/' . $form_state['search_group_id'], array(
'query' => array(
'keys' => $keys,
),
));
}
}
else {
if ($form_state['values']['custom_search_types'] == 'c-user') {
// Force update the redirect on User search since Custom Search is weird.
$keys = check_plain($form_state['values']['search_block_form']);
$form_state['redirect'] = 'search/user/' . $keys;
}
}
}