function og_subgroups_views_handler_filter_og_group_nid_override::value_form in Subgroups for Organic groups 6
File
- modules/
og_subgroups_views/ includes/ og_subgroups_views_handler_filter_og_group_nid_override.inc, line 60 - This file overrides the og_views_handler_filter_og_group_nid handler in order to provide support for OG Subgroups.
Class
- og_subgroups_views_handler_filter_og_group_nid_override
- @file This file overrides the og_views_handler_filter_og_group_nid handler in order to provide support for OG Subgroups.
Code
function value_form(&$form, &$form_state) {
if (!$this
->select_type_is_hierarchical_select()) {
parent::value_form($form, $form_state);
}
else {
$optional = $this->options['expose']['optional'];
$view_name = $this->view->name;
$filter_id = $this->options['id'];
$display_id = _og_subgroup_hs_get_display_id_for_filter($this->view, $filter_id);
$identifier = $this->options['expose']['identifier'];
$default_value = !empty($this->view->exposed_input) ? $this->view->exposed_input[$identifier] : array();
// Basic settings for the form item.
$form['value']['#type'] = 'hierarchical_select';
$form['value']['#default_value'] = $default_value;
$form['value']['#required'] = !(bool) $optional;
$form['value']['#config'] = array(
'module' => 'og_subgroups_hs',
'params' => array(
'nid' => NULL,
'optional' => (bool) $optional,
),
'special_items' => array(
OG_SUBGROUPS_HS_ANY_OPTION => array(
'none',
'exclusive',
),
),
'render_flat_select' => 1,
'path' => "og_subgroups_hs_views_json/{$view_name}/{$display_id}",
'resizable' => 0,
);
// When not exposed: settings form.
if (empty($form_state['exposed'])) {
$default_value = isset($this->value) && !empty($this->value) ? $this->value : array();
$form['value']['#config']['render_flat_select'] = 0;
$form['value']['#config']['params']['optional'] = 0;
$form['value']['#config']['special_items'] = array();
$form['value']['#default_value'] = $default_value;
// Add the dropbox to the HS widget in the filter settings form.
$form['value']['#config']['dropbox'] = array(
'status' => 1,
'title' => t('Groups to filter by'),
);
}
}
}