diff --git a/includes/module.inc.orig b/includes/module.inc index 2e25108..d05ff2b 100644 --- a/includes/module.inc.orig +++ b/includes/module.inc @@ -773,6 +773,11 @@ function module_implements($hook, $sort = FALSE, $reset = FALSE) { $implementations[$hook] = array(); $list = module_list(FALSE, FALSE, $sort); foreach ($list as $module) { + // profile inheritance results duplicated hook group entries, so it + // must be converted from array to string. + if ((isset($hook_info[$hook]['group'])) && (is_array($hook_info[$hook]['group']))) { + $hook_info[$hook]['group'] = reset($hook_info[$hook]['group']); + } $include_file = isset($hook_info[$hook]['group']) && module_load_include('inc', $module, $module . '.' . $hook_info[$hook]['group']); // Since module_hook() may needlessly try to load the include file again, // function_exists() is used directly here.