Получение списка всех прав доступа указанных в модулях Drupal

Аватар пользователя artur.baranok
Опубликовано вт, 07/14/2015 - 14:20 пользователем artur.baranok
Форумы: 

Иногда требуется иметь в распоряжении весь перечень прав доступа, какие определены в модулях 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.