--- module.inc	2008-04-16 07:35:51.000000000 -0400
+++ module.inc.new	2008-05-07 11:22:47.000000000 -0400
@@ -305,6 +305,12 @@ function module_enable($module_list) {
       node_access_needs_rebuild(TRUE);
     }
   }
+
+  // allow other modules to act on the activation of a module.
+  // moved after the hook_enable loop so that newly activated modules may act as well
+  foreach ($invoke_modules as $module) {
+    module_invoke_all('enableapi', $module);
+  }
 }
 
 /**
@@ -324,6 +330,7 @@ function module_disable($module_list) {
 
       module_load_install($module);
       module_invoke($module, 'disable');
+      module_invoke_all('disableapi', $module);
       db_query("UPDATE {system} SET status = %d WHERE type = '%s' AND name = '%s'", 0, 'module', $module);
       $invoke_modules[] = $module;
     }
