function notifications_manage_subscriptions_filter_form_submit in Notifications 7
Process result from node administration filter form.
2 string references to 'notifications_manage_subscriptions_filter_form_submit'
- notifications_account_manage_subscriptions_form in notifications_account/
notifications_account.pages.inc - Menu callback: user subscriptions management
- notifications_admin_manage_subscriptions in ./
notifications.admin.inc - Menu callback: subscriptions administration.
File
- ./
notifications.manage.inc, line 390 - Common functions for bulk management of subscriptions
Code
function notifications_manage_subscriptions_filter_form_submit($form, &$form_state) {
$filters = notifications_manage_subscriptions_filters();
$triggering_element = isset($form_state['triggering_element']['#name']) ? $form_state['triggering_element']['#name'] : '';
switch ($triggering_element) {
case 'filter':
case '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['subscriptions_overview_filter'][] = array(
$filter,
$form_state['values'][$filter],
);
}
}
}
break;
case 'undo':
array_pop($_SESSION['subscriptions_overview_filter']);
break;
case 'reset':
$_SESSION['subscriptions_overview_filter'] = array();
break;
}
}