function skinr_ui_filter_form_submit in Skinr 8.2
Same name and namespace in other branches
- 6.2 skinr_ui.admin.inc \skinr_ui_filter_form_submit()
- 7.2 skinr_ui.admin.inc \skinr_ui_filter_form_submit()
Form submission handler for skinr_ui_filter_form().
2 string references to 'skinr_ui_filter_form_submit'
- skinr_context_ui_admin_list in skinr_context/
skinr_context_ui.admin.inc - Menu callback: skin configuration groups administration.
- skinr_context_ui_admin_skin_list in skinr_context/
skinr_context_ui.admin.inc - Overrides skinr_ui_list().
File
- skinr_ui/
skinr_ui.admin.inc, line 302 - Admin page callbacks for the Skinr UI module.
Code
function skinr_ui_filter_form_submit($form, &$form_state) {
$filters_callback = $form_state['#callback'];
$filters = $filters_callback();
switch ($form_state['values']['op']) {
case t('Filter'):
case t('Refine'):
// Apply every filter that has a choice selected other than 'any'.
foreach ($filters as $filter => $options) {
if (isset($form_state['values'][$filter]) && $form_state['values'][$filter] != '[any]') {
// Flatten the options array to accommodate hierarchical/nested options.
$flat_options = form_options_flatten($filters[$filter]['options']);
// Only accept valid selections offered on the dropdown, block bad input.
if (isset($flat_options[$form_state['values'][$filter]])) {
$_SESSION[$filters_callback][] = array(
$filter,
$form_state['values'][$filter],
);
}
}
}
break;
case t('Undo'):
array_pop($_SESSION[$filters_callback]);
break;
case t('Reset'):
$_SESSION[$filters_callback] = array();
break;
}
}