Changeset 2960 in subversion


Ignore:
Timestamp:
Sep 17, 2009 8:36:32 AM (4 years ago)
Author:
alec
Message:
  • some code improvements for r2959 change
Location:
trunk/roundcubemail/program/steps/mail
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/roundcubemail/program/steps/mail/check_recent.inc

    r2959 r2960  
    7070    } 
    7171    else { 
    72       send_unread_count($mbox_name); 
     72      rcmail_send_unread_count($mbox_name, true); 
    7373    } 
    7474  } 
    7575  else if ($check_all) { 
    76     send_unread_count($mbox_name); 
     76    rcmail_send_unread_count($mbox_name, true); 
    7777  } 
    7878} 
     
    8080$OUTPUT->send(); 
    8181 
    82  
    83 function send_unread_count($mbox_name) 
    84 { 
    85     global $RCMAIL; 
    86  
    87     $old_unseen = $_SESSION['unseen_count'][$mbox_name]; 
    88     $unseen = $RCMAIL->imap->messagecount($mbox_name, 'UNSEEN', true); 
    89  
    90     if ($unseen != $old_unseen) 
    91       $RCMAIL->output->command('set_unread_count', $mbox_name, $unseen, ($mbox_name == 'INBOX')); 
    92  
    93     // @TODO: this data is doubled (session and cache tables) if caching is enabled 
    94     $_SESSION['unseen_count'][$mbox_name] = $unseen; 
    95 } 
    96  
    9782?> 
  • trunk/roundcubemail/program/steps/mail/func.inc

    r2944 r2960  
    490490 
    491491 
    492 /** 
    493  * 
    494  */ 
    495492function rcmail_messagecount_display($attrib) 
    496493  { 
     
    506503 
    507504 
    508 /** 
    509  * 
    510  */ 
    511505function rcmail_quota_display($attrib) 
    512506  { 
     
    525519 
    526520 
    527 /** 
    528  * 
    529  */ 
    530521function rcmail_quota_content($quota=NULL, $attrib=NULL) 
    531522  { 
     
    580571 
    581572 
    582 /** 
    583  * 
    584  */ 
    585573function rcmail_get_messagecount_text($count=NULL, $page=NULL) 
    586574  { 
     
    611599  } 
    612600 
    613 /** 
    614  * 
    615  */ 
     601 
    616602function rcmail_mailbox_name_display($attrib) 
    617603{ 
    618     global $RCMAIL; 
    619  
    620     if (!$attrib['id']) 
    621         $attrib['id'] = 'rcmmailboxname'; 
    622  
    623     $RCMAIL->output->add_gui_object('mailboxname', $attrib['id']); 
    624  
    625     return html::span($attrib, rcmail_get_mailbox_name_text()); 
     604  global $RCMAIL; 
     605 
     606  if (!$attrib['id']) 
     607    $attrib['id'] = 'rcmmailboxname'; 
     608 
     609  $RCMAIL->output->add_gui_object('mailboxname', $attrib['id']); 
     610 
     611  return html::span($attrib, rcmail_get_mailbox_name_text()); 
    626612} 
    627613 
    628614function rcmail_get_mailbox_name_text() 
    629615{ 
    630     global $RCMAIL; 
    631     return rcmail_localize_foldername($RCMAIL->imap->get_mailbox_name()); 
    632 } 
     616  global $RCMAIL; 
     617  return rcmail_localize_foldername($RCMAIL->imap->get_mailbox_name()); 
     618} 
     619 
     620 
     621function rcmail_send_unread_count($mbox_name, $force=false) 
     622{ 
     623  global $RCMAIL; 
     624     
     625  $old_unseen = $_SESSION['unseen_count'][$mbox_name]; 
     626  $unseen = $RCMAIL->imap->messagecount($mbox_name, 'UNSEEN', $force); 
     627 
     628  if ($unseen != $old_unseen) 
     629    $RCMAIL->output->command('set_unread_count', $mbox_name, $unseen, ($mbox_name == 'INBOX')); 
     630 
     631  // @TODO: this data is doubled (session and cache tables) if caching is enabled 
     632  $_SESSION['unseen_count'][$mbox_name] = $unseen; 
     633     
     634  return $unseen; 
     635} 
     636                               
    633637 
    634638/** 
  • trunk/roundcubemail/program/steps/mail/list.inc

    r2959 r2960  
    6161  $a_headers = $IMAP->list_headers($mbox_name, NULL, $sort_col, $sort_order); 
    6262 
    63 // count UNSEEN messages... 
    64 $old_unseen = $_SESSION['unseen_count'][$mbox_name]; 
    65 $unseen = $count ? $IMAP->messagecount($mbox_name, 'UNSEEN', !empty($_REQUEST['_refresh'])) : 0; 
    66 $_SESSION['unseen_count'][$mbox_name] = $unseen; 
    67  
    68 // ...and update mailboxlist 
    69 if ($unseen != $old_unseen) 
    70   $OUTPUT->command('set_unread_count', $mbox_name, $unseen, ($mbox_name == 'INBOX')); 
     63// update mailboxlist 
     64rcmail_send_unread_count($mbox_name, !empty($_REQUEST['_refresh'])); 
    7165 
    7266// update message count display 
  • trunk/roundcubemail/program/steps/mail/mark.inc

    r2959 r2960  
    6262     
    6363  if ($flag == 'SEEN' || $flag == 'UNSEEN' || ($flag == 'DELETED' && !$CONFIG['skip_deleted'])) { 
    64     $mbox_name = $IMAP->get_mailbox_name(); 
    65     $unseen = $IMAP->messagecount($mbox_name, 'UNSEEN'); 
    66     $old_unseen = $_SESSION['unseen_count'][$mbox_name]; 
    67     if ($old_unseen != $unseen) { 
    68       $OUTPUT->command('set_unread_count', $mbox_name, $unseen, ($mbox_name == 'INBOX')); 
    69       $_SESSION['unseen_count'][$mbox_name] = $unseen; 
    70     } 
     64    rcmail_send_unread_count($IMAP->get_mailbox_name()); 
    7165  } 
    7266  else if ($flag == 'DELETED' && $CONFIG['skip_deleted']) { 
  • trunk/roundcubemail/program/steps/mail/move_del.inc

    r2959 r2960  
    111111 
    112112  if ($RCMAIL->action=='moveto' && $target) { 
    113     $unseen_count = $IMAP->messagecount($target, 'UNSEEN', true); 
    114     $old_unseen = $_SESSION['unseen_count'][$target]; 
    115     if ($old_unseen != $unseen_count) { 
    116       $OUTPUT->command('set_unread_count', $target, $unseen_count); 
    117       $_SESSION['unseen_count'][$target] = $unseen_count; 
    118     } 
     113    rcmail_send_unread_count($target, true); 
    119114  } 
    120115 
Note: See TracChangeset for help on using the changeset viewer.