--- /home/prashants/Downloads/pm_lite/pm_lite.module	2009-02-20 11:13:36.000000000 +0530
+++ pm_lite.module	2009-12-28 15:39:01.000000000 +0530
@@ -93,10 +93,39 @@ function pm_lite_theme() {
     'pm_lite_header' => array(
       'arguments' => array('from' => NULL, 'to' => NULL, 'subject' => NULL, 'date' => NULL),
     ),
+    'pm_lite_display_message_count' => array(
+      'arguments' => array('unread_message_count' => NULL),
+    )
   );
 }
 
 /**
+ * Implementation of hook_block().
+ */
+function pm_lite_block($op = 'list', $delta = 0, $edit = array()) {
+  switch ($op) {
+    case 'list' :
+      $blocks[0] = array(
+        'info' => t('Your private messages'),
+        'weight' => 0,
+        'status' => 0,
+      );
+      return $blocks;
+      break;
+    case 'view' :
+      if ($delta == '0') {
+        $unread_message_count = pm_lite_get_unread_message_count(); 
+        $block = array(
+          'subject' => t("Your private messages"),
+          'content' => theme('pm_lite_display_message_count', $unread_message_count),
+        );
+        return $block;
+      }
+      break;
+  }
+}
+
+/**
  * Implementation of hook_user().
  */
 function pm_lite_user($op, &$edit, &$account, $category = NULL) {
@@ -896,3 +925,38 @@ function theme_pm_lite_header($from, $to
 
   return theme('table', array(), $rows, array('class' => 'pm-lite-header'));
 }
+
+/**
+ * Return the unread message count for the current logged in user.
+ * 
+ * @return unread message count.
+ */
+function pm_lite_get_unread_message_count() {
+  global $user; 
+  if ($user->uid && user_access('access pm_lite')) {
+    $count_result = db_fetch_object(db_query("SELECT count(nid) count FROM {pm_lite} WHERE recipient = %d AND status = 0", $user->uid));
+    return $count_result->count;
+  }
+  else {
+    return -1;
+  }
+}
+
+/**
+ * Block Theme function that displays the number of unread messages for the logged in user.
+ */
+function theme_pm_lite_display_message_count($unread_message_count) {
+  if ($unread_message_count < 0)
+    return "";
+  else if ($unread_message_count == 0)
+    $output = '<div id="pm-lite-message-count">' . t('You have no unread messages') . '.</div>';
+  else if ($unread_message_count == 1)
+    $output = '<div id="pm-lite-message-count">' . t('You have') . " "
+      . l($unread_message_count . " " . t('unread'), 'user/pm') . " "
+      . t('message') . '.</div>';
+  else if ($unread_message_count > 0)
+    $output = '<div id="pm-lite-message-count">' . t('You have') . " " .
+      l($unread_message_count . " " . t('unread'), 'user/pm') . " "
+      . t('messages') . '.</div>';
+  return $output;
+}
