diff options
author | Dries Buytaert <dries@buytaert.net> | 2009-01-19 10:46:52 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2009-01-19 10:46:52 +0000 |
commit | d20e4571215b379676bf95898232717b121ad95b (patch) | |
tree | aa181045614138f925ccc74587a70c870e2f1ac1 /modules/node/node.admin.inc | |
parent | 8cef09a7e6c970054d44117020afc88b5ee2bd41 (diff) | |
download | brdo-d20e4571215b379676bf95898232717b121ad95b.tar.gz brdo-d20e4571215b379676bf95898232717b121ad95b.tar.bz2 |
- Patch #201122 by c960657, Moshe Weitzman: never write anonymous sessions, unless something has been written to . This is an important performance improvements -- as long as you use modules that use carefully. It might be good to report some analytics about this in the performance settings page so administrators can see if there is a 'broken' module.
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; } } |