You are here

function similarterms_handler_sort_similar::query in Similar By Terms 6.2

Same name and namespace in other branches
  1. 7.2 views/similarterms_handler_sort_similar.inc \similarterms_handler_sort_similar::query()

File

views/similarterms_handler_sort_similar.inc, line 13

Class

similarterms_handler_sort_similar

Code

function query() {

  // Check whether it's views3 or views2.
  if (version_compare(views_api_version(), '3.0-alpha1', '>=')) {
    $params = array(
      'function' => 'count',
    );

    // Add a COUNT(nid) and sort by it.
    $this->query
      ->add_orderby('node', 'nid', $this->options['order'], NULL, $params);
  }
  else {

    // add function to count nid occurrences based on grouping
    $this->query
      ->add_field(NULL, 'COUNT(node.nid)', 'node_count', array(
      'aggregate' => TRUE,
    ));

    // sort 'em
    $this->query
      ->add_orderby(NULL, NULL, $this->options['order'], 'node_count');

    // group 'em
    $this->query
      ->add_groupby('nid');
  }
}