You are here

public function views_handler_sort_search_score::query in Views (for Drupal 7) 7.3

Same name and namespace in other branches
  1. 6.3 modules/search/views_handler_sort_search_score.inc \views_handler_sort_search_score::query()
  2. 6.2 modules/search/views_handler_sort_search_score.inc \views_handler_sort_search_score::query()

Called to add the sort to a query.

Overrides views_handler_sort::query

File

modules/search/views_handler_sort_search_score.inc, line 18
Definition of views_handler_sort_search_score.

Class

views_handler_sort_search_score
Field handler to provide simple renderer that allows linking to a node.

Code

public function query() {

  // Check to see if the search filter/argument added 'score' to the table.
  // Our filter stores it as $handler->search_score -- and we also need to
  // check its relationship to make sure that we're using the same one or
  // obviously this won't work.
  foreach (array(
    'filter',
    'argument',
  ) as $type) {
    foreach ($this->view->{$type} as $handler) {
      if (isset($handler->search_score) && $handler->relationship == $this->relationship) {
        $this->query
          ->add_orderby(NULL, NULL, $this->options['order'], $handler->search_score);
        $this->table_alias = $handler->table_alias;
        return;
      }
    }
  }

  // Do absolutely nothing if there is no filter/argument in place; there is
  // no reason to sort on the raw scores with this handler.
}