Ticket #1483873: interface_total_messages.patch

File interface_total_messages.patch, 5.5 kB (added by Scr34m, 2 years ago)
  • include/main.inc

     
    18291849  console(sprintf("%s: %0.4f sec", $label, $diff)); 
    18301850  } 
    18311851 
     1852function interface_total_messages($mbox_name, $force = FALSE ) 
     1853{ 
     1854    global $IMAP; 
     1855 
     1856    $unsee = $IMAP->messagecount($mbox_name, 'UNSEEN', $force); 
     1857    $all = $IMAP->messagecount($mbox_name, 'ALL', $force); 
     1858 
     1859    if ( $unsee ) { 
     1860        return sprintf("this.set_unread_count('%s', '%d/%d');\n", addslashes($mbox_name), $unsee, $all); 
     1861    } else { 
     1862        return sprintf("this.set_unread_count('%s', '%d');\n", addslashes($mbox_name), $all); 
     1863    } 
     1864        
     1865} // end func 
     1866 
    18321867?> 
  • js/app.js

     
    33573363      { 
    33583364      // set new text 
    33593365      text_obj = item.firstChild; 
    3360       reg = /\s+\([0-9]+\)$/i; 
     3366      reg = /\s+\(.*?\)$/i; 
    33613367 
    33623368      if (count && text_obj.innerHTML.match(reg)) 
    33633369        text_obj.innerHTML = text_obj.innerHTML.replace(reg, ' ('+count+')'); 
     
    33713377      } 
    33723378 
    33733379    // set unread count to window title 
    3374     reg = /^\([0-9]+\)\s+/i; 
     3380    reg = /^\(.*?\)\s+/i; 
    33753381    if (set_title && document.title) 
    33763382      { 
    33773383      var doc_title = String(document.title); 
  • steps/mail/check_recent.inc

     
    3030    if ($recent_count = $IMAP->messagecount(NULL, 'RECENT', TRUE)) 
    3131      { 
    3232      $count = $IMAP->messagecount(); 
    33       $unread_count = $IMAP->messagecount(NULL, 'UNSEEN', TRUE); 
    3433 
    35       $commands .= sprintf("this.set_unread_count('%s', %d);\n", addslashes($mbox_name), $unread_count); 
     34      $commands .= interface_total_messages(NULL, TRUE); 
    3635      $commands .= sprintf("this.set_env('messagecount', %d);\n", $count); 
    3736      $commands .= sprintf("this.set_rowcount('%s');\n", rcmail_get_messagecount_text()); 
    3837      $commands .= sprintf("this.set_quota('%s');\n", $IMAP->get_quota()); 
     
    5251  else 
    5352    { 
    5453    if ($IMAP->messagecount($mbox_name, 'RECENT')) 
    55       $commands .= sprintf("this.set_unread_count('%s', %d);\n", addslashes($mbox_name), $IMAP->messagecount($mbox_name, 'UNSEEN')); 
     54      $commands .= interface_total_messages($mbox_name); 
    5655    } 
    5756  } 
    5857 
  • steps/mail/folders.inc

     
    4949    $commands .= "this.set_env('messagecount', 0);\n"; 
    5050    $commands .= "this.set_env('pagecount', 0);\n"; 
    5151    $commands .= sprintf("this.set_rowcount('%s');\n", rcmail_get_messagecount_text()); 
    52     $commands .= sprintf("this.set_unread_count('%s', 0);\n", addslashes($mbox_name)); 
     52    $commands .= interface_total_messages($mbox_name); 
    5353    } 
    5454  else 
    5555    $commands = "// purged: $success"; 
  • steps/mail/getunread.inc

     
    2727  { 
    2828  foreach ($a_folders as $mbox_row) 
    2929    { 
    30     $commands = sprintf("this.set_unread_count('%s', %d);\n", addslashes($mbox_row), $IMAP->messagecount($mbox_row, 'UNSEEN')); 
     30    $commands = interface_total_messages($mbox_row); 
    3131    rcube_remote_response($commands, TRUE); 
    3232    } 
    3333  } 
  • steps/mail/list.inc

     
    5555    $a_headers = $IMAP->list_headers($mbox_name, NULL, $sort_col, $sort_order); 
    5656  } 
    5757 
    58 $unseen = $IMAP->messagecount($mbox_name, 'UNSEEN', !empty($_GET['_refresh']) ? TRUE : FALSE); 
    59  
    6058// update message count display 
    6159$pages = ceil($count/$IMAP->page_size); 
    6260$commands = sprintf("this.set_env('messagecount', %d);\n", $count); 
     
    6563 
    6664// update mailboxlist 
    6765$mbox_name = $IMAP->get_mailbox_name(); 
    68 $commands .= sprintf("this.set_unread_count('%s', %d);\n", addslashes($mbox_name), $unseen); 
     66$commands .= interface_total_messages($mbox_name, !empty($_GET['_refresh']) ? TRUE : FALSE); 
    6967 
    7068 
    7169// add message rows 
  • steps/mail/mark.inc

     
    3232  if ($marked != -1) 
    3333    { 
    3434    $mbox_name = $IMAP->get_mailbox_name(); 
    35     $commands = sprintf("this.set_unread_count('%s', %d);\n", $mbox_name, $IMAP->messagecount($mbox_name, 'UNSEEN')); 
     35 
     36    $commands = interface_total_messages($mbox_name); 
    3637    rcube_remote_response($commands); 
    3738    } 
    3839  } 
  • steps/mail/move_del.inc

     
    6868 
    6969// update mailboxlist 
    7070$mbox = $IMAP->get_mailbox_name(); 
    71 $commands .= sprintf("this.set_unread_count('%s', %d);\n", $mbox, $IMAP->messagecount($mbox, 'UNSEEN')); 
     71$commands .= interface_total_messages($mbox); 
    7272 
    7373if ($_action=='moveto') 
    74   $commands .= sprintf("this.set_unread_count('%s', %d);\n", $_GET['_target_mbox'], $IMAP->messagecount($_GET['_target_mbox'], 'UNSEEN')); 
     74  $commands .= interface_total_messages($_GET['_target_mbox']); 
    7575 
    7676$commands .= sprintf("this.set_quota('%s');\n", $IMAP->get_quota());  
    7777