* This file is used for reading the msgs array and displaying
* the resulting emails in the right frame.
*
- * @copyright © 1999-2007 The SquirrelMail Project Team
+ * @copyright 1999-2010 The SquirrelMail Project Team
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @version $Id$
* @package squirrelmail
if ($special_encoding) {
$mime_header->encoding = $special_encoding;
} else {
- $mime_header->encoding = 'us-ascii';
+ $mime_header->encoding = '7bit';
}
if ($default_charset) {
$mime_header->parameters['charset'] = $default_charset;
$mime_header = new MessageHeader;
$mime_header->type0 = 'message';
$mime_header->type1 = 'disposition-notification';
- $mime_header->encoding = 'us-ascii';
+ $mime_header->encoding = '7bit';
$part2->mime_header = $mime_header;
$composeMessage = new Message();
} else {
require_once(SM_PATH . 'class/deliver/Deliver_SMTP.class.php');
$deliver = new Deliver_SMTP();
- global $smtpServerAddress, $smtpPort, $pop_before_smtp;
+ global $smtpServerAddress, $smtpPort, $pop_before_smtp, $pop_before_smtp_host;
$authPop = (isset($pop_before_smtp) && $pop_before_smtp) ? true : false;
+ if (empty($pop_before_smtp_host)) $pop_before_smtp_host = $smtpServerAddress;
get_smtp_user($user, $pass);
$stream = $deliver->initStream($composeMessage,$domain,0,
- $smtpServerAddress, $smtpPort, $user, $pass, $authPop);
+ $smtpServerAddress, $smtpPort, $user, $pass, $authPop, $pop_before_smtp_host);
}
$success = false;
if ($stream) {
$success = $deliver->finalizeStream($stream);
}
if (!$success) {
- $msg = _("Message not sent.") . "<br />\n" .
+ $msg = _("Message not sent.") . "\n" .
$deliver->dlv_msg;
if (! empty($deliver->dlv_server_msg)) {
- $msg.= '<br />' .
+ $msg.= "\n" .
_("Server replied:") . ' ' . $deliver->dlv_ret_nr . ' ' .
nl2br(htmlspecialchars($deliver->dlv_server_msg));
}
}
require_once(SM_PATH . 'class/deliver/Deliver_IMAP.class.php');
$imap_deliver = new Deliver_IMAP();
- $imap_deliver->mail($composeMessage, $imapConnection, 0, 0, $sent_folder);
+ $imap_deliver->mail($composeMessage, $imapConnection, 0, 0, $imapConnection, $sent_folder);
unset ($imap_deliver);
}
}
/**
* Format message toolbar
*
- * @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
- * @param object $mbx_response
+ * @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
+ * @param void $removedVar This parameter is no longer used, but remains
+ * so as not to break this function's prototype
+ * (OPTIONAL)
+ * @param boolean $nav_on_top When TRUE, the menubar is being constructed
+ * for use at the top of the page, otherwise it
+ * will be used for page bottom (OPTIONAL;
+ * default = TRUE)
*/
-function formatMenubar($aMailbox, $passed_id, $passed_ent_id, $message, $removedVar, $nav_on_top = TRUE) {
+function formatMenubar($aMailbox, $passed_id, $passed_ent_id, $message,
+ $removedVar=FALSE, $nav_on_top=TRUE) {
+
global $base_uri, $draft_folder, $where, $what, $sort,
$startMessage, $PHP_SELF, $save_as_draft,
$enable_forward_as_attachment, $imapConnection, $lastTargetMailbox,
'&mailbox='.$urlMailbox.'&sort='.$sort.
'&startMessage='.$startMessage.'&show_more=0'.
"&where=$where&what=$what" .
- '&delete_id='.$passed_id;
+ '&delete_id='.$passed_id .
+ '&smtoken='.sm_generate_security_token();
}
if ($next >= 0) {
'&mailbox='.$urlMailbox.'&sort='.$sort.
'&startMessage='.$startMessage.'&show_more=0'.
"&where=$where&what=$what" .
- '&delete_id='.$passed_id;
+ '&delete_id='.$passed_id .
+ '&smtoken='.sm_generate_security_token();
}
}
}
// If Draft folder - create Resume link
$resume_draft = $edit_as_new = false;
- if (($mailbox == $draft_folder) && ($save_as_draft)) {
- $resume_draft = true; 'smaction_draft';
+ if (isDraftMailbox($mailbox) && ($save_as_draft)) {
+ $resume_draft = true;
} else if (handleAsSent($mailbox)) {
$edit_as_new = true;
}
$oTemplate->assign('can_be_copied', false);
}
+ // access keys... only add to the top menubar, because adding
+ // them twice makes them less functional (press access key, *then*
+ // press <enter> to make it work)
+ //
+ if ($nav_on_top) {
+ global $accesskey_read_msg_reply, $accesskey_read_msg_reply_all,
+ $accesskey_read_msg_forward, $accesskey_read_msg_as_attach,
+ $accesskey_read_msg_delete, $accesskey_read_msg_bypass_trash,
+ $accesskey_read_msg_move, $accesskey_read_msg_move_to;
+ } else {
+ $accesskey_read_msg_reply = $accesskey_read_msg_reply_all =
+ $accesskey_read_msg_forward = $accesskey_read_msg_as_attach =
+ $accesskey_read_msg_delete = $accesskey_read_msg_bypass_trash =
+ $accesskey_read_msg_move = $accesskey_read_msg_move_to = 'NONE';
+ }
+ $oTemplate->assign('accesskey_read_msg_reply', $accesskey_read_msg_reply);
+ $oTemplate->assign('accesskey_read_msg_reply_all', $accesskey_read_msg_reply_all);
+ $oTemplate->assign('accesskey_read_msg_forward', $accesskey_read_msg_forward);
+ $oTemplate->assign('accesskey_read_msg_as_attach', $accesskey_read_msg_as_attach);
+ $oTemplate->assign('accesskey_read_msg_delete', $accesskey_read_msg_delete);
+ $oTemplate->assign('accesskey_read_msg_bypass_trash', $accesskey_read_msg_bypass_trash);
+ $oTemplate->assign('accesskey_read_msg_move_to', $accesskey_read_msg_move_to);
+ $oTemplate->assign('accesskey_read_msg_move', $accesskey_read_msg_move);
+
global $null;
do_hook('read_body_menu', $null);
function formatToolbar($mailbox, $passed_id, $passed_ent_id, $message, $color) {
global $base_uri, $where, $what, $show_html_default,
- $oTemplate, $download_href,
+ $oTemplate, $download_href, $PHP_SELF,
$unsafe_image_toggle_href, $unsafe_image_toggle_text;
$urlMailbox = urlencode($mailbox);
}
$url = $base_uri.'src/view_header.php?'.$query_string;
-
- // 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,
'Text' => _("View Full Header")
);
- $links[] = array (
- 'URL' => $pf_params,
- 'Text' => _("View Printable Version")
+
+ if ( checkForJavaScript() ) {
+ $links[] = array (
+ 'URL' => 'javascript:printThis();',
+ 'Text' => _("Print"),
+ );
+ } else {
+ $links[] = array (
+ 'URL' => set_url_var($PHP_SELF, 'print', '1'),
+ 'Text' => _("Print"),
+ 'Target' => '_blank'
);
+ }
+
$links[] = array (
'URL' => $download_href,
'Text' => _("Download this as a file")
}
/** GET/POST VARS */
+sqgetGlobalVar('passed_id', $passed_id, SQ_INORDER, NULL, SQ_TYPE_BIGINT);
sqgetGlobalVar('passed_ent_id', $passed_ent_id);
sqgetGlobalVar('mailbox', $mailbox);
-if ( sqgetGlobalVar('passed_id', $temp) ) {
- $passed_id = (int) $temp;
-}
if ( sqgetGlobalVar('sort', $temp) ) {
$sort = (int) $temp;
}
/* End of block for handling incoming url vars */
/***********************************************/
+$oTemplate->assign('aAttribs', array('class' => 'entity_sep'));
+$hr = $oTemplate->fetch('horizontal_rule.tpl');
$messagebody = '';
do_hook('read_body_top', $null);
if ($show_html_default == 1) {
for ($i = 0; $i < $cnt; $i++) {
$messagebody .= formatBody($imapConnection, $message, $color, $wrap_at, $ent_ar[$i], $passed_id, $mailbox);
if ($i != $cnt-1) {
- $messagebody .= '<hr />';
+ $messagebody .= $hr;
}
}
$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);
+
+/* this is the non-javascript version of printer friendly */
+if ( sqgetGlobalVar('print', $print, SQ_GET) ) {
+ $oTemplate->display('read_message_print.tpl');
+} else {
+ formatMenubar($aMailbox, $passed_id, $passed_ent_id, $message,false);
+}
formatEnvheader($aMailbox, $passed_id, $passed_ent_id, $message, $color, $FirstTimeSee);
$oTemplate->assign('message_body', $messagebody);