function _oa_subspaces_find_view_settings in Open Atrium Subspaces 7.2
Finding the active current configuration for each is a pane in the ***.
4 calls to _oa_subspaces_find_view_settings()
- oa_subspaces_form_views_content_views_panes_content_type_edit_form_alter in ./
oa_subspaces.module - Implements hook_form_FORM_ID_alter().
- oa_subspaces_form_views_exposed_form_alter in ./
oa_subspaces.module - Implements hook_form_FORM_ID_alter().
- oa_subspaces_views_pre_view in ./
oa_subspaces.module - Implements hook_views_pre_view().
- oa_subspaces_views_query_alter in ./
oa_subspaces.module - Implements hook_views_query_alter().
File
- ./
oa_subspaces.module, line 230
Code
function _oa_subspaces_find_view_settings($view = NULL, $form_state = NULL) {
$find = array(
'og_subspaces_view_all',
'og_subspaces_view_parent',
'oa_section_ref_target_id',
'og_group_ref_target_id',
'og_group_ref_target_id_mine',
);
$return = array();
foreach ($find as $key) {
// check for a form key that always returns a value
// otherwise checkboxes (like og_subspaces_view_all) cannot be unchecked
// because they don't return any result in $_GET from browser
if (isset($_GET['og_group_ref_target_id'])) {
$return[$key] = isset($_GET[$key]) ? $_GET[$key] : NULL;
}
elseif (isset($_POST['exposed'][$key])) {
$return[$key] = $_POST['exposed'][$key];
}
elseif ($form_state && isset($form_state['values']['exposed'][$key])) {
$return[$key] = $form_state['values']['exposed'][$key];
}
elseif ($form_state && isset($form_state['values'][$key])) {
$return[$key] = $form_state['values'][$key];
}
elseif ($form_state && isset($form_state['input'][$key])) {
$return[$key] = $form_state['input'][$key];
}
elseif ($form_state && isset($form_state['conf']['exposed'][$key])) {
$return[$key] = $form_state['conf']['exposed'][$key];
}
elseif ($view && isset($view->exposed_raw_input[$key])) {
$return[$key] = $view->exposed_raw_input[$key];
}
elseif ($view && isset($view->exposed_input[$key])) {
$return[$key] = $view->exposed_input[$key];
}
elseif ($view && isset($view->display_handler->options['pane_conf'][$key])) {
$return[$key] = $view->display_handler->options['pane_conf'][$key];
}
else {
$return[$key] = FALSE;
}
if ($return[$key] === 'All' || !is_numeric($return[$key])) {
$return[$key] = FALSE;
}
}
if (!empty($return['og_group_ref_target_id_mine'])) {
$return['og_group_ref_target_id'] = FALSE;
$return['og_subspaces_view_all'] = FALSE;
$return['og_subspaces_view_parent'] = FALSE;
}
elseif (isset($return['og_group_ref_target_id']) && (empty($return['og_group_ref_target_id']) || $return['og_group_ref_target_id'] == OA_SPACE_CURRENT)) {
if ($group = oa_core_get_space_context()) {
$return['og_group_ref_target_id'] = $group;
}
}
return $return;
}