You are here

function emfield_views_handler_filter_provider in Embedded Media Field 6.2

Same name and namespace in other branches
  1. 5 emfield.module \emfield_views_handler_filter_provider()
  2. 6.3 deprecated/emfield-deprecated.inc \emfield_views_handler_filter_provider()
  3. 6 emfield.module \emfield_views_handler_filter_provider()

Views handler for the provider list filter.

File

./emfield.module, line 685
Embedded Media Field is a CCK-based framework for 3rd party media files.

Code

function emfield_views_handler_filter_provider($op, $filter, $filterinfo, &$query) {
  if ($op == 'handler') {
    $query
      ->ensure_table($filterinfo['table']);
    if ($filter['operator'] == 'OR') {
      foreach ($filter['value'] as $provider) {
        $items[] = "%s.%s = '{$provider}'";
        $where[] = $filterinfo['table'];
        $where[] = $filterinfo['content_db_info']['columns']['provider']['column'];
      }
      $qs = implode(' OR ', $items);
    }
    else {
      foreach ($filter['value'] as $provider) {
        $items[] = "%s.%s <> '{$provider}'";
        $where[] = $filterinfo['table'];
        $where[] = $filterinfo['content_db_info']['columns']['provider']['column'];
      }
      $qs = implode(' AND ', $items);
    }
    $query
      ->add_where($qs, $where);
  }
}