Index: admin_menu.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/admin_menu/admin_menu.module,v
retrieving revision 1.43.2.17.2.31
diff -u -p -r1.43.2.17.2.31 admin_menu.module
--- admin_menu.module	31 Jul 2010 15:13:55 -0000	1.43.2.17.2.31
+++ admin_menu.module	23 Jan 2011 20:29:12 -0000
@@ -69,6 +69,11 @@ function admin_menu_menu() {
     'access arguments' => array('administer site configuration'),
     'file' => 'admin_menu.inc',
   );
+  $items['admin/settings/admin_menu/settings'] = array(
+    'title' => 'Settings',
+    'type' => MENU_DEFAULT_LOCAL_TASK,
+    'weight' => -10,
+  );
   // Menu link callbacks.
   $items['admin_menu/toggle-modules'] = array(
     'page callback' => 'admin_menu_toggle_modules',
Index: admin_devel/admin_devel.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/admin_menu/admin_devel/admin_devel.module,v
retrieving revision 1.1.2.1
diff -u -p -r1.1.2.1 admin_devel.module
--- admin_devel/admin_devel.module	12 Mar 2010 02:17:22 -0000	1.1.2.1
+++ admin_devel/admin_devel.module	23 Jan 2011 20:45:03 -0000
@@ -13,3 +13,88 @@ function admin_devel_init() {
   drupal_add_js(drupal_get_path('module', 'admin_devel') . '/admin_devel.js');
 }
 
+/**
+ * Implements hook_menu().
+ */
+function admin_devel_menu() {
+  $items['admin/settings/admin_menu/rebuild'] = array(
+    'title' => 'Maintenance',
+    'page callback' => 'drupal_get_form',
+    'page arguments' => array('admin_devel_menu_rebuild_form'),
+    'access arguments' => array('administer site configuration'),
+    'type' => MENU_LOCAL_TASK,
+  );
+  return $items;
+}
+
+/**
+ * Form constructor for deleting and rebuilding links inherited from menu router items.
+ */
+function admin_devel_menu_rebuild_form(&$form_state) {
+  $form['rebuild'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Revert all customizations to administrative menu links'),
+    '#return_value' => 'system',
+    '#description' => t('Deletes and rebuilds all module links whose menu paths start with "admin".'),
+    // D6 does not support required checkboxes.
+    // @see admin_devel_menu_rebuild_form_validate()
+    '#required' => TRUE,
+    '#access' => !isset($form_state['values']['rebuild']),
+    '#default_value' => isset($form_state['values']['rebuild']) ? $form_state['values']['rebuild'] : NULL,
+  );
+  // @see confirm_form()
+  $form['actions']['submit'] = array(
+    '#type' => 'submit',
+    '#value' => t('Rebuild'),
+  );
+
+  if (!empty($form_state['values']['rebuild'])) {
+    switch ($form_state['values']['rebuild']) {
+      case 'system':
+        $form = confirm_form($form,
+          t('Are you sure you want to delete and rebuild all administrative links?'),
+          'admin/settings/admin_menu',
+          NULL,
+          t('Delete and rebuild')
+        );
+    }
+  }
+  $form['actions']['#weight'] = 100;
+
+  return $form;
+}
+
+/**
+ * Form validation handler for admin_devel_menu_rebuild_form().
+ */
+function admin_devel_menu_rebuild_form_validate($form, &$form_state) {
+  if (empty($form_state['values']['rebuild'])) {
+    form_set_error('rebuild', t('You need to select a rebuild option.'));
+  }
+}
+
+/**
+ * Form submission handler for admin_devel_menu_rebuild_form().
+ */
+function admin_devel_menu_rebuild_form_submit($form, &$form_state) {
+  // Rebuild the form to display the confirmation form.
+  if (empty($form_state['values']['confirm'])) {
+    $form_state['rebuild'] = TRUE;
+    return;
+  }
+
+  switch ($form_state['values']['rebuild']) {
+    case 'system':
+      // Delete all links inherited from menu router items (module = system)
+      // whose link path is identical to or starts with 'admin', regardless of
+      // whether they have been customized.
+      db_query("DELETE FROM {menu_links} WHERE module = 'system' AND (router_path = 'admin' OR router_path LIKE 'admin/%%')");
+
+      // Rebuild menu links from current menu router items.
+      menu_rebuild();
+
+      drupal_set_message(t('Administrative system links derived from menu router paths have been rebuilt.'));
+      break;
+  }
+}
+
