Index: rsvp.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/rsvp/rsvp.module,v
retrieving revision 1.12.2.27
diff -u -r1.12.2.27 rsvp.module
--- rsvp.module	18 Feb 2008 20:04:20 -0000	1.12.2.27
+++ rsvp.module	1 Jun 2008 22:46:57 -0000
@@ -60,7 +60,7 @@
  * @ingroup rsvp_core
  */
 function rsvp_perm() {
-  return array("administer rsvp", "rsvp on events", "rsvp on own events", "rsvp newsletters subscribers", "rsvp system users");
+  return array("administer rsvp", "rsvp on events", "rsvp on own events", "rsvp newsletters subscribers", "rsvp system users", "rsvp buddylist");
 }
 
 /**
@@ -572,6 +572,9 @@
   if (user_access('rsvp newsletters subscribers')) {
     $content .= rsvp_list_simplenews($rid);
   }
+  if (user_access('rsvp buddylist')) {
+    $content .= rsvp_list_buddylist($rid);
+  }
   if (user_access('rsvp system users')) {
     $content .= rsvp_list_roles($rid);
   }
@@ -921,7 +924,9 @@
 
   drupal_set_message('Your response was saved.', 'status');
   db_query('UPDATE {rsvp_invite} SET response = \'%s\', invited = 1, received = 1 WHERE hash = \'%s\'', $edit['invite_reply'], $edit['hash']);
-  drupal_goto('user/'. $user->uid .'/rsvp');
+  if ($user->uid > 0) {
+    drupal_goto('user/'. $user->uid .'/rsvp');
+  }
 }
 
 
@@ -1345,6 +1350,37 @@
 }
 
 /**
+ * Returns user's buddylist.
+ *
+ * @param $uid int The RSVP ID.
+ * @return string The user's buddylist.
+ */
+function rsvp_list_buddylist($rid) {
+  global $user;
+  $rsvp = rsvp_load($rid);
+  $content = t('<h3>You may invite your buddylist:</h3>');
+  $rows = array();
+  $header = array(t('Buddy'), array('data' => t('Operations')));
+
+  $query = db_query("SELECT DISTINCT(b.buddy), u.name FROM {buddylist} b INNER JOIN {users} u ON b.buddy = u.uid WHERE b.uid = %d ORDER BY u.name ASC", $user->uid);
+
+  while ($buddy = db_fetch_object($query)) {
+    $rows[] = array(
+      $buddy->name,
+      l(t('Add'), NULL, 
+      array('onclick' => '$("#edit-invite-list").val($("#edit-invite-list").val() + "'. $buddy->name .'\r\n"); return false;'),
+      NULL,
+      'add'
+    ),
+    );
+  }
+
+  $content .= theme('table', $header, $rows);
+  return $content;
+
+}
+
+/**
  * Returns a list of newsletter subscribers.
  *
  * @param $nlid int The newsletter ID.
