diff options
Diffstat (limited to 'modules/user')
-rw-r--r-- | modules/user/user.admin.inc | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/modules/user/user.admin.inc b/modules/user/user.admin.inc index b81f1d6e9..b5b3e5330 100644 --- a/modules/user/user.admin.inc +++ b/modules/user/user.admin.inc @@ -945,3 +945,18 @@ function user_modules_installed($modules) { } } } + +/** + * Implement hook_modules_uninstalled(). + */ +function user_modules_uninstalled($modules) { + $permissions = array(); + foreach ($modules as $module) { + $permissions = array_merge($permissions, array_keys(module_invoke($module, 'perm'))); + } + if (!empty($permissions)) { + db_delete('role_permission') + ->condition('permission', $permissions, 'IN') + ->execute(); + } +} |