diff options
author | thomascube <thomas@roundcube.net> | 2006-01-05 00:37:10 +0000 |
---|---|---|
committer | thomascube <thomas@roundcube.net> | 2006-01-05 00:37:10 +0000 |
commit | 15a9d1ce671fcbc44ea3e4858d7aa6f5b22300c9 (patch) | |
tree | 30e15c3f52ff435d5b08691424515995d8b077c9 /program/steps/mail/func.inc | |
parent | 977a295eb1e97e0c230063da40b8296fca778814 (diff) |
Optimized loading time; added periodic mail check; added EXPUNGE command
Diffstat (limited to 'program/steps/mail/func.inc')
-rw-r--r-- | program/steps/mail/func.inc | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc index c430467d1..8ebd1c59c 100644 --- a/program/steps/mail/func.inc +++ b/program/steps/mail/func.inc @@ -69,6 +69,8 @@ function rcmail_mailbox_list($attrib) static $s_added_script = FALSE; static $a_mailboxes; +// $mboxlist_start = rcube_timer(); + $type = $attrib['type'] ? $attrib['type'] : 'ul'; $add_attrib = $type=='select' ? array('style', 'class', 'id', 'name', 'onchange') : array('style', 'class', 'id'); @@ -100,7 +102,9 @@ function rcmail_mailbox_list($attrib) $a_folders = $IMAP->list_mailboxes(); $delimiter = $IMAP->get_hierarchy_delimiter(); $a_mailboxes = array(); - + +// rcube_print_time($mboxlist_start, 'list_mailboxes()'); + foreach ($a_folders as $folder) rcmail_build_folder_tree($a_mailboxes, $folder, $delimiter); } @@ -112,6 +116,8 @@ function rcmail_mailbox_list($attrib) else $out .= rcmail_render_folder_tree_html($a_mailboxes, $special_mailboxes, $mbox, $attrib['maxlength']); +// rcube_print_time($mboxlist_start, 'render_folder_tree()'); + if ($type=='ul') $OUTPUT->add_script(sprintf("%s.gui_object('mailboxlist', '%s');", $JS_OBJECT_NAME, $attrib['id'])); @@ -181,7 +187,7 @@ function rcmail_render_folder_tree_html(&$arrFolders, &$special, &$mbox, $maxlen } // add unread message count display - if ($unread_count = $IMAP->messagecount($folder['id'], 'UNSEEN', ($folder['id']==$mbox))) + if ($unread_count = $IMAP->messagecount($folder['id'], 'RECENT', ($folder['id']==$mbox))) $foldername .= sprintf(' (%d)', $unread_count); // make folder name safe for ids and class names @@ -397,7 +403,12 @@ function rcmail_message_list($attrib) if ($attrib['attachmenticon'] && preg_match("/multipart\/m/i", $header->ctype)) $attach_icon = $attrib['attachmenticon']; - $out .= sprintf('<tr id="rcmrow%d" class="message'.($header->seen ? '' : ' unread').' '.$zebra_class.'">'."\n", $header->uid); + $out .= sprintf('<tr id="rcmrow%d" class="message%s%s %s">'."\n", + $header->uid, + $header->seen ? '' : ' unread', + $header->deleted ? ' deleted' : '', + $zebra_class); + $out .= sprintf("<td class=\"icon\">%s</td>\n", $message_icon ? sprintf($image_tag, $skin_path, $message_icon, '') : ''); // format each col @@ -495,12 +506,16 @@ function rcmail_js_message_list($a_headers, $insert_top=FALSE) $a_msg_flags['unread'] = $header->seen ? 0 : 1; $a_msg_flags['replied'] = $header->answered ? 1 : 0; + + if ($header->deleted) + $a_msg_flags['deleted'] = 1; - $commands .= sprintf("this.add_message_row(%s, %s, %s, %b);\n", + $commands .= sprintf("this.add_message_row(%s, %s, %s, %b, %b);\n", $header->uid, array2js($a_msg_cols), array2js($a_msg_flags), - preg_match("/multipart\/m/i", $header->ctype)); + preg_match("/multipart\/m/i", $header->ctype), + $insert_top); } return $commands; @@ -1377,11 +1392,11 @@ function rcmail_compose_cleanup() // remove attachment files from temp dir if (is_array($_SESSION['compose']['attachments'])) foreach ($_SESSION['compose']['attachments'] as $attachment) - unlink($attachment['path']); + @unlink($attachment['path']); // kill temp dir if ($_SESSION['compose']['temp_dir']) - rmdir($_SESSION['compose']['temp_dir']); + @rmdir($_SESSION['compose']['temp_dir']); unset($_SESSION['compose']); } |