? dhtml_menu.registry.inc Index: dhtml_menu.admin.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/dhtml_menu/dhtml_menu.admin.inc,v retrieving revision 1.13 diff -u -p -r1.13 dhtml_menu.admin.inc --- dhtml_menu.admin.inc 20 Aug 2009 19:10:24 -0000 1.13 +++ dhtml_menu.admin.inc 21 Aug 2009 07:58:04 -0000 @@ -82,6 +82,16 @@ function dhtml_menu_settings(&$form_stat '#default_value' => $settings['effects']['children'], ); + $options['effects']['remember'] = array( + '#type' => 'radios', + '#title' => t('When a new page is loaded'), + '#options' => array( + 'remember' => t('Remember which items were expanded on the last page.'), + 0 => t('Expand only the currently active path.'), + ), + '#default_value' => $settings['effects']['remember'], + ); + $options['filter'] = array(); $options['filter']['list'] = array( Index: dhtml_menu.js =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/dhtml_menu/dhtml_menu.js,v retrieving revision 1.33 diff -u -p -r1.33 dhtml_menu.js --- dhtml_menu.js 20 Aug 2009 19:10:24 -0000 1.33 +++ dhtml_menu.js 21 Aug 2009 07:58:05 -0000 @@ -24,16 +24,18 @@ Drupal.behaviors.dhtmlMenu = { // Sanitize by removing "expanded" on menus already marked "collapsed". $('li.dhtml-menu.collapsed.expanded').removeClass('expanded'); - var cookie = Drupal.dhtmlMenu.cookieGet(); - for (var i in cookie) { - // If the cookie was not applied to the HTML code yet, do so now. - var li = $('#dhtml_menu-' + cookie[i]).parents('li:first'); - if ($(li).hasClass('collapsed')) { - Drupal.dhtmlMenu.toggleMenu(li, $(li).find('a:first'), $(li).find('ul:first')); + var settings = Drupal.settings.dhtmlMenu; + + if (settings.effects.remember) { + var cookie = Drupal.dhtmlMenu.cookieGet(); + for (var i in cookie) { + // If the cookie was not applied to the HTML code yet, do so now. + var rememberedItems = $('#dhtml_menu-' + cookie[i]).parents('li:first'); + if (rememberedItems.hasClass('collapsed')) { + Drupal.dhtmlMenu.toggleMenu(li, $(li).find('a:first'), $(li).find('ul:first')); + } } } - - var settings = Drupal.settings.dhtmlMenu; if (settings.nav == 'bullet') { // Create the markup for the bullet overlay, and the amount to shift it to the right in RTL mode. Index: dhtml_menu.theme.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/dhtml_menu/dhtml_menu.theme.inc,v retrieving revision 1.6 diff -u -p -r1.6 dhtml_menu.theme.inc --- dhtml_menu.theme.inc 20 Aug 2009 09:44:22 -0000 1.6 +++ dhtml_menu.theme.inc 21 Aug 2009 07:58:05 -0000 @@ -50,7 +50,8 @@ function dhtml_menu_theme_menu_item($lin global $theme; static $cookie, $function; if (!isset($cookie)) { - $cookie = explode(',', @$_COOKIE['dhtml_menu']); + $settings = variable_get('dhtml_menu_settings'); + $cookie = $settings['effects']['remember'] ? explode(',', @$_COOKIE['dhtml_menu']) : array(); $registry = variable_get('dhtml_menu_theme', array()); $function = isset($registry[$theme]) && drupal_function_exists($registry[$theme]['menu_item']) ? $registry[$theme]['menu_item'] : 'theme_menu_item'; }