### Eclipse Workspace Patch 1.0
#P 19stable
Index: lib/moodlelib.php
===================================================================
RCS file: /cvsroot/moodle/moodle/lib/moodlelib.php,v
retrieving revision 1.960.2.99
diff -u -r1.960.2.99 moodlelib.php
--- lib/moodlelib.php	26 Sep 2008 08:08:21 -0000	1.960.2.99
+++ lib/moodlelib.php	8 Oct 2008 05:55:11 -0000
@@ -2992,6 +2992,19 @@
             $grade->delete('userdelete');
         }
     }
+    
+    // move all unread messages from message table to messasge_read
+    if ($messages = get_records_select('message', "useridfrom = $user->id", 'timecreated')) {
+        foreach ($messages as $message) {
+            $message->timeread = 0; //the message was never read
+            $message = addslashes_object($message);
+            $messageid = $message->id;
+            unset($message->id);
+            if (insert_record('message_read', $message)) {
+                delete_records('message', 'id', $messageid);
+            }
+        }
+    }
 
     // remove from all groups
     delete_records('groups_members', 'userid', $user->id);
Index: message/history.php
===================================================================
RCS file: /cvsroot/moodle/moodle/message/history.php,v
retrieving revision 1.14.4.2
diff -u -r1.14.4.2 history.php
--- message/history.php	2 May 2008 04:07:32 -0000	1.14.4.2
+++ message/history.php	8 Oct 2008 05:55:11 -0000
@@ -19,12 +19,24 @@
     if (! $user1 = get_record("user", "id", $userid1)) {  // Check it's correct
         error("User ID 1 was incorrect");
     }
+    if ($user1->deleted) {
+        print_header();
+        print_heading(get_string('userdeleted').': '.$userid1);
+        print_footer();
+        die;
+    }
 
     if (has_capability('moodle/site:readallmessages', get_context_instance(CONTEXT_SYSTEM))) {             // Able to see any discussion
         $userid2 = optional_param('user2', $USER->id, PARAM_INT);
         if (! $user2 = get_record("user", "id", $userid2)) {  // Check
             error("User ID 2 was incorrect");
         }
+        if ($user2->deleted) {
+        print_header();
+        print_heading(get_string('userdeleted').': '.$userid2);
+        print_footer();
+        die;
+    }
     } else {
         $userid2 = $USER->id;    // Can only see messages involving yourself
         $user2 = $USER; 

