You are here

class spaces_handler_filter_spaces_current in Spaces 6

Same name and namespace in other branches
  1. 6.3 includes/spaces_handler_filter_spaces_current.inc \spaces_handler_filter_spaces_current
  2. 6.2 includes/spaces_handler_filter_spaces_current.inc \spaces_handler_filter_spaces_current
  3. 7.3 includes/spaces_handler_filter_spaces_current.inc \spaces_handler_filter_spaces_current
  4. 7 includes/spaces_handler_filter_spaces_current.inc \spaces_handler_filter_spaces_current

Spaces view filter handler.

Hierarchy

Expanded class hierarchy of spaces_handler_filter_spaces_current

1 string reference to 'spaces_handler_filter_spaces_current'
spaces_views_data in includes/spaces.views.inc
Implementation of hook_views_data(). Adds a meta-filter that provides a layer of abstraction that delegates actual filtering to the implementing space type modules.

File

includes/spaces_handler_filter_spaces_current.inc, line 5

View source
class spaces_handler_filter_spaces_current extends views_handler_filter {

  /**
   * Meta query handler which delegates query building to the
   * implementing spaces.
   */
  function query() {
    $space = spaces_get_space();
    if ($space) {
      $space
        ->views_filter(TRUE, $this->view->query);
    }
    else {
      if ($this->options['operator'] === 'all') {
        $types = spaces_types();
        foreach ($types as $type => $info) {
          call_user_func(array(
            $info['class'],
            'views_filter',
          ), FALSE, $this->view->query);
        }
      }
    }
  }

  /**
   * Provide a form for setting the operator.
   *
   * This may be overridden by child classes, and it must
   * define $form['operator'];
   */
  function operator_form(&$form, &$form_state) {
    $options = $this
      ->operator_options();
    if (!empty($options)) {
      $form['operator'] = array(
        '#type' => 'select',
        '#title' => t('When not in a space'),
        '#default_value' => $this->operator,
        '#options' => $options,
        '#description' => t('Helpful if you want to use this view both inside and out of spaces.'),
      );
    }
  }

  /**
   * Provide filter application conditions.
   */
  function operator_options() {
    return array(
      'all' => t('Hide all results'),
      'active' => t('Show all results'),
    );
  }

}

Members

Namesort descending Modifiers Type Description Overrides
spaces_handler_filter_spaces_current::operator_form function Provide a form for setting the operator.
spaces_handler_filter_spaces_current::operator_options function Provide filter application conditions.
spaces_handler_filter_spaces_current::query function Meta query handler which delegates query building to the implementing spaces.