Index: modules/user.module =================================================================== RCS file: /cvs/drupal/drupal/modules/user.module,v retrieving revision 1.511 diff -u -F^f -r1.511 user.module --- modules/user.module 15 Sep 2005 21:45:21 -0000 1.511 +++ modules/user.module 19 Sep 2005 09:30:12 -0000 @@ -1600,11 +1600,25 @@ function user_admin_perm() { foreach (module_list() as $module) { if ($permissions = module_invoke($module, 'perm')) { $rows[] = array(array('data' => t('%module module', array('%module' => $module)), 'class' => 'module', 'colspan' => count($role_names) + 1)); - asort($permissions); - foreach ($permissions as $perm) { - $row[] = array('data' => t($perm), 'class' => 'permission'); + + foreach ($permissions as $key => $permission) { + if (!is_string($key)) { + unset($permissions[$key]); + $permissions[$permission] = ''; + } + } + + ksort($permissions); + + foreach ($permissions as $title => $description) { + if (!empty($description)) { + $row[] = array('data' => t($title) .'
'. t($description) .'', 'class' => 'permission'); + } + else { + $row[] = array('data' => t($title), 'class' => 'permission'); + } foreach ($role_names as $rid => $name) { - $row[] = form_checkbox('', "$rid][$perm", 1, strstr($role_permissions[$rid], $perm), NULL, array('title' => $name .': '. t($perm))); + $row[] = form_checkbox('', "$rid][$title", 1, strstr($role_permissions[$rid], $title)); } $rows[] = $row; unset($row); cvs diff: Diffing scripts cvs diff: Diffing sites