? files
? modules/node_33.patch
Index: modules/user.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/user.module,v
retrieving revision 1.509
diff -u -r1.509 user.module
--- modules/user.module	8 Sep 2005 19:46:05 -0000	1.509
+++ modules/user.module	12 Sep 2005 11:17:04 -0000
@@ -1590,11 +1590,24 @@
   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) .'<br /><small>'. t($description) .'</small>', '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));
+          $row[] = form_checkbox('', "$rid][$title", 1, strstr($role_permissions[$rid], $title));
         }
         $rows[] = $row;
         unset($row);
