Index: rolesignup.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/rolesignup/rolesignup.module,v
retrieving revision 1.3
diff -u -p -r1.3 rolesignup.module
--- rolesignup.module	20 Jan 2007 21:45:13 -0000	1.3
+++ rolesignup.module	25 Oct 2007 03:27:30 -0000
@@ -14,6 +14,17 @@ function rolesignup_menu($may_cache) {
     'title' => t('Register'),
     'type' => MENU_LOCAL_TASK);
 
+  if ($may_cache) {
+    $items[] = array(
+      'path' => 'admin/settings/rolesignup',
+      'title' => t('Role Signup'),
+      'description' => t('Add descriptions to the user roles, for display on the role select page.'),
+      'callback' => 'drupal_get_form',
+      'callback arguments' => array('rolesignup_admin_settings'),
+      'access' => user_access('administer site configuration'),
+      'type' => MENU_LOCAL_TASK,
+    );
+  }
  return $items;
 }
  
@@ -70,11 +81,15 @@ function rolesignup_user($op, &$edit, &$
 /* Theme functions */
 
 function theme_rolelist($roles) {
-  $output = t("<p>Please select what type of account you would like</p>");
+  $output = t("<p>Please select what type of account you would like:</p>");
   $output .= "<ul>\n";
   foreach ($roles as $roleid => $role) {
     $url = "user/register/role/".$roleid;
-    $output .= "<li>".l($role, $url)."</li>\n";
+    if (variable_get($role .'-description', '') != '') {
+      $roledescription = "<br /><span class=\"role-description\">". variable_get($role .'-description', '') ."</span>";
+    }
+    $role = ucfirst($role);
+    $output .= "<li>". l($role, $url) . $roledescription ."</li>\n";
   }
   $output .= "</ul>\n";
   return $output;
@@ -90,3 +105,32 @@ function theme_select_role() {
   return $output;
 }
 
+/**
+ * Implementation of hook_admin_settings()
+ */
+function rolesignup_admin_settings() {
+  $roles = user_roles();
+  drupal_set_title(t('Role descriptions'));
+  $form['rolesignup-intro'] = array(
+    '#value' => t('You may enter a description for each of the available roles. The description will be displayed on the role selection page. You can leave the description blank if you want to.'),
+  );
+
+  foreach ($roles as $roleid => $role) {
+    $form['rolesignup'. $role .'-fs'] = array(
+      '#type' => 'fieldset',
+      '#title' => $role,
+      '#collapsible' => TRUE,
+      '#collapsed' => TRUE,
+    );
+    $form['rolesignup'. $role .'-fs'][$role .'-description'] = array(
+      '#type' => 'textarea',
+      '#title' => t('Enter description for the %rolename role', array('%rolename' => $role)),
+      '#attributes' => array(
+        'class' => 'role-description',
+      ),
+      '#default_value' => variable_get($role .'-description', ''),
+    );
+
+  }
+  return system_settings_form($form);
+}