thomascube
2007-05-18 06895c3e947e1b15da3bb2f6f425962949edb9d9
Better refresh of message list; improved HTML mail display

3 files modified
31 ■■■■■ changed files
program/js/app.js 4 ●●● patch | view | raw | blame | history
program/steps/mail/func.inc 20 ●●●●● patch | view | raw | blame | history
program/steps/mail/list.inc 7 ●●●●● patch | view | raw | blame | history
program/js/app.js
@@ -1244,13 +1244,15 @@
    if (!page && mbox != this.env.mailbox)
      {
      page = 1;
      add_url += '&_refresh=1';
      this.env.current_page = page;
      if (this.message_list)
        this.message_list.clear_selection();
      this.show_contentframe(false);
      }
    
    if (mbox != this.env.mailbox || (mbox == this.env.mailbox && !page && !sort))
      add_url += '&_refresh=1';
    this.select_folder(mbox, this.env.mailbox);
    this.env.mailbox = mbox;
program/steps/mail/func.inc
@@ -1207,16 +1207,18 @@
  $body = preg_replace('/<a\s+([^>]+)>/Uie', "rcmail_alter_html_link('\\1');", $body);
  // add comments arround html and other tags
  $out = preg_replace(array('/(<\/?html[^>]*>)/i',
                            '/(<\/?head[^>]*>)/i',
                            '/(<title[^>]*>.*<\/title>)/Ui',
                            '/(<\/?meta[^>]*>)/i'),
                      '<!--\\1-->',
                      $body);
  $out = preg_replace(array(
      '/(<!DOCTYPE.+)/i',
      '/(<\/?html[^>]*>)/i',
      '/(<\/?head[^>]*>)/i',
      '/(<title[^>]*>.*<\/title>)/Ui',
      '/(<\/?meta[^>]*>)/i'),
    '<!--\\1-->',
    $body);
  $out = preg_replace(array('/(<body[^>]*>)/i',
                            '/(<\/body>)/i'),
                      array('<div class="rcmBody">',
  $out = preg_replace(array('/<body([^>]*)>/i',
                            '/<\/body>/i'),
                      array('<div class="rcmBody"\\1>',
                            '</div>'),
                      $out);
program/steps/mail/list.inc
@@ -37,12 +37,13 @@
  $sort_order = isset($_SESSION['sort_order']) ? $_SESSION['sort_order'] : $CONFIG['message_sort_order'];
}
$mbox_name = $IMAP->get_mailbox_name();
// fetch message headers
if ($count = $IMAP->messagecount())
if ($count = $IMAP->messagecount($mbox_name, 'ALL', !empty($_REQUEST['_refresh'])))
  $a_headers = $IMAP->list_headers($mbox_name, NULL, $sort_col, $sort_order);
$unseen = $IMAP->messagecount($mbox_name, 'UNSEEN', !empty($_REQUEST['_refresh']) ? TRUE : FALSE);
$unseen = $IMAP->messagecount($mbox_name, 'UNSEEN', !empty($_REQUEST['_refresh']));
// update message count display
$pages = ceil($count/$IMAP->page_size);
@@ -51,7 +52,7 @@
$OUTPUT->command('set_rowcount', rcmail_get_messagecount_text($count));
// update mailboxlist
$OUTPUT->command('set_unread_count', $IMAP->get_mailbox_name(), $unseen);
$OUTPUT->command('set_unread_count', $mbox_name, $unseen);
// add message rows