You are here

function nodequeue_handler_filter_exclusion in Nodequeue 5.2

1 string reference to 'nodequeue_handler_filter_exclusion'
nodequeue_views_tables in ./nodequeue.views.inc
Implementation of hook_views_tables()

File

./nodequeue.views.inc, line 470
nodequeue.views.inc Provides support for the Views module.

Code

function nodequeue_handler_filter_exclusion($op, $filter, $filterinfo, &$query) {
  $table = $filterinfo['table'];
  $column = $filterinfo['field'];
  $value = $filter['value'];
  $joininfo = array(
    'type' => 'LEFT',
    'left' => array(
      'table' => 'node',
      'field' => 'nid',
    ),
    'right' => array(
      'field' => 'nid',
    ),
  );

  // If we're just checking for one queue, add the qid to our join info.
  if (!empty($value)) {
    $joininfo['extra']['qid'] = $value;
  }
  $num = $query
    ->add_table($table, true, 1, $joininfo);
  $tablename = $query
    ->get_table_name($table, $num);
  $field = "{$tablename}.{$column}";
  $query
    ->add_where("{$field} IS NULL");
}