groups/patches/0008-core-profile-duplicate...

17 lines
928 B
Diff

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.