You are here

function spaces_handler_filter_spaces_feature::query in Spaces 6.2

Same name and namespace in other branches
  1. 6.3 includes/spaces_handler_filter_spaces_feature.inc \spaces_handler_filter_spaces_feature::query()
  2. 6 includes/spaces_handler_filter_spaces_feature.inc \spaces_handler_filter_spaces_feature::query()
  3. 7.3 includes/spaces_handler_filter_spaces_feature.inc \spaces_handler_filter_spaces_feature::query()
  4. 7 includes/spaces_handler_filter_spaces_feature.inc \spaces_handler_filter_spaces_feature::query()

File

includes/spaces_handler_filter_spaces_feature.inc, line 15

Class

spaces_handler_filter_spaces_feature
Filter to only show node types associated with current feature.

Code

function query() {
  $contexts = context_active_contexts();
  $types = array();
  foreach ($contexts as $context) {
    if (!empty($context->node)) {
      $types = array_merge($types, $context->node);
    }
  }
  $types = drupal_map_assoc($types);
  if (!empty($types)) {
    $placeholders = db_placeholders($types, 'varchar');
    if (!empty($this->relationship)) {
      $table = $this->relationship;
    }
    else {
      $table = $this->query
        ->ensure_table('node');
    }
    $this->query
      ->add_where($this->options['group'], "{$table}.type IN ({$placeholders})", $types);
  }
}