Преглед изворни кода

added RECENT response to result array of sqimap_get_status in order to
remove an expensive select call in the newmail plugin. Probably the
influences on speed when the newmail plugin is disabled are minimal.

stekkel пре 22 година
родитељ
комит
fad2721642
1 измењених фајлова са 6 додато и 3 уклоњено
  1. 6 3
      functions/imap_general.php

+ 6 - 3
functions/imap_general.php

@@ -510,9 +510,9 @@ function sqimap_unseen_messages ($imap_stream, $mailbox) {
  * Returns the number of unseen/total messages in this folder
  * Returns the number of unseen/total messages in this folder
  */
  */
 function sqimap_status_messages ($imap_stream, $mailbox) {
 function sqimap_status_messages ($imap_stream, $mailbox) {
-    $read_ary = sqimap_run_command ($imap_stream, "STATUS \"$mailbox\" (MESSAGES UNSEEN)", false, $result, $message);
+    $read_ary = sqimap_run_command ($imap_stream, "STATUS \"$mailbox\" (MESSAGES UNSEEN RECENT)", false, $result, $message);
     $i = 0;
     $i = 0;
-    $messages = $unseen = false;
+    $messages = $unseen = $recent = false;
     $regs = array(false,false);
     $regs = array(false,false);
     while (isset($read_ary[$i])) {
     while (isset($read_ary[$i])) {
         if (preg_match('/UNSEEN\s+([0-9]+)/i', $read_ary[$i], $regs)) {
         if (preg_match('/UNSEEN\s+([0-9]+)/i', $read_ary[$i], $regs)) {
@@ -521,9 +521,12 @@ function sqimap_status_messages ($imap_stream, $mailbox) {
         if (preg_match('/MESSAGES\s+([0-9]+)/i', $read_ary[$i], $regs)) {
         if (preg_match('/MESSAGES\s+([0-9]+)/i', $read_ary[$i], $regs)) {
 	    $messages = $regs[1];
 	    $messages = $regs[1];
 	}
 	}
+        if (preg_match('/RECENT\s+([0-9]+)/i', $read_ary[$i], $regs)) {
+	    $recent = $regs[1];
+	}        
         $i++;
         $i++;
     }
     }
-    return array('MESSAGES' => $messages, 'UNSEEN'=>$unseen);
+    return array('MESSAGES' => $messages, 'UNSEEN'=>$unseen, 'RECENT' => $recent);
 }
 }