From 745b1466fc76d5ded589e2469328086002430c1c Mon Sep 17 00:00:00 2001 From: thomascube <thomas@roundcube.net> Date: Wed, 22 Feb 2006 16:58:00 -0500 Subject: [PATCH] Updated localizations --- program/steps/mail/func.inc | 73 +++++++++++++++++++++++++++--------- 1 files changed, 54 insertions(+), 19 deletions(-) diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc index c430467..926121d 100644 --- a/program/steps/mail/func.inc +++ b/program/steps/mail/func.inc @@ -21,8 +21,6 @@ require_once('lib/html2text.inc'); require_once('lib/enriched.inc'); -require_once('lib/utf8.inc'); -require_once('lib/utf7.inc'); $EMAIL_ADDRESS_PATTERN = '/([a-z0-9][a-z0-9\-\.\+\_]*@[a-z0-9]([a-z0-9\-][.]?)*[a-z0-9]\\.[a-z]{2,5})/i'; @@ -68,6 +66,11 @@ global $IMAP, $CONFIG, $OUTPUT, $JS_OBJECT_NAME, $COMM_PATH; static $s_added_script = FALSE; static $a_mailboxes; + + // add some labels to client + rcube_add_label('purgefolderconfirm'); + +// $mboxlist_start = rcube_timer(); $type = $attrib['type'] ? $attrib['type'] : 'ul'; $add_attrib = $type=='select' ? array('style', 'class', 'id', 'name', 'onchange') : @@ -100,7 +103,9 @@ $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); } @@ -111,6 +116,8 @@ $out .= rcmail_render_folder_tree_select($a_mailboxes, $special_mailboxes, $mbox, $attrib['maxlength']); 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') @@ -142,7 +149,7 @@ if (!isset($arrFolders[$currentFolder])) { $arrFolders[$currentFolder] = array('id' => $path, - 'name' => $currentFolder, + 'name' => rcube_charset_convert($currentFolder, 'UTF-7'), 'folders' => array()); } @@ -154,7 +161,7 @@ // return html for a structured list <ul> for the mailbox tree function rcmail_render_folder_tree_html(&$arrFolders, &$special, &$mbox, $maxlength, $nestLevel=0) { - global $JS_OBJECT_NAME, $IMAP, $CONFIG; + global $JS_OBJECT_NAME, $IMAP, $CONFIG, $OUTPUT; $idx = 0; $out = ''; @@ -168,7 +175,7 @@ $foldername = rcube_label($folder_lc); else { - $foldername = UTF7DecodeString($folder['name']); + $foldername = $folder['name']; // shorten the folder name to a given length if ($maxlength && $maxlength>1) @@ -181,7 +188,7 @@ } // 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 @@ -225,7 +232,7 @@ // return html for a flat list <select> for the mailbox tree function rcmail_render_folder_tree_select(&$arrFolders, &$special, &$mbox, $maxlength, $nestLevel=0) { - global $IMAP; + global $IMAP, $OUTPUT; $idx = 0; $out = ''; @@ -236,7 +243,7 @@ $foldername = rcube_label($folder_lc); else { - $foldername = UTF7DecodeString($folder['name']); + $foldername = $folder['name']; // shorten the folder name to a given length if ($maxlength && $maxlength>1) @@ -397,7 +404,12 @@ 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 @@ -431,6 +443,7 @@ $message_count = $IMAP->messagecount(); // set client env + $javascript .= sprintf("%s.gui_object('mailcontframe', '%s');\n", $JS_OBJECT_NAME, 'mailcontframe'); $javascript .= sprintf("%s.gui_object('messagelist', '%s');\n", $JS_OBJECT_NAME, $attrib['id']); $javascript .= sprintf("%s.set_env('messagecount', %d);\n", $JS_OBJECT_NAME, $message_count); $javascript .= sprintf("%s.set_env('current_page', %d);\n", $JS_OBJECT_NAME, $IMAP->list_page); @@ -495,12 +508,16 @@ $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; @@ -527,6 +544,25 @@ return $out; } + +function rcmail_quota_display($attrib) + { + global $IMAP, $OUTPUT, $JS_OBJECT_NAME; + + if (!$attrib['id']) + $attrib['id'] = 'rcmquotadisplay'; + + $OUTPUT->add_script(sprintf("%s.gui_object('quotadisplay', '%s');", $JS_OBJECT_NAME, $attrib['id'])); + + // allow the following attributes to be added to the <span> tag + $attrib_str = create_attrib_string($attrib, array('style', 'class', 'id')); + + + $out = '<span' . $attrib_str . '>'; + $out .= $IMAP->get_quota(); + $out .= '</span>'; + return $out; + } function rcmail_get_messagecount_text() @@ -563,9 +599,8 @@ extract($part); $block = $plain ? '%s' : '%s'; //'<div style="display:block;">%s</div>'; - $body = $IMAP->mime_decode($body, $encoding); + $body = $IMAP->mime_decode($body, $encoding); $body = $IMAP->charset_decode($body, $parameters); - // text/html if ($ctype_secondary=='html') @@ -787,7 +822,7 @@ } // part text/[plain|html] OR message/delivery-status - else if (($primary_type=='text' && ($secondary_type=='plain' || $secondary_type=='html')) || + else if (($primary_type=='text' && ($secondary_type=='plain' || $secondary_type=='html') && $mail_part->disposition!='attachment') || ($primary_type=='message' && $secondary_type=='delivery-status')) { $a_return_parts[] = array('type' => 'content', @@ -905,7 +940,7 @@ $out = '<table' . $attrib_str . ">\n"; // show these headers - $standard_headers = array('subject', 'from', 'organization', 'to', 'cc', 'reply-to', 'date'); + $standard_headers = array('subject', 'from', 'organization', 'to', 'cc', 'bcc', 'reply-to', 'date'); foreach ($standard_headers as $hkey) { @@ -914,7 +949,7 @@ if ($hkey=='date' && !empty($headers[$hkey])) $header_value = format_date(strtotime($headers[$hkey])); - else if (in_array($hkey, array('from', 'to', 'cc', 'reply-to'))) + else if (in_array($hkey, array('from', 'to', 'cc', 'bcc', 'reply-to'))) $header_value = rep_specialchars_output(rcmail_address_string($IMAP->decode_header($headers[$hkey]), NULL, $attrib['addicon'])); else $header_value = rep_specialchars_output($IMAP->decode_header($headers[$hkey]), '', 'all'); @@ -1377,11 +1412,11 @@ // 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']); } -- Gitblit v1.9.1