X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=src%2Fread_body.php;h=85c0ab60eb879ffeec47aed40e31c9893271618b;hp=a814cd6ca2c94e72450b73177af31d5eab3d08b1;hb=14e1d36e610855b596c58ea42d139d1b287f896d;hpb=ebd2391cb0c5e3049870f90fa8a8b28707e9571a diff --git a/src/read_body.php b/src/read_body.php index a814cd6c..85c0ab60 100644 --- a/src/read_body.php +++ b/src/read_body.php @@ -128,8 +128,9 @@ function ServerMDNSupport($aFlags) { } function SendMDN ( $mailbox, $passed_id, $message, $imapConnection) { - global $squirrelmail_language, $default_charset, - $languages, $useSendmail, $domain, $sent_folder; + global $squirrelmail_language, $default_charset, $default_move_to_sent, + $languages, $useSendmail, $domain, $sent_folder, $username, + $data_dir; sqgetGlobalVar('SERVER_NAME', $SERVER_NAME, SQ_SERVER); @@ -262,26 +263,51 @@ function SendMDN ( $mailbox, $passed_id, $message, $imapConnection) { } $success = false; if ($stream) { - $length = $deliver->mail($composeMessage, $stream); + $deliver->mail($composeMessage, $stream); $success = $deliver->finalizeStream($stream); } if (!$success) { - $msg = _("Message not sent.") . "
\n" . + $msg = _("Message not sent.") . "\n" . $deliver->dlv_msg; if (! empty($deliver->dlv_server_msg)) { - $msg.= '
' . + $msg.= "\n" . _("Server replied:") . ' ' . $deliver->dlv_ret_nr . ' ' . nl2br(htmlspecialchars($deliver->dlv_server_msg)); } plain_error_message($msg); } else { unset ($deliver); - if (sqimap_mailbox_exists ($imapConnection, $sent_folder)) { - $sid = sqimap_append ($imapConnection, $sent_folder, $length); + + // move to sent folder + // + $move_to_sent = getPref($data_dir,$username,'move_to_sent'); + if (isset($default_move_to_sent) && ($default_move_to_sent != 0)) { + $svr_allow_sent = true; + } else { + $svr_allow_sent = false; + } + + if (isset($sent_folder) && (($sent_folder != '') || ($sent_folder != 'none')) + && sqimap_mailbox_exists( $imapConnection, $sent_folder)) { + $fld_sent = true; + } else { + $fld_sent = false; + } + + if ((isset($move_to_sent) && ($move_to_sent != 0)) || (!isset($move_to_sent))) { + $lcl_allow_sent = true; + } else { + $lcl_allow_sent = false; + } + + if (($fld_sent && $svr_allow_sent && !$lcl_allow_sent) || ($fld_sent && $lcl_allow_sent)) { + $save_reply_with_orig=getPref($data_dir,$username,'save_reply_with_orig'); + if ($save_reply_with_orig) { + $sent_folder = $mailbox; + } require_once(SM_PATH . 'class/deliver/Deliver_IMAP.class.php'); $imap_deliver = new Deliver_IMAP(); - $imap_deliver->mail($composeMessage, $imapConnection); - sqimap_append_done ($imapConnection, $sent_folder); + $imap_deliver->mail($composeMessage, $imapConnection, 0, 0, $sent_folder); unset ($imap_deliver); } } @@ -329,9 +355,10 @@ function formatRecipientString($recipients, $item ) { $a = array(); foreach ($recipients as $r) { $a[] = array( - 'Name' => htmlspecialchars($r->getAddress(false)), + // note: decodeHeader is htmlsafe by default + 'Name' => decodeHeader($r->getAddress(false)), 'Email' => htmlspecialchars($r->getEmail()), - 'Full' => htmlspecialchars($r->getAddress(true)) + 'Full' => decodeHeader($r->getAddress(true)) ); } @@ -376,6 +403,10 @@ function formatEnvheader($aMailbox, $passed_id, $passed_ent_id, $message, $oTemplate->assign('xmailer', decodeHeader($header->xmailer)); $env[_("Mailer")] = $oTemplate->fetch('read_xmailer.tpl'); } + + // this is used for both mdn and also general use for plugins, etc + $oTemplate->assign('first_time_reading', $FirstTimeSee); + if ($default_use_mdn) { if ($mdn_user_support) { if ($header->dnt) { @@ -393,9 +424,6 @@ function formatEnvheader($aMailbox, $passed_id, $passed_ent_id, $message, } } - // this is used for both mdn and also general use for plugins, etc - $oTemplate->assign('first_time_reading', $FirstTimeSee); - $statuses = array(); if (isset($aMailbox['MSG_HEADERS'][$passed_id]['FLAGS'])) { if (isset($aMailbox['MSG_HEADERS'][$passed_id]['FLAGS']['\\deleted']) && @@ -430,7 +458,7 @@ function formatEnvheader($aMailbox, $passed_id, $passed_ent_id, $message, /** * Format message toolbar * - * @param string $mailbox Name of current mailbox + * @param array $aMailbox Current mailbox information array * @param int $passed_id UID of current message * @param int $passed_ent_id Id of entity within message * @param object $message Current message object @@ -530,11 +558,11 @@ function formatMenubar($aMailbox, $passed_id, $passed_ent_id, $message, $removed } } - // Start with Search Results or Message List link. - $list_xtra = "?where=read_body.php&what=$what&mailbox=" . $urlMailbox. - "&startMessage=$startMessage"; - $msg_list_href = $base_uri .'src/right_main.php'. $list_xtra; - $search_href = $where=='search.php' ? $base_uri .'src/search.php?'.$list_xtra : ''; + $msg_list_href = get_message_list_uri($aMailbox['NAME'], $startMessage, $what); + if ($where == 'search.php') + $search_href = str_replace('read_body.php', 'search.php', $msg_list_href); + else + $search_href = ''; $comp_uri = $base_uri.'src/compose.php' . '?passed_id=' . $passed_id . @@ -663,16 +691,26 @@ function formatToolbar($mailbox, $passed_id, $passed_ent_id, $message, $color) { // Build the printer friend link /* hackydiehack */ + + // Pull "view_unsafe_images" from the URL to find out if the unsafe images + // should be displayed. The default is not to display unsafe images. if( !sqgetGlobalVar('view_unsafe_images', $view_unsafe_images, SQ_GET) ) { + // If "view_unsafe_images" isn't part of the URL, default to not + // displaying unsafe images. $view_unsafe_images = false; } else { + // If "view_unsafe_images" is part of the URL, display unsafe images + // regardless of the value of the URL variable. + // FIXME: Do we really want to display the unsafe images regardless of the value in URL variable? $view_unsafe_images = true; } + $pf_params = '?passed_ent_id=' . $urlPassed_ent_id . '&mailbox=' . $urlMailbox . '&passed_id=' . $urlPassed_id . '&view_unsafe_images='. (bool) $view_unsafe_images . '&show_html_default=' . $show_html_default; + $links = array(); $links[] = array ( 'URL' => $url, @@ -781,6 +819,7 @@ if(sqgetGlobalVar('view_unsafe_images', $temp)) { } else { $view_unsafe_images = 0; } + /** * Retrieve mailbox cache */ @@ -946,8 +985,11 @@ $mailbox_cache[$iAccount.'_'.$aMailbox['NAME']] = $aMailbox; sqsession_register($mailbox_cache,'mailbox_cache'); $_SESSION['mailbox_cache'] = $mailbox_cache; +// message list URI is used in page header when on read_body +$oTemplate->assign('message_list_href', get_message_list_uri($aMailbox['NAME'], $startMessage, $what)); + displayPageHeader($color, $mailbox,'',''); -formatMenuBar($aMailbox, $passed_id, $passed_ent_id, $message,false); +formatMenubar($aMailbox, $passed_id, $passed_ent_id, $message,false); formatEnvheader($aMailbox, $passed_id, $passed_ent_id, $message, $color, $FirstTimeSee); $oTemplate->assign('message_body', $messagebody); @@ -976,7 +1018,7 @@ if ($attachment_common_show_images && is_array($attachment_common_show_images_li $oTemplate->display('read_display_images_inline.tpl'); } -formatMenuBar($aMailbox, $passed_id, $passed_ent_id, $message, false, FALSE); +formatMenubar($aMailbox, $passed_id, $passed_ent_id, $message, false, FALSE); do_hook('read_body_bottom', $null); sqimap_logout($imapConnection);