From 06895c3e947e1b15da3bb2f6f425962949edb9d9 Mon Sep 17 00:00:00 2001 From: thomascube Date: Fri, 18 May 2007 12:35:28 +0000 Subject: [PATCH] Better refresh of message list; improved HTML mail display --- program/js/app.js | 4 +++- program/steps/mail/func.inc | 22 ++++++++++++---------- program/steps/mail/list.inc | 7 ++++--- 3 files changed, 19 insertions(+), 14 deletions(-) diff --git a/program/js/app.js b/program/js/app.js index 3ee54f684..65bbee9a3 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -1244,13 +1244,15 @@ function rcube_webmail() 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; diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc index fc1741700..cc1187bd9 100644 --- a/program/steps/mail/func.inc +++ b/program/steps/mail/func.inc @@ -1207,16 +1207,18 @@ function rcmail_sanitize_html($body, $container_id) $body = preg_replace('/]+)>/Uie', "rcmail_alter_html_link('\\1');", $body); // add comments arround html and other tags - $out = preg_replace(array('/(<\/?html[^>]*>)/i', - '/(<\/?head[^>]*>)/i', - '/(]*>.*<\/title>)/Ui', - '/(<\/?meta[^>]*>)/i'), - '', - $body); - - $out = preg_replace(array('/(]*>)/i', - '/(<\/body>)/i'), - array('
', + $out = preg_replace(array( + '/(]*>)/i', + '/(<\/?head[^>]*>)/i', + '/(]*>.*<\/title>)/Ui', + '/(<\/?meta[^>]*>)/i'), + '', + $body); + + $out = preg_replace(array('/]*)>/i', + '/<\/body>/i'), + array('
', '
'), $out); diff --git a/program/steps/mail/list.inc b/program/steps/mail/list.inc index a246254d1..6c727068d 100644 --- a/program/steps/mail/list.inc +++ b/program/steps/mail/list.inc @@ -37,12 +37,13 @@ else $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->set_env('pagecount', $pages); $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