You are here

function spaces_handler_filter_spaces_feature::query in Spaces 6

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.2 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 7

Class

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

Code

function query() {
  $feature = context_get('spaces', 'feature');
  if ($feature) {
    $features = spaces_features();
    $feature = $features[$feature];
    if (!empty($feature->node)) {
      $types = $feature->node;
      $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);
    }
  }
}