alecpl
2009-09-17 cbeea3d4d092f6ae2310175a57fe15b43d608b33
- some code improvements for r2959 change


5 files modified
92 ■■■■■ changed files
program/steps/mail/check_recent.inc 19 ●●●● patch | view | raw | blame | history
program/steps/mail/func.inc 48 ●●●● patch | view | raw | blame | history
program/steps/mail/list.inc 10 ●●●● patch | view | raw | blame | history
program/steps/mail/mark.inc 8 ●●●● patch | view | raw | blame | history
program/steps/mail/move_del.inc 7 ●●●● patch | view | raw | blame | history
program/steps/mail/check_recent.inc
@@ -69,29 +69,14 @@
      }
    }
    else {
      send_unread_count($mbox_name);
      rcmail_send_unread_count($mbox_name, true);
    }
  }
  else if ($check_all) {
    send_unread_count($mbox_name);
    rcmail_send_unread_count($mbox_name, true);
  }
}
$OUTPUT->send();
function send_unread_count($mbox_name)
{
    global $RCMAIL;
    $old_unseen = $_SESSION['unseen_count'][$mbox_name];
    $unseen = $RCMAIL->imap->messagecount($mbox_name, 'UNSEEN', true);
    if ($unseen != $old_unseen)
      $RCMAIL->output->command('set_unread_count', $mbox_name, $unseen, ($mbox_name == 'INBOX'));
    // @TODO: this data is doubled (session and cache tables) if caching is enabled
    $_SESSION['unseen_count'][$mbox_name] = $unseen;
}
?>
program/steps/mail/func.inc
@@ -489,9 +489,6 @@
  }
/**
 *
 */
function rcmail_messagecount_display($attrib)
  {
  global $IMAP, $OUTPUT;
@@ -505,9 +502,6 @@
  }
/**
 *
 */
function rcmail_quota_display($attrib)
  {
  global $OUTPUT, $COMM_PATH;
@@ -524,9 +518,6 @@
  }
/**
 *
 */
function rcmail_quota_content($quota=NULL, $attrib=NULL)
  {
  global $IMAP, $COMM_PATH, $RCMAIL;
@@ -579,9 +570,6 @@
  }
/**
 *
 */
function rcmail_get_messagecount_text($count=NULL, $page=NULL)
  {
  global $IMAP, $MESSAGE;
@@ -610,27 +598,43 @@
  return Q($out);
  }
/**
 *
 */
function rcmail_mailbox_name_display($attrib)
{
    global $RCMAIL;
  global $RCMAIL;
    if (!$attrib['id'])
        $attrib['id'] = 'rcmmailboxname';
  if (!$attrib['id'])
    $attrib['id'] = 'rcmmailboxname';
    $RCMAIL->output->add_gui_object('mailboxname', $attrib['id']);
  $RCMAIL->output->add_gui_object('mailboxname', $attrib['id']);
    return html::span($attrib, rcmail_get_mailbox_name_text());
  return html::span($attrib, rcmail_get_mailbox_name_text());
}
function rcmail_get_mailbox_name_text()
{
    global $RCMAIL;
    return rcmail_localize_foldername($RCMAIL->imap->get_mailbox_name());
  global $RCMAIL;
  return rcmail_localize_foldername($RCMAIL->imap->get_mailbox_name());
}
function rcmail_send_unread_count($mbox_name, $force=false)
{
  global $RCMAIL;
  $old_unseen = $_SESSION['unseen_count'][$mbox_name];
  $unseen = $RCMAIL->imap->messagecount($mbox_name, 'UNSEEN', $force);
  if ($unseen != $old_unseen)
    $RCMAIL->output->command('set_unread_count', $mbox_name, $unseen, ($mbox_name == 'INBOX'));
  // @TODO: this data is doubled (session and cache tables) if caching is enabled
  $_SESSION['unseen_count'][$mbox_name] = $unseen;
  return $unseen;
}
/**
 * Sets message is_safe flag according to 'show_images' option value
 *
program/steps/mail/list.inc
@@ -60,14 +60,8 @@
if ($count = $IMAP->messagecount($mbox_name, 'ALL', !empty($_REQUEST['_refresh'])))
  $a_headers = $IMAP->list_headers($mbox_name, NULL, $sort_col, $sort_order);
// count UNSEEN messages...
$old_unseen = $_SESSION['unseen_count'][$mbox_name];
$unseen = $count ? $IMAP->messagecount($mbox_name, 'UNSEEN', !empty($_REQUEST['_refresh'])) : 0;
$_SESSION['unseen_count'][$mbox_name] = $unseen;
// ...and update mailboxlist
if ($unseen != $old_unseen)
  $OUTPUT->command('set_unread_count', $mbox_name, $unseen, ($mbox_name == 'INBOX'));
// update mailboxlist
rcmail_send_unread_count($mbox_name, !empty($_REQUEST['_refresh']));
// update message count display
$pages = ceil($count/$IMAP->page_size);
program/steps/mail/mark.inc
@@ -61,13 +61,7 @@
  }
    
  if ($flag == 'SEEN' || $flag == 'UNSEEN' || ($flag == 'DELETED' && !$CONFIG['skip_deleted'])) {
    $mbox_name = $IMAP->get_mailbox_name();
    $unseen = $IMAP->messagecount($mbox_name, 'UNSEEN');
    $old_unseen = $_SESSION['unseen_count'][$mbox_name];
    if ($old_unseen != $unseen) {
      $OUTPUT->command('set_unread_count', $mbox_name, $unseen, ($mbox_name == 'INBOX'));
      $_SESSION['unseen_count'][$mbox_name] = $unseen;
    }
    rcmail_send_unread_count($IMAP->get_mailbox_name());
  }
  else if ($flag == 'DELETED' && $CONFIG['skip_deleted']) {
    if ($_POST['_from'] == 'show') {
program/steps/mail/move_del.inc
@@ -110,12 +110,7 @@
  }
  if ($RCMAIL->action=='moveto' && $target) {
    $unseen_count = $IMAP->messagecount($target, 'UNSEEN', true);
    $old_unseen = $_SESSION['unseen_count'][$target];
    if ($old_unseen != $unseen_count) {
      $OUTPUT->command('set_unread_count', $target, $unseen_count);
      $_SESSION['unseen_count'][$target] = $unseen_count;
    }
    rcmail_send_unread_count($target, true);
  }
  $OUTPUT->command('set_quota', rcmail_quota_content($IMAP->get_quota()));