function oa_subspaces_views_pre_view in Open Atrium Subspaces 7.2
Implements hook_views_pre_view().
File
- ./
oa_subspaces.module, line 288
Code
function oa_subspaces_views_pre_view(&$view) {
// If we are in a View where a specific group is being filtered for in an
// exposed filter (as opposed to selecting '- Any -' or '- Active Space -').
$style_setting = !empty($view->display_handler->options['pane_conf']['view_settings']) ? $view->display_handler->options['pane_conf']['view_settings'] : (!empty($view->display_handler->options['style_plugin']) ? $view->display_handler->options['style_plugin'] : NULL);
$allowed_styles = variable_get('oa_subspaces_view_og_group_ref_styles', array(
'table',
));
if ($allowed_styles && $style_setting && in_array($style_setting, $allowed_styles) && !empty($view->display_handler->default_display->options['filters']['og_group_ref_target_id']['exposed'])) {
$settings = _oa_subspaces_find_view_settings($view);
$og_subspaces_view_all = $settings['og_subspaces_view_all'] && $settings['og_group_ref_target_id'] && oa_core_get_groups_by_parent($settings['og_group_ref_target_id']);
$og_subspaces_view_parent = $settings['og_subspaces_view_parent'] && $settings['og_group_ref_target_id'] && oa_core_get_parents($settings['og_group_ref_target_id']);
if ($og_subspaces_view_all || $og_subspaces_view_parent) {
// If parent or children filtering is turned on (and there are any parents
// or children to be found), then we add a field so we can see what group
// the content is coming from.
$view->display_handler->default_display->options['fields'] = array(
'og_group_ref' => array(
'id' => 'og_group_ref',
'table' => 'og_membership',
'field' => 'og_group_ref',
'label' => 'Space',
'settings' => array(
'link' => 1,
),
),
) + $view->display_handler->default_display->options['fields'];
}
}
}