? admin_drilldown_theme_functions.patch
Index: admin.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/admin/admin.module,v
retrieving revision 1.1.2.23.2.25
diff -u -p -r1.1.2.23.2.25 admin.module
--- admin.module	9 Aug 2010 18:07:18 -0000	1.1.2.23.2.25
+++ admin.module	11 Aug 2010 16:20:47 -0000
@@ -69,7 +69,7 @@ function admin_block($op = 'list', $delt
             }
             return array(
               'subject' => !empty($item['title']) ? $item['title'] : t('Create content'),
-              'content' => theme('admin_menu_tree_output', $menu),
+              'content' => theme('admin_drilldown_menu_tree_output', $menu),
             );
           }
           break;
@@ -83,7 +83,7 @@ function admin_block($op = 'list', $delt
           if ($item && $item['access']) {
             return array(
               'subject' => !empty($item['title']) ? $item['title'] : t('Administer'),
-              'content' => theme('admin_menu_tree_output', menu_tree_all_data('admin')),
+              'content' => theme('admin_drilldown_menu_tree_output', menu_tree_all_data('admin')),
             );
           }
           break;
@@ -250,17 +250,28 @@ function admin_theme($cache, $type, $the
     'path' => $path . '/theme',
     'file' => 'theme.inc',
   );
-  $items['admin_menu_tree_output'] = array(
+  $items['admin_drilldown_menu_tree_output'] = array(
     'arguments' => array('menu' => array()),
     'path' => $path . '/theme',
     'file' => 'theme.inc',
   );
-  $items['admin_menu_tree'] = array(
+  $items['admin_drilldown_menu_tree'] = array(
     'arguments' => array('menu' => array()),
     'path' => $path . '/theme',
     'file' => 'theme.inc',
   );
-  $items['admin_menu_item_link'] = array(
+  $items['admin_drilldown_menu_item'] = array(
+    'arguments' => array(
+      'link' => NULL,
+      'has_children' => NULL,
+      'menu' => '',
+      'in_active_trail' => FALSE,
+      'extra_class' => NULL,
+    ),
+    'path' => $path . '/theme',
+    'file' => 'theme.inc',
+  );
+  $items['admin_drilldown_menu_item_link'] = array(
     'arguments' => array('item' => array()),
     'path' => $path . '/theme',
     'file' => 'theme.inc',
Index: theme/theme.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/admin/theme/Attic/theme.inc,v
retrieving revision 1.1.2.11
diff -u -p -r1.1.2.11 theme.inc
--- theme/theme.inc	9 Aug 2010 18:07:18 -0000	1.1.2.11
+++ theme/theme.inc	11 Aug 2010 16:20:47 -0000
@@ -59,7 +59,7 @@ function theme_admin_tab($tab, $class = 
  * Alternative to menu_tree_output() which uses admin implementations of the
  * core menu theme functions.
  */
-function theme_admin_menu_tree_output($tree) {
+function theme_admin_drilldown_menu_tree_output($tree) {
   $output = '';
   $items = array();
 
@@ -80,16 +80,16 @@ function theme_admin_menu_tree_output($t
     if ($i == $num_items - 1) {
       $extra_class = 'last';
     }
-    $link = theme('admin_menu_item_link', $data['link']);
+    $link = theme('admin_drilldown_menu_item_link', $data['link']);
     $in_active_trail = isset($data['link']['in_active_trail']) ? $data['link']['in_active_trail'] : FALSE;
     if ($data['below']) {
-      $output .= theme('menu_item', $link, $data['link']['has_children'], theme('admin_menu_tree_output', $data['below']), $in_active_trail, $extra_class);
+      $output .= theme('admin_drilldown_menu_item', $link, $data['link']['has_children'], theme('admin_drilldown_menu_tree_output', $data['below']), $in_active_trail, $extra_class);
     }
     else {
-      $output .= theme('menu_item', $link, $data['link']['has_children'], '', $in_active_trail, $extra_class);
+      $output .= theme('admin_drilldown_menu_item', $link, $data['link']['has_children'], '', $in_active_trail, $extra_class);
     }
   }
-  return $output ? theme('admin_menu_tree', $output) : '';
+  return $output ? theme('admin_drilldown_menu_tree', $output) : '';
 }
 
 /**
@@ -97,14 +97,23 @@ function theme_admin_menu_tree_output($t
  * Ensures custom theme-level overrides of theme_menu_tree() do not break
  * markup expected by admin.
  */
-function theme_admin_menu_tree($tree) {
+function theme_admin_drilldown_menu_tree($tree) {
   return theme_menu_tree($tree);
 }
 
 /**
+ * Alternative to theme_menu_item().
+ * Ensures custom theme-level overrides of theme_menu_item() do not break
+ * markup expected by admin.
+ */
+function theme_admin_drilldown_menu_item($link, $has_children, $menu = '', $in_active_trail = FALSE, $extra_class = NULL) {
+  return theme_menu_item($link, $has_children, $menu, $in_active_trail, $extra_class);
+}
+
+/**
  * Alternative to theme_menu_item_link().
  */
-function theme_admin_menu_item_link($link) {
+function theme_admin_drilldown_menu_item_link($link) {
   $link['localized_options'] = empty($link['localized_options']) ? array() : $link['localized_options'];
   $link['localized_options']['html'] = TRUE;
   $link['localized_options']['purl'] = array('disabled' => TRUE);
