Index: modules/system/system.admin.inc =================================================================== RCS file: /cvs/drupal/drupal/modules/system/system.admin.inc,v retrieving revision 1.43 diff -u -p -r1.43 system.admin.inc --- modules/system/system.admin.inc 20 Dec 2007 21:37:42 -0000 1.43 +++ modules/system/system.admin.inc 21 Dec 2007 14:04:14 -0000 @@ -906,6 +906,14 @@ function system_modules_submit($form, &$ module_disable($disable_modules); } + // Modules that were enabled now. + $newly_enabled_modules = array(); + foreach ($enable_modules as $module) { + if (!in_array($module, $old_module_list)) { + $newly_enabled_modules[] = $module; + } + } + // Install new modules. foreach ($new_modules as $key => $module) { if (!drupal_check_module($module)) { @@ -917,6 +925,30 @@ function system_modules_submit($form, &$ $current_module_list = module_list(TRUE, FALSE); if ($old_module_list != $current_module_list) { drupal_set_message(t('The configuration options have been saved.')); + + // Generate in-depth links for newly enabled modules. + $module_info = module_rebuild_cache(); + foreach ($newly_enabled_modules as $module) { + $module_menu = system_get_module_admin_tasks($module); + $links = array(); + // We can't use module_invoke('help') due to caching quirks. + if (module_hook($module, 'help')) { + $links[] = l(t('Help'), 'admin/help/'. $module); + } + foreach ($module_menu as $link) { + $links[] = $link; + } + if (!empty($links)) { + $message = $module_info[$module]->info['name'] .' '. t('enabled') .'. '; + $message .= t('Start using this module') .':'; + $message .= ''; + drupal_set_message($message); + } + } } drupal_clear_css_cache();