You are here

class spaces_handler_filter_spaces_feature 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
  2. 6 includes/spaces_handler_filter_spaces_feature.inc \spaces_handler_filter_spaces_feature
  3. 7.3 includes/spaces_handler_filter_spaces_feature.inc \spaces_handler_filter_spaces_feature
  4. 7 includes/spaces_handler_filter_spaces_feature.inc \spaces_handler_filter_spaces_feature

Filter to only show node types associated with current feature.

Hierarchy

Expanded class hierarchy of spaces_handler_filter_spaces_feature

1 string reference to 'spaces_handler_filter_spaces_feature'
spaces_views_data_alter in includes/spaces.views.inc
Implementation of hook_views_data_alter().

File

includes/spaces_handler_filter_spaces_feature.inc, line 6

View source
class spaces_handler_filter_spaces_feature extends views_handler_filter {

  /**
   * override can_expose()
   */
  function can_expose() {
    return FALSE;
  }
  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);
    }
  }

}

Members