? 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';
}