diff options
Diffstat (limited to 'modules/node/node.admin.inc')
-rw-r--r-- | modules/node/node.admin.inc | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/modules/node/node.admin.inc b/modules/node/node.admin.inc index 992134b1a..4ae27118b 100644 --- a/modules/node/node.admin.inc +++ b/modules/node/node.admin.inc @@ -204,8 +204,10 @@ function node_build_filter_query() { * Return form for node administration filters. */ function node_filter_form() { + if (!isset($_SESSION['node_overview_filter'])) { + drupal_set_session('node_overview_filter', array()); + } $session = &$_SESSION['node_overview_filter']; - $session = is_array($session) ? $session : array(); $filters = node_filters(); $i = 0; @@ -320,6 +322,9 @@ function node_filter_form_submit($form, &$form_state) { $flat_options = form_options_flatten($filters[$filter]['options']); if (isset($flat_options[$form_state['values'][$filter]])) { + if (!isset($_SESSION['node_overview_filter'])) { + drupal_set_session('node_overview_filter', array()); + } $_SESSION['node_overview_filter'][] = array($filter, $form_state['values'][$filter]); } } @@ -328,7 +333,7 @@ function node_filter_form_submit($form, &$form_state) { array_pop($_SESSION['node_overview_filter']); break; case t('Reset'): - $_SESSION['node_overview_filter'] = array(); + drupal_set_session('node_overview_filter', array()); break; } } |