| | |
| | | $mbox_name = $RCMAIL->storage->get_folder(); |
| | | |
| | | if (empty($RCMAIL->action)) { |
| | | // initialize searching result if search_filter is used |
| | | if ($_SESSION['search_filter'] && $_SESSION['search_filter'] != 'ALL') { |
| | | $RCMAIL->storage->search($mbox_name, $_SESSION['search_filter'], RCUBE_CHARSET, rcmail_sort_column()); |
| | | |
| | | $search_request = md5($mbox_name.$_SESSION['search_filter']); |
| | | $_SESSION['search'] = $RCMAIL->storage->get_search_set(); |
| | | $_SESSION['search_request'] = $search_request; |
| | | |
| | | $OUTPUT->set_env('search_request', $search_request); |
| | | } |
| | | |
| | | $OUTPUT->set_env('search_mods', rcmail_search_mods()); |
| | | |
| | | if (!empty($_SESSION['search_scope'])) |
| | |
| | | $head_replace = true; |
| | | } |
| | | |
| | | $delimiter = $RCMAIL->storage->get_hierarchy_delimiter(); |
| | | $search_set = $RCMAIL->storage->get_search_set(); |
| | | $multifolder = $search_set && $search_set[1]->multi; |
| | | |
| | |
| | | $cont = show_bytes($header->$col); |
| | | else if ($col == 'date') |
| | | $cont = $RCMAIL->format_date($header->date); |
| | | else if ($col == 'folder') |
| | | $cont = rcube::Q(rcube_charset::convert($header->folder, 'UTF7-IMAP')); |
| | | else if ($col == 'folder') { |
| | | if ($last_folder !== $header->folder) { |
| | | $last_folder = $header->folder; |
| | | $last_folder_name = rcube_charset::convert($last_folder, 'UTF7-IMAP'); |
| | | $last_folder_name = $RCMAIL->localize_foldername($last_folder_name, true); |
| | | $last_folder_name = str_replace($delimiter, " \xC2\xBB ", $last_folder_name); |
| | | } |
| | | |
| | | $cont = rcube::Q($last_folder_name); |
| | | } |
| | | else |
| | | $cont = rcube::Q($header->$col); |
| | | |
| | |
| | | // unsupported (e.g. encrypted) |
| | | if ($part->realtype) { |
| | | if ($part->realtype == 'multipart/encrypted' || $part->realtype == 'application/pkcs7-mime') { |
| | | $out .= html::span('part-notice', $RCMAIL->gettext('encryptedmessage')); |
| | | if (!empty($_SESSION['browser_caps']['pgpmime']) && $part->realtype == 'multipart/encrypted') { |
| | | // find the encrypted message payload part |
| | | foreach ($MESSAGE->mime_parts as $mime_id => $mpart) { |
| | | if ($mpart->mimetype == 'application/octet-stream' || !empty($mpart->filename)) { |
| | | $out .= html::span('part-notice', $RCMAIL->gettext('externalmessagedecryption')); |
| | | $OUTPUT->set_env('pgp_mime_part', $mime_id); |
| | | $OUTPUT->set_env('pgp_mime_container', '#' . $attrib['id']); |
| | | $OUTPUT->add_label('loadingdata'); |
| | | $MESSAGE->encrypted_part = $mime_id; |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (!$MESSAGE->encrypted_part) { |
| | | $out .= html::span('part-notice', $RCMAIL->gettext('encryptedmessage')); |
| | | } |
| | | } |
| | | continue; |
| | | } |
| | |
| | | // message is cached but not exists (#1485443), or other error |
| | | if ($body === false) { |
| | | rcmail_message_error($MESSAGE->uid); |
| | | } |
| | | |
| | | // check if the message body is PGP encrypted |
| | | if (strpos($body, 'BEGIN PGP MESSAGE') !== false) { |
| | | $OUTPUT->set_env('is_pgp_content', '#' . $attrib['id']); |
| | | } |
| | | |
| | | $plugin = $RCMAIL->plugins->exec_hook('message_body_prefix', |
| | |
| | | // Fixes some content-type names |
| | | function rcmail_fix_mimetype($name) |
| | | { |
| | | $map = array( |
| | | 'image/x-ms-bmp' => 'image/bmp', // #1490282 |
| | | ); |
| | | |
| | | if ($alias = $map[strtolower($name)]) { |
| | | $name = $alias; |
| | | } |
| | | // Some versions of Outlook create garbage Content-Type: |
| | | // application/pdf.A520491B_3BF7_494D_8855_7FAC2C6C0608 |
| | | if (preg_match('/^application\/pdf.+/', $name)) { |
| | | else if (preg_match('/^application\/pdf.+/', $name)) { |
| | | $name = 'application/pdf'; |
| | | } |
| | | // treat image/pjpeg (image/pjpg, image/jpg) as image/jpeg (#1489097) |
| | |
| | | $select_filter->add($RCMAIL->gettext('priority').': '.$RCMAIL->gettext('low'), 'HEADER X-PRIORITY 4'); |
| | | $select_filter->add($RCMAIL->gettext('priority').': '.$RCMAIL->gettext('lowest'), 'HEADER X-PRIORITY 5'); |
| | | |
| | | $out = $select_filter->show($_SESSION['search_filter']); |
| | | $out = $select_filter->show($_REQUEST['_search'] ? $_SESSION['search_filter'] : 'ALL'); |
| | | |
| | | $RCMAIL->output->add_gui_object('search_filter', $attrib['id']); |
| | | |