Иногда требуется иметь в распоряжении весь перечень прав доступа, какие определены в модулях Drupal. Этот список прав, например, видно на странице настроек прав доступа Drupal (www. example.com/admin/user/permissions) .
Как получить такой список? Очень просто:
$perms = array();
foreach (module_list(FALSE, FALSE, TRUE) as $module) {
if ($permissions = module_invoke($module, 'perm')) {
asort($permissions);
foreach ($permissions as $perm) {
$perms[] = $perm;
}
}
}
В массиве $perms будет нужный нам перечень прав доступа для всех модулей Drupal.