You are here

function _search_api_sorts_get_default_sort in Search API sorts 7

Helper function to get the default sort field.

2 calls to _search_api_sorts_get_default_sort()
search_api_sorts_block_search_sorts_view in ./search_api_sorts.module
View the "Search sorts" block.
search_api_sorts_search_api_query_alter in ./search_api_sorts.module
Implements hook_search_api_query_alter().

File

./search_api_sorts.module, line 371
Create sort options for search queries executed via the Search API.

Code

function _search_api_sorts_get_default_sort($search_sorts, $keys = NULL) {

  // By default use relevance, which will be overridden when defaults are set.
  $default_sort = (object) array(
    'field' => 'search_api_relevance',
    'name' => t('Relevance'),
    'default_order' => 'desc',
    'active' => TRUE,
  );

  // If there are no keys set, return the default for no keys if set.
  if (empty($keys)) {
    foreach ($search_sorts as $sort) {
      if ($sort->default_sort_no_terms) {
        $sort->active = TRUE;
        $default_sort = $sort;
      }
    }
  }
  else {

    // Return the default if set.
    foreach ($search_sorts as $sort) {
      if ($sort->default_sort) {
        $sort->active = TRUE;
        $default_sort = $sort;
      }
    }
  }

  // Allow altering the default sort.
  drupal_alter('search_api_sorts_default_sort', $default_sort, $search_sorts, $keys);
  return $default_sort;
}