? .privatemsg.module.swp
? privatemsg.info
Index: privatemsg.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/privatemsg/privatemsg.module,v
retrieving revision 1.63
diff -u -r1.63 privatemsg.module
--- privatemsg.module	23 Oct 2006 23:33:55 -0000	1.63
+++ privatemsg.module	15 Nov 2006 12:13:27 -0000
@@ -253,7 +253,7 @@
 
   $breadcrumb = NULL;
   $op = $_POST["op"];
-  $edit = $_POST["edit"];
+  $edit = $_POST;
   $recipient = $_POST["recipient"];
   if (isset($edit['messages'])) {
     $msg = array_keys($edit['messages']);
@@ -286,14 +286,14 @@
       $arg = "";
     case 'form':
     case 'reply':
-      $output = _privatemsg_form($arg);
+      $output = drupal_get_form('privatemsg_message_form', $arg);
       $title = t("Write a new message");
       $breadcrumb = array(l(t('Home'), ''), l(t('private messages'), 'privatemsg'));
       break;
     case 'msgto':
       $msg = (object)$msg;
       $msg->recipient = db_result(db_query("SELECT name FROM {users} WHERE uid = '%d'", $arg));
-      $output = _privatemsg_form($msg);
+      $output = drupal_get_form('privatemsg_message_form', $msg);
       $title = t("Write a new message");
       $breadcrumb = array(l(t('Home'), ''), l(t('private messages'), 'privatemsg'));
       break;
@@ -418,14 +418,14 @@
 
 function _privatemsg_format_folder($current, $fid, $name) {
   if ($current == $fid) {
-    return "<strong>$name</strong>";
+    return array('title' => $name);
   }
   else {
-    return l($name, "privatemsg/list/$fid");
+    return array('title' => $name, 'href' => "privatemsg/list/$fid");
   }
 }
 
-function _privatemsg_form($message = 0) {
+function privatemsg_message_form($message = 0) {
   global $user;
   $form = array();
 
@@ -486,7 +486,7 @@
       '#name' => 'op'
       );
 
-  return drupal_get_form('privatemsg_message_form', $form);
+  return $form;
 }
 
 function _privatemsg_edit($edit) {
@@ -494,7 +494,7 @@
 
   if ($edit['recipient'] == '') {
     form_set_error('recipient', t('The <em>Recipient</em> field is required.'));
-    return _privatemsg_form((object)$edit);
+    return drupal_get_form('privatemsg_message_form', (object)$edit);
   }
   else {
     $recipient = user_load(array('name' => $edit['recipient']));
@@ -502,23 +502,23 @@
   
   if (!$recipient->uid) {
     form_set_error('recipient', t('The <em>Recipient</em> does not exist.'));
-    return _privatemsg_form((object)$edit);
+    return drupal_get_form('privatemsg_message_form', (object)$edit);
   }
   else if (!(isset($recipient->privatemsg_allow) ? $recipient->privatemsg_allow : 1)) {
     form_set_error('recipient', t('%name does not accept private messages.', array('%name' => $recipient->name)));
-    return _privatemsg_form((object)$edit);
+    return drupal_get_form('privatemsg_message_form', (object)$edit);
   }
   else if (trim($edit['subject']) == '') {
     form_set_error('subject', t('The <em>Subject</em> field is required.'));
-    return _privatemsg_form((object)$edit);
+    return drupal_get_form('privatemsg_message_form', (object)$edit);
   }
   if (trim($edit['privatemsgbody']) == '') {
     form_set_error('privatemsgbody', t('The <em>Message</em> field is required.'));
-    return _privatemsg_form((object)$edit);
+    return drupal_get_form('privatemsg_message_form', (object)$edit);
   }
   else if (array_key_exists('format', $edit) && !filter_access($edit['format'])) {
     form_set_error('format', t('The supplied input format is invalid.'));
-    return _privatemsg_form((object)$edit);
+    return drupal_get_form('privatemsg_message_form', (object)$edit);
   }
   else {
     $result = db_query("INSERT INTO {privatemsg} (author, recipient, subject, message, timestamp, newmsg, hostname, format) VALUES ('%d', '%d', '%s', '%s', '%d', '%d', '%s', '%d')", $user->uid, $recipient->uid, $edit['subject'], $edit['privatemsgbody'], time(), 1, getenv("REMOTE_ADDR"), $edit['format']);
@@ -623,17 +623,19 @@
     if ($message->recipient == $user->uid) {
       $author = user_load(array('uid' => $message->uid));
       if ($author->uid && (isset($author->privatemsg_allow) ? $author->privatemsg_allow : 1)) {
-        $links[] = l(t('Reply to this message'), "privatemsg/reply/$message->id");
+        $links['reply'] = array('title' => t('Reply to this message'), 'href' => "privatemsg/reply/$message->id");
       }
       else {
-        $links[] = t('Sender does not accept replies');
+        $links['no_reply'] = array('title' => t('Sender does not accept replies'));
       }
     }
     if (($message->recipient == $user->uid) || (variable_get("privatemsg_sent_status", 1))) {
-      $links[] = l(t('Delete this message'), "privatemsg/delete/$message->id", array('onClick' => "return confirm('".t('Are you sure to delete this message?')."')"));
+      $links['delete'] = array('title' => t('Delete this message'), 
+                                'href' => "privatemsg/delete/$message->id", 
+                                'attributes' => array('onClick' => "return confirm('".t('Are you sure to delete this message?')."')"));
     }
 
-    $links[] = l(t('List messages'), 'privatemsg');
+    $links['list_messages'] = array('title' => t('List messages'), 'href' => 'privatemsg');
     $body .= '<div class="links">'. theme('links', $links) .'</div>';
   } 
   else {
@@ -656,13 +658,17 @@
 
   $extra_folders = array();
   foreach ($folders as $folder) {
-    $folder_list[] = _privatemsg_format_folder($current_folder, $folder[0], $folder[1]);
+    $folder_list['folder_' . $folder[0]] = _privatemsg_format_folder($current_folder, $folder[0], $folder[1]);
     if ($folder[0] != 1 && $folder[0] != $current_folder) {
       $extra_folders[$folder[0]] = $folder[1];
     }
   }
   $out = theme('links', $folder_list);
 
+  return $out . drupal_get_form('privatemsg_list_form', $current_folder, $messages, $folders);
+}
+
+function privatemsg_list_form($current_folder, $messages, $folders) {
   $form['messages'] = array(
       '#theme' => 'privatemsg_message_table',
       '#tree' => TRUE
@@ -763,7 +769,7 @@
       '#name' => 'op'
       );
 
-  return $out . drupal_get_form('privatemsg_list_form', $form);
+  return $form;
 }
 
 function theme_privatemsg_message_table($form) {
@@ -772,7 +778,7 @@
   foreach (element_children($form) as $key) {
     if ($key != 'current_folder') {
       $row = array();
-      $row[] = form_render($form[$key]['selected']);
+      $row[] = drupal_render($form[$key]['selected']);
       $row[] = $form[$key]['date']['#value'];
       $row[] = $form[$key]['user']['#value'];
       $row[] = $form[$key]['subject']['#value'];
