--- autoassignrole-admin.inc	2009-08-14 05:31:15.000000000 -0400
+++ autoassignrole-adminnew.inc	2009-08-14 05:06:30.000000000 -0400
@@ -62,6 +62,21 @@ function autoassignrole_admin_form() {
     '#collapsible' => TRUE,
     '#collapsed' => TRUE,
   );
+  $form['autoassignrole_settings_page']['redirect_register'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Redirect User Register'),
+    '#default_value' => _autoassignrole_get_settings('redirect_register'),
+    '#description' => t('Enable to hide user/register and redirect to the path 
+      listed below when accessed.')
+  );
+  $form['autoassignrole_settings_page']['redirect_register_path'] = array(
+    '#type' => 'textfield',
+    '#title' => t('Redirect User Register Path'),
+    '#default_value' => _autoassignrole_get_settings('redirect_register_path'),
+    '#size' => 60,
+    '#description' => t('The path to redirect the user to instead of 
+      user/register. Page should contain links to all role registration paths.')
+  );
   $result = db_query("SELECT rid, display, path, title, description, format, weight, menu FROM {autoassignrole_page}");
   $defaults = array();
   while ($setting = db_fetch_object($result)) {
@@ -225,7 +240,7 @@ function autoassignrole_admin_form() {
     '#type' => 'textarea',
     '#title' => t('User Role Description'),
     '#description' => t('The description displayed to the end user when they are
-      selecting thier role during registration.'),
+      selecting their role during registration.'),
     '#default_value' => _autoassignrole_get_settings('user_description'),
     '#required' => FALSE,
   );
@@ -305,6 +320,13 @@ function autoassignrole_admin_form_valid
       form_set_error('user_title', t('Enter the title of the form fields the user will be presented with.'));
     }
   }
+  
+  //If user/register redirect is enabled, path must not be empty
+  if($form_values['values']['redirect_register']) {
+    if (strlen(trim($form_values['values']['redirect_register_path'])) == 0) {
+      form_set_error('redirect_register_path', t('Registration redirect is enabled, path cannot be empty.'));
+    }
+  }
 }
 function autoassignrole_admin_form_submit($form_id, $form_values) {
   $sql = "UPDATE {autoassignrole} set value = '%s' where arid = '%s'";
@@ -319,6 +341,8 @@ function autoassignrole_admin_form_submi
   db_query($sql, $form_values['values']['user_sort'], 'user_sort');
   db_query($sql, $form_values['values']['user_description'], 'user_description');
   db_query($sql, $form_values['values']['user_selection'], 'user_selection');
+  db_query($sql, $form_values['values']['redirect_register'], 'redirect_register');
+  db_query($sql, $form_values['values']['redirect_register_path'], 'redirect_register_path');
 
 
   // Role assignment based on path
