| | |
| | | - Display folder names with special chars correctly (Bug #1330157) |
| | | |
| | | |
| | | 2005/11/13 |
| | | 2005/11/18 |
| | | ---------- |
| | | - Added Finnish, Romanian, Polish, Czech, British, Norwegian, Greek, Russian and Chinese translation |
| | | - Get IMAP server capabilities in array |
| | |
| | | - Added keep-alive signal every minute |
| | | - Make logs dir configurable |
| | | - Added support for SMTPS |
| | | - Decode attachment file names |
| | | - Make delimiter for message headers configurable |
| | | - Add generic footer to sent messages |
| | | |
| | | |
| | |
| | | // default sort order |
| | | $rcmail_config['message_sort_order'] = 'DESC'; |
| | | |
| | | // path to a text file which will be added to each sent message |
| | | // paths are relative to the RoundCube root folder |
| | | $rcmail_config['generic_message_footer'] = ''; |
| | | |
| | | // this string is used as a delimiter for message headers when sending |
| | | $rcmail_config['mail_header_delimiter'] = "\r\n"; |
| | | |
| | | |
| | | /***** these settings can be overwritten by user's preferences *****/ |
| | |
| | | |
| | | function decode_header($input) |
| | | { |
| | | return $this->decode_mime_string($input); |
| | | } |
| | | |
| | | |
| | | function decode_mime_string($input) |
| | | { |
| | | $out = ''; |
| | | |
| | | $pos = strpos($input, '=?'); |
| | |
| | | $encstr = substr($input, $pos+2, ($end_pos-$pos-2)); |
| | | $rest = substr($input, $end_pos+2); |
| | | |
| | | $out .= $this->decode_mime_string($encstr); |
| | | $out .= $this->decode_header($rest); |
| | | $out .= rcube_imap::_decode_mime_string_part($encstr); |
| | | $out .= rcube_imap::decode_mime_string($rest); |
| | | |
| | | return $out; |
| | | } |
| | |
| | | } |
| | | |
| | | |
| | | function decode_mime_string($str) |
| | | function _decode_mime_string_part($str) |
| | | { |
| | | $a = explode('?', $str); |
| | | $count = count($a); |
| | |
| | | { |
| | | if (!$html_encode_arr) |
| | | { |
| | | $html_encode_arr = $CHARSET=='ISO-8859-1' ? get_html_translation_table(HTML_ENTITIES) : get_html_translation_table(HTML_SPECIALCHARS); |
| | | $html_encode_arr[chr(128)] = '€'; |
| | | if ($CHARSET=='ISO-8859-1') |
| | | { |
| | | $html_encode_arr = get_html_translation_table(HTML_ENTITIES); |
| | | $html_encode_arr[chr(128)] = '€'; |
| | | } |
| | | else |
| | | $html_encode_arr = get_html_translation_table(HTML_SPECIALCHARS); |
| | | |
| | | unset($html_encode_arr['?']); |
| | | unset($html_encode_arr['&']); |
| | | } |
| | |
| | | 'el' => 'Greek', |
| | | 'hu' => 'Hungarian', |
| | | 'it' => 'Italiano', |
| | | 'jp' => 'Japanese', |
| | | 'ja' => 'Japanese', |
| | | 'kr' => 'Korean', |
| | | 'lv' => 'Latvian', |
| | | 'nl' => 'Nederlands', |
| | |
| | | 'lv' => 'ISO-8859-2', |
| | | 'pl' => 'ISO-8859-2', |
| | | 'el' => 'ISO-8859-7', |
| | | 'tw' => 'BIG5' |
| | | 'tw' => 'BIG5', |
| | | 'ja' => 'UTF-8' |
| | | ); |
| | | |
| | | ?> |
| | |
| | | (empty($mail_part->disposition) && ($mail_part->d_parameters['filename'] || $mail_part->d_parameters['name']))) |
| | | { |
| | | if ($message_ctype_secondary=='related' && $mail_part->headers['content-id']) |
| | | $sa_inline_objects[] = array('filename' => $mail_part->d_parameters['filename'], |
| | | $sa_inline_objects[] = array('filename' => rcube_imap::decode_mime_string($mail_part->d_parameters['filename']), |
| | | 'mimetype' => strtolower("$primary_type/$secondary_type"), |
| | | 'part_id' => $mail_part->mime_id, |
| | | 'content_id' => preg_replace(array('/^</', '/>$/'), '', $mail_part->headers['content-id'])); |
| | | |
| | | else if ($mail_part->d_parameters['filename']) |
| | | $a_attachments[] = array('filename' => $mail_part->d_parameters['filename'], |
| | | $a_attachments[] = array('filename' => rcube_imap::decode_mime_string($mail_part->d_parameters['filename']), |
| | | 'encoding' => strtolower($mail_part->headers['content-transfer-encoding']), |
| | | 'mimetype' => strtolower("$primary_type/$secondary_type"), |
| | | 'part_id' => $mail_part->mime_id, |
| | |
| | | 'content' => $mail_part->body */); |
| | | |
| | | else if ($mail_part->ctype_parameters['name']) |
| | | $a_attachments[] = array('filename' => $mail_part->ctype_parameters['name'], |
| | | $a_attachments[] = array('filename' => rcube_imap::decode_mime_string($mail_part->ctype_parameters['name']), |
| | | 'encoding' => strtolower($mail_part->headers['content-transfer-encoding']), |
| | | 'mimetype' => strtolower("$primary_type/$secondary_type"), |
| | | 'part_id' => $mail_part->mime_id, |
| | |
| | | |
| | | header(sprintf('Content-Length: %d', strlen($cont))); |
| | | |
| | | // We need to set the following headers to make downloads work using IE in HTTPS mode. |
| | | if (isset($_SERVER['HTTPS'])) |
| | | { |
| | | header('Pragma: '); |
| | | header('Cache-Control: '); |
| | | } |
| | | |
| | | // deliver part content |
| | | echo $cont; |
| | | exit; |
| | |
| | | // add new rows from next page (if any) |
| | | if ($_GET['_from']!='show' && $pages>1 && $IMAP->list_page < $pages) |
| | | { |
| | | $a_headers = $IMAP->list_headers($mbox); |
| | | $a_headers = $IMAP->list_headers($mbox, null, $_SESSION['sort_col'], $_SESSION['sort_order']); |
| | | $a_headers = array_slice($a_headers, -$count, $count); |
| | | $commands .= rcmail_js_message_list($a_headers); |
| | | } |
| | |
| | | $headers['User-Agent'] = $CONFIG['useragent']; |
| | | |
| | | |
| | | // append generic footer to all messages |
| | | if (!empty($CONFIG['generic_message_footer'])) |
| | | { |
| | | $file = realpath($CONFIG['generic_message_footer']); |
| | | if($fp = fopen($file, 'r')) |
| | | { |
| | | $content = fread($fp, filesize($file)); |
| | | fclose($fp); |
| | | $_POST['_message'] .= "\r\n" . $content; |
| | | } |
| | | } |
| | | |
| | | |
| | | // use the configured delimiter for headers |
| | | $header_delm = $rcmail_config['mail_header_delimiter'] ? $rcmail_config['mail_header_delimiter'] : "\r\n"; |
| | | |
| | | // create PEAR::Mail_mime instance |
| | | $MAIL_MIME = new Mail_mime("\n"); |
| | | $MAIL_MIME = new Mail_mime($header_delm); |
| | | $MAIL_MIME->setTXTBody(stripslashes($_POST['_message']), FALSE, TRUE); |
| | | //$MAIL_MIME->setTXTBody(wordwrap(stripslashes($_POST['_message'])), FALSE, TRUE); |
| | | |
| | |
| | | $message_param = array('text_encoding' => '7bit', |
| | | 'html_encoding' => 'quoted-printable', |
| | | 'head_encoding' => 'quoted-printable', |
| | | 'head_charset' => 'ISO-8859-1', |
| | | 'html_charset' => 'ISO-8859-1', |
| | | 'text_charset' => 'ISO-8859-1'); |
| | | 'head_charset' => $CHARSET, |
| | | 'html_charset' => $CHARSET, |
| | | 'text_charset' => $CHARSET); |
| | | |
| | | // compose message body and get headers |
| | | $msg_body = $MAIL_MIME->get($message_param); |
| | |
| | | padding: 2px; |
| | | padding-right: 4px; |
| | | font-size: 11px; |
| | | overflow: hidden; |
| | | overflow: hidden; |
| | | white-space: nowrap; |
| | | text-overflow: ellipsis; |
| | | border-bottom: 1px solid #EBEBEB; |
| | | cursor: pointer; |
| | | } |