/** * Example function for a customised search, demonstrating usage of * the google_appliance_search() $options parameter * * @param $client * Which front end to use (NULL for default) * @param $collection * Which collection to search (NULL for default) * @param $terms * One or more term ids (comma-separated list) * @param $types * One or more content types (comma-separated list) * @param $keys * Search string */ function example_search($client = NULL, $collection = NULL, $terms = NULL, $types = NULL, $keys = NULL) { $output = ""; if (!isset($_POST['form_id'])) { $options = array(); $requiredfields = array(); $vocabs = taxonomy_get_vocabularies(); foreach (explode(',', $terms) as $tid) { if ($term = taxonomy_get_term($tid)) { $category = google_appliance_sgml_id_name('category-'. strtolower($vocabs[$term->vid]->name)); $requiredfields[] = $category .':'. rawurlencode($term->name); } } foreach (explode(',', $types) as $type) { $requiredfields[] = 'type:'. rawurlencode($type); } if ($requiredfields) { $options['requiredfields'] = implode('.', $requiredfields); //'.' == AND; '|' == OR } if ($options || $keys) { if ($results = google_appliance_search('search', $keys, $options, $collection, $client)) { $output .= theme('box', t('Search results'), theme('search_results', $results, 'google-appliance')); } else { $message = variable_get('google_appliance_errorcode_1', t('Your search yielded no results')); } } } return $output; }