You are here

function entityqueue_handler_sort_position::query in Entityqueue 7

Called to add the sort to a query.

Overrides views_handler_sort::query

File

includes/views/entityqueue_handler_sort_position.inc, line 18
Sort handler for entityqueue position.

Class

entityqueue_handler_sort_position
Sort handler for entityqueue position.

Code

function query() {
  $this
    ->ensure_my_table();
  $field_table = $this->definition['field table'];
  $field_table_alias = FALSE;
  $tables = $this->query->table_queue;
  foreach ($tables as $info) {
    if ($info['table'] == $field_table) {
      $field_table_alias = $info['alias'];
      break;
    }
  }

  // Add the field.
  if ($field_table_alias) {
    $this->query
      ->add_orderby($field_table_alias, $this->real_field, $this->options['order']);
  }
  else {
    if (user_access('administer views')) {
      $view = $this->view;
      drupal_set_message(t('In order to sort by the queue position, you need to add the Entityqueue: Queue relationship on View: @view with display: @display', array(
        '@view' => $view->name,
        '@display' => $view->current_display,
      )), 'error');
    }
  }
}