Index: user_relationships.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/user_relationships/user_relationships.module,v
retrieving revision 1.5
diff -u -r1.5 user_relationships.module
--- user_relationships.module	3 Sep 2007 19:22:31 -0000	1.5
+++ user_relationships.module	3 Oct 2007 20:46:35 -0000
@@ -54,11 +54,12 @@
 
   foreach ($account->relationships as $relationship) {
     if (!$relationship->approved && $account->uid != $relationship->requester_id) {
-      $msg = t('!linktouser believes they are a %relationship_name of yours.  Please view your !pending_relationship_requests to approve/disapprove.', array(
-        '!linktouser'                     => theme('username', user_load(array('uid' => $relationship->requester_id))),
+        $msg = (user_relationships_message('user_relationships_msg_pending', array(
+        '!requester'                     => theme('username', user_load(array('uid' => $relationship->requester_id))),
         '%relationship_name'              => $relationship->name,
+        '%relationship_plural_name'              => $relationship->plural_name,
         '!pending_relationship_requests'  => l(t('pending relationship requests'), 'relationships/'. $account->uid .'/requests')
-      ));
+      )));
 
       if (!in_array($msg, $notifications)) {
         drupal_set_message($msg);
@@ -191,3 +192,137 @@
   return $actions;
 }
 
+/**
+ * Creates an array of drupal messages
+ * Return: array
+ */
+function user_relationships_create_messages() {
+    $messages = array(
+      '#type'   => 'fieldset',
+      '#title'  => t('Messages'),
+      '#weight' => 0,
+      '#description' => t('These fields allow you to update the text held in Drupal messages and displayed after events in the User Relationships module. To prevent a message from displaying simply delete the text from that field.'),
+    );
+    $messages['info'] = array(
+      '#type'   => 'fieldset',
+      '#title'  => t('Informational Messages'),
+      '#weight' => 0,
+      '#collapsible' => 1,
+      '#collapsed' => 1,
+      '#description' => t('These fields hold informational text displayed after a user adds, confirms or removes a relationship.'),
+    );
+    $messages['info']['user_relationships_msg_request_submitted'] = array(
+      '#type'           => 'textfield',
+      '#title'          => t("Relationship submit confirmation"),
+      '#description'    => t("Displays when a requestor confirms that they want to request a relationship.  <br />Available variables: !requester !requestee %relationship_name %relationship_plural_name"),
+      '#default_value'  => variable_get('user_relationships_msg_request_submitted', 'Your request to be a %relationship_name of %requestee has been submitted.'),
+    );
+    $messages['info']['user_relationships_msg_accepted'] = array(
+      '#type'           => 'textfield',
+      '#title'          => t("Relationship accepted"),
+      '#description'    => t("Displays when a requestee accepts a new relationship.  <br />Available variables: !requester !requestee %relationship_name %relationship_plural_name, !is_or_are"),
+      '#default_value'  => variable_get('user_relationships_msg_accepted', '!requester !is_or_are now a %relationship_name of !requestee.'),
+    );
+    $messages['info']['user_relationships_msg_denied'] = array(
+      '#type'           => 'textfield',
+      '#title'          => t("Relationship denied"),
+      '#description'    => t("Displays when a user denys a new relationship request.  <br />Available variables: !requester !requestee %relationship_name %relationship_plural_name"),
+      '#default_value'  => variable_get('user_relationships_msg_denied', "!requester's request to be a %relationship_name of !requestee has been removed."),
+    );
+    $messages['info']['user_relationships_msg_default'] = array(
+      '#type'           => 'textfield',
+      '#title'          => t("No action taken"),
+      '#description'    => t("Default message during approval process."),
+      '#default_value'  => variable_get('user_relationships_msg_default', 'No action has been taken.'),
+    );
+    $messages['info']['user_relationships_msg_removed'] = array(
+      '#type'           => 'textfield',
+      '#title'          => t("Relationship removal confirmation"),
+      '#description'    => t("Displays when a user removes a relationship. <br />Available variables: !requester !requestee %relationship_name %relationship_plural_name"),
+      '#default_value'  => variable_get('user_relationships_msg_removed', '!requester is no longer a %relationship_name of !requestee.'),
+    );
+    $messages['info']['user_relationships_msg_pending'] = array(
+      '#type'           => 'textfield',
+      '#title'          => t("Relationship requests"),
+      '#description'    => t("Displays when a user logs in if new requests exist.  <br />Available variables: !requester %relationship_name %relationship_plural_name !pending_relationship_requests - link to pending relationships page"),
+      '#default_value'  => variable_get('user_relationships_msg_pending', '!requester believes they are a %relationship_name of yours.  Please view your !pending_relationship_requests to approve them.'),
+    );
+    $messages['error'] = array(
+      '#type'   => 'fieldset',
+      '#title'  => t('Error Messages'),
+      '#weight' => 5,
+      '#collapsible' => 1,
+      '#collapsed' => 1,
+      '#description' => t('These fields hold error text displayed when a user attempts an invalid request or operation.'),
+    );
+   $messages['error']['user_relationships_msg_too_many_relationships'] = array(
+      '#type'           => 'textfield',
+      '#title'          => t("Too many relationship types"),
+      '#description'    => t("Displays when requestor has exceeded the maximum number of allowed relationship types with requestee."),
+      '#default_value'  => variable_get('user_relationships_msg_too_many_relationships', 'You already relate to this user in every possible way.'),
+    );
+   $messages['error']['user_relationships_msg_previous_request'] = array(
+      '#type'           => 'textfield',
+      '#title'          => t("Relationship already requested"),
+      '#description'    => t("Displays if the relationship has been previously requested but not yet approved.  <br />Available variables: %requester %requestee %relationship_name %relationship_plural_name"),
+      '#default_value'  => variable_get('user_relationships_msg_previous_request', 'You have already requested to be a %relationship_name of %requestee'),
+    );
+    $messages['error']['user_relationships_msg_duplicate'] = array(
+      '#type'           => 'textfield',
+      '#title'          => t("Duplicate relationship"),
+      '#description'    => t("Displays if the requestor already has a relationship of the type specified with the requestee.  <br />Available variables: !requester !requestee %relationship_name %relationship_plural_name"),
+      '#default_value'  => variable_get('user_relationships_msg_duplicate', 'You are already a %relationship_name of %requestee'),
+    ); 
+   $messages['error']['user_relationships_msg_not_accepting_requests'] = array(
+      '#type'           => 'textfield',
+      '#title'          => t("User not accepting requests"),
+      '#description'    => t("Displays when requestee does not have access permissions for relationships."),
+      '#default_value'  => variable_get('user_relationships_msg_not_accepting_requests', 'This user is not accepting relationship requests.'),
+    );
+    $messages['error']['user_relationships_msg_link_self'] = array(
+      '#type'           => 'textfield',
+      '#title'          => t("Can not link to yourself"),
+      '#description'    => t("Displays if a user attempts to request a relationship with their own user."),
+      '#default_value'  => variable_get('user_relationships_msg_link_self', 'You are not allowed to create a relationship to yourself.'),
+    );
+    $messages['error']['user_relationships_msg_user_not_exist'] = array(
+      '#type'           => 'textfield',
+      '#title'          => t("User doesn't exist"),
+      '#description'    => t("Displays if a user attempts to create a relationship with a non-existant user."),
+      '#default_value'  => variable_get('user_relationships_msg_user_not_exist', 'This user does not exist.'),
+    );
+    $messages['error']['user_relationships_msg_relationship_not_found'] = array(
+      '#type'           => 'textfield',
+      '#title'          => t("Relationship doesn't exist"),
+      '#description'    => t("Displays if a user attempts to delete a relationship which doesn't exist."),
+      '#default_value'  => variable_get('user_relationships_msg_relationship_not_found', 'Relationship not found.'),
+    );
+  return $messages;
+}
+
+function user_relationships_message($key, $replacements = array()) {
+  $messages = user_relationships_create_messages();
+  if (!($msg = variable_get("$key", NULL))) {
+    $msg = user_relationships_get_from_array($key, $messages);
+    $msg = $msg['#default_value'];
+  }
+  return t($msg, $replacements);
+}
+
+function user_relationships_get_from_array($needle, &$haystack) {
+  foreach ($haystack as $key => $value) {
+    if ($key == $needle) {
+      return $value;
+    }
+    else if (is_array($value)) {
+      $temp = user_relationships_get_from_array($needle, $value);
+      if (!empty($temp)) {
+        return $temp;
+      }
+    }
+  }
+}
+
+
+
+ 
\ No newline at end of file
Index: user_relationships_actions.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/user_relationships/user_relationships_actions.inc,v
retrieving revision 1.8
diff -u -r1.8 user_relationships_actions.inc
--- user_relationships_actions.inc	26 Sep 2007 00:34:31 -0000	1.8
+++ user_relationships_actions.inc	3 Oct 2007 20:46:35 -0000
@@ -111,24 +111,26 @@
     $current_relationships = _user_relationships_current_relationships($requester, $requestee);
 
     if (!db_result(db_query("SELECT COUNT(*) FROM {user_relationship_types}" . ($current_relationships ? " WHERE rtid NOT IN (%s) ORDER BY name" : ''), implode(',', array_keys($current_relationships))))) {
-      drupal_set_message(t('You already relate to this user in every possible way.'), 'error');
+      drupal_set_message(user_relationships_message('user_relationships_msg_too_many_relationships'));
       drupal_goto();
     }
     else if ($current_relationships[$form_values['rtid']]) {
       if ($current_relationships[$form_values['rtid']]->approved) {
-        $message = 'You are already a %relationship_name of %username';
+        $message = variable_get('user_relationships_msg_duplicate');
       }
       else {
-        $message = 'You have already requested to be a %relationship_name of %username';
+        $message = variable_get('user_relationships_msg_previous_request');
       }
       form_set_error('rtid', t($message, array(
-        '%username'           => $requestee->name,
-        '%relationship_name'  => $$current_relationships[$form_values['rtid']]->name
+        '%requester'           => $requester->name,
+        '%requestee'           => $requestee->name,
+        '%relationship_name'  => $$current_relationships[$form_values['rtid']]->name,
+        '%relationship_plural_name'  => $$current_relationships[$form_values['rtid']]->plural_name
       )));
     }
   }
   else {
-    drupal_set_message(t('This user is not accepting relationships.'), 'error');
+    drupal_set_message(user_relationships_message('user_relationships_msg_not_accepting_requests'));
     drupal_goto();
   }
 }
@@ -142,10 +144,11 @@
   $relationship_type  = user_relationships_relationship_type_load(array('rtid' => $form_values['rtid']));
   
   user_relationships_request_relationship($requester, $requestee, $relationship_type);
-
-  drupal_set_message(t('Your request to be a %relationship_name of %username has been submitted.', array(
+  drupal_set_message(user_relationships_message('user_relationships_msg_request_submitted', array(
+    '%requester'           => $requester->name,
     '%relationship_name'  => $relationship_type->name,
-    '%username'           => $requestee->name,
+    '%relationship_plural_name'  => $relationship->plural_name,
+    '%requestee'           => $requestee->name,
   )));
 
   return 'user';
@@ -161,19 +164,18 @@
   $relationship = $form_values['relationship'];
   $requester    = $relationship->requester;
   $requestee    = $relationship->requestee;
-
   $viewing_own_account = ($user->uid == $requestee->uid);
 
   switch ($form_values['action']) {
   case 'approve':
     $updated = $relationship;
     $updated->approved = TRUE;
-
     user_relationships_update_relationship($relationship, $updated);
-    drupal_set_message(t("!Person !is_or_are now a %relationship_name of !requestee.", array(
-      '!Person'             => ($viewing_own_account ? t('You') : theme('username', $requester)),
+    drupal_set_message(user_relationships_message('user_relationships_msg_accepted', array(
+      '!requester'          => ($viewing_own_account ? t('You') : theme('username', $requester)),
       '!is_or_are'          => ($viewing_own_account ? t('are') : t('is')),
       '%relationship_name'  => $relationship->name,
+      '%relationship_plural_name'  => $relationship->plural_name,
       '!requestee'          => theme('username', $requester),
     )));
     break;
@@ -181,15 +183,16 @@
   case 'cancel':
   case 'disapprove':
     user_relationships_delete_relationship($relationship, $user, $form_values['action']);
-    drupal_set_message(t("!requester's request to be a %relationship_name of !requestee has been removed.", array(
+    drupal_set_message(user_relationships_message('user_relationships_msg_denied', array(
       '!requester'          => theme('username', $requester),
       '%relationship_name'  => $relationship->name,
+      '%relationship_plural_name'  => $relationship->plural_name,
       '!requestee'          => theme('username', $requestee),
     )));
     break;
 
   default:
-    drupal_set_message(t('No relationship action has been taken.'));
+    drupal_set_message(user_relationships_message('user_relationships_msg_default'));
   }
 
   return 'relationships/'. $form_values['viewed_id'] .'/requests';
@@ -205,10 +208,12 @@
   $relationship = $form_values['relationship'];
 
   user_relationships_delete_relationship($relationship, $user);
-  drupal_set_message(t("!Person is no longer a %relationship_name of !requestee.", array(
-    '!Person'             => $relationship->requester->name,
+  drupal_set_message(user_relationships_message('user_relationships_msg_removed', array(
+    '!requester'          => $relationship->requester->name,
     '%relationship_name'  => $relationship->name,
-    '!requestee'          => ($relationship->requestee->uid == $user->uid ? t("yours") : $relationship->requestee->name)
+    '%relationship_plural_name'  => $relationship->plural_name,
+    '!is_or_are'          => ($viewing_own_account ? t('are') : t('is')),
+    '!requestee'          => ($relationship->requestee->uid == $user->uid ? t("You") : $relationship->requestee->name)
   )));
 
   return 'relationships/'. $form_values['viewed_id'];
Index: user_relationships_api.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/user_relationships/user_relationships_api.inc,v
retrieving revision 1.8
diff -u -r1.8 user_relationships_api.inc
--- user_relationships_api.inc	25 Sep 2007 18:20:25 -0000	1.8
+++ user_relationships_api.inc	3 Oct 2007 20:46:35 -0000
@@ -83,6 +83,7 @@
       $relationship->requestee  = user_load(array('uid' => $relationship->requestee_id));
       $relationship->type       = user_relationships_relationship_type_load(array('rtid' => $relationship->rtid));
       $relationship->name       = $relationship->type->name;
+      $relationship->plural_name       = $relationship->type->plural_name;
 
       _user_relationships_invoke('load', $relationship);
       $user_relationships[$rid] = $relationship;
Index: user_relationships_forms.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/user_relationships/user_relationships_forms.inc,v
retrieving revision 1.8
diff -u -r1.8 user_relationships_forms.inc
--- user_relationships_forms.inc	24 Sep 2007 17:57:51 -0000	1.8
+++ user_relationships_forms.inc	3 Oct 2007 20:46:35 -0000
@@ -37,10 +37,13 @@
         'is_numeric' => array('msg' => t('The relationships per page setting is not an integer'))
       )))
     );
-
+  
+    $form['messages'] = user_relationships_create_messages();
+ 
   return system_settings_form($form);
 }
 
+
 /**
  * Relationship type edit page.
  */
@@ -121,7 +124,7 @@
     );
   }
   else {
-    drupal_set_message(t('Relationship not found.'), 'error');
+    drupal_set_message(user_relationships_message('user_relationships_msg_user_not_exist'));
     drupal_goto('admin/user/relationships');
   }
 }
@@ -166,18 +169,18 @@
   $requestee = user_load(array('uid' => $requestee_id));
 
   if (empty($requestee->name)) {
-    drupal_set_message(t('This user does not exist'));
+    drupal_set_message(user_relationships_message('user_relationships_msg_user_not_exist'));
   }
   else if (!user_access('can have relationship', $requestee)) {
-    drupal_set_message(t("This user is not accepting relationships"));
+    drupal_set_message(user_relationships_message('user_relationships_msg_not_accepting_requests'));
   }
   else if ($user->uid == $requestee_id) {
-    drupal_set_message(t("You are not allowed to create a relationship to yourself"));
+    drupal_set_message(user_relationships_message('user_relationships_msg_link_self'));
   }
   else {
     $form = user_relationships_request_form($requester, $requestee);
     if (!$form['rtid']['#options']) {
-      drupal_set_message(t("You already relate to this user in every possible way."));
+      drupal_set_message(user_relationships_message('user_relationships_msg_too_many_relations'));
     }
     else {
       $form = confirm_form(
Index: user_relationships_hooks.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/user_relationships/user_relationships_hooks.inc,v
retrieving revision 1.8
diff -u -r1.8 user_relationships_hooks.inc
--- user_relationships_hooks.inc	1 Oct 2007 21:54:38 -0000	1.8
+++ user_relationships_hooks.inc	3 Oct 2007 20:46:36 -0000
@@ -190,7 +190,7 @@
     $account->relationships = array();
 
     $results = db_query(
-      " SELECT r.*, rt.name, rt.is_oneway FROM {user_relationships} r, {user_relationship_types} rt
+      " SELECT r.*, rt.name, rt.plural_name, rt.is_oneway FROM {user_relationships} r, {user_relationship_types} rt
         WHERE (requester_id = %d OR requestee_id = %d)
           AND r.rtid = rt.rtid",
       $account->uid, $account->uid
