X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fcompose.php;h=27a8ccf091690247eda290d1f3292b09e1320f6a;hb=6c766fd5dccb5a7f87a97b7a0c2e0f5598ee1c8d;hp=082af4d616cdfaa0b8c7ff1190d35987b602a391;hpb=5628fdde05c1b41eb32e1d6bb4274108c4284c5d;p=squirrelmail.git diff --git a/src/compose.php b/src/compose.php index 082af4d6..27a8ccf0 100644 --- a/src/compose.php +++ b/src/compose.php @@ -25,12 +25,83 @@ require_once(SM_PATH . 'include/validate.php'); require_once(SM_PATH . 'functions/imap.php'); require_once(SM_PATH . 'functions/date.php'); require_once(SM_PATH . 'functions/mime.php'); -//require_once(SM_PATH . 'functions/smtp.php'); require_once(SM_PATH . 'functions/plugin.php'); require_once(SM_PATH . 'functions/display_messages.php'); require_once(SM_PATH . 'class/deliver/Deliver.class.php'); +/* --------------------- Get globals ------------------------------------- */ +$username = $_SESSION['username']; +$onetimepad = $_SESSION['onetimepad']; +$base_uri = $_SESSION['base_uri']; +$delimiter = $_SESSION['delimiter']; + +if (isset($_POST['return'])) { + $html_addr_search_done = 'Use Addresses'; +} +if ( isset($_SESSION['composesession']) ) { + $composesession = $_SESSION['composesession']; +} +sqextractGlobalVar('action'); +sqextractGlobalVar('session'); +sqextractGlobalVar('mailbox'); +sqextractGlobalVar('identity'); +sqextractGlobalVar('send_to'); +sqextractGlobalVar('send_to_cc'); +sqextractGlobalVar('send_to_bcc'); +sqextractGlobalVar('subject'); +sqextractGlobalVar('body'); +sqextractGlobalVar('mailprio'); +sqextractGlobalVar('request_mdn'); +sqextractGlobalVar('request_dr'); +sqextractGlobalVar('html_addr_search'); +sqextractGlobalVar('mail_sent'); +sqextractGlobalVar('passed_id'); +sqextractGlobalVar('passed_ent_id'); +sqextractGlobalVar('send'); + +if ( isset($_POST['sigappend']) ) { + $sigappend = $_POST['sigappend']; +} +/* From addressbook search */ +if ( isset($_POST['from_htmladdr_search']) ) { + $from_htmladdr_search = $_POST['from_htmladdr_search']; +} +if ( isset($_POST['addr_search_done']) ) { + $html_addr_search_done = $_POST['addr_search_done']; +} +if ( isset($_POST['send_to_search']) ) { + $send_to_search = &$_POST['send_to_search']; +} + +/* Attachments */ +sqextractGlobalVar('attach'); +if ( isset($_POST['do_delete']) ) { + $do_delete = $_POST['do_delete']; +} +if ( isset($_POST['delete']) ) { + $delete = &$_POST['delete']; +} +if ( isset($_SESSION['compose_messages']) ) { + $compose_messages = &$_SESSION['compose_messages']; +} + + +/* Forward message as attachment */ +if ( isset($_GET['attachedmessages']) ) { + $attachedmessages = $_GET['attachedmessages']; +} + +/* Drafts */ +sqextractGlobalVar('draft'); +sqextractGlobalVar('draft_id'); +sqextractGlobalVar('ent_num'); +sqextractGlobalVar('saved_draft'); +sqextractGlobalVar('delete_draft'); + +$key = $_COOKIE['key']; + /* --------------------- Specific Functions ------------------------------ */ + function replyAllString($header) { global $include_self_reply_all, $username, $data_dir; $excl_arr = array(); @@ -118,15 +189,16 @@ function getforwardHeader($orig_header) { * vars. */ //$session_expired = false; -if (session_is_registered('session_expired_post')) { +sqsession_unregister('session_expired_post'); +if (false && sqsession_is_registered('session_expired_post')) { global $session_expired_post, $session_expired; /* * extra check for username so we don't display previous post data from * another user during this session. */ if ($session_expired_post['username'] != $username) { - session_unregister('session_expired_post'); - session_unregister('session_expired'); + sqsession_unregister('session_expired_post'); + sqsession_unregister('session_expired'); } else { foreach ($session_expired_post as $postvar => $val) { if (isset($val)) { @@ -140,11 +212,12 @@ if (session_is_registered('session_expired_post')) { } $session_expired = true; } - session_unregister('session_expired_post'); - session_unregister('session_expired'); + sqsession_unregister('session_expired_post'); + sqsession_unregister('session_expired'); if (!isset($mailbox)) { $mailbox = ''; } + if ($compose_new_win == '1') { compose_Header($color, $mailbox); } else { @@ -153,13 +226,13 @@ if (session_is_registered('session_expired_post')) { showInputForm($session, false); exit(); } - if (!isset($composesession)) { $composesession = 0; sqsession_register(0,'composesession'); } if (!isset($session) || (isset($newmessage) && $newmessage)) { + sqsession_unregister('composesession'); $session = "$composesession" +1; $composesession = $session; sqsession_register($composesession,'composesession'); @@ -184,15 +257,13 @@ if (!isset($mailbox) || $mailbox == '' || ($mailbox == 'None')) { $mailbox = 'INBOX'; } -if (isset($draft)) { - /* - * Set $default_charset to correspond with the user's selection - * of language interface. - */ - set_my_charset(); - $composeMessage=$compose_messages[$session]; - $Result = sendMessage($composeMessage, true); - +if ($draft) { + /* + * Set $default_charset to correspond with the user's selection + * of language interface. + */ + set_my_charset(); + $composeMessage=$compose_messages[$session]; if (! sendMessage($composeMessage, true)) { showInputForm($session); exit(); @@ -218,10 +289,10 @@ if (isset($draft)) { } } -if (isset($send)) { - if (isset($HTTP_POST_FILES['attachfile']) && - $HTTP_POST_FILES['attachfile']['tmp_name'] && - $HTTP_POST_FILES['attachfile']['tmp_name'] != 'none') { +if ($send) { + if (isset($_FILES['attachfile']) && + $_FILES['attachfile']['tmp_name'] && + $_FILES['attachfile']['tmp_name'] != 'none') { $AttachFailure = saveAttachedFiles($session); } if (checkInput(false) && !isset($AttachFailure)) { @@ -262,6 +333,7 @@ if (isset($send)) { $body = $newBody; do_hook('compose_send'); $composeMessage=$compose_messages[$session]; + $Result = sendMessage($composeMessage); if (! $Result) { showInputForm($session); @@ -280,10 +352,6 @@ if (isset($send)) { "&startMessage=1"); } } else { - /* - *$imapConnection = sqimap_login($username, $key, $imapServerAddress, - * $imapPort, 0); - */ if ($compose_new_win == '1') { compose_Header($color, $mailbox); } @@ -330,10 +398,10 @@ if (isset($send)) { } showInputForm($session); } elseif (isset($html_addr_search)) { - if (isset($HTTP_POST_FILES['attachfile']) && - $HTTP_POST_FILES['attachfile']['tmp_name'] && - $HTTP_POST_FILES['attachfile']['tmp_name'] != 'none') { - if (saveAttachedFiles($session)) { + if (isset($_FILES['attachfile']) && + $_FILES['attachfile']['tmp_name'] && + $_FILES['attachfile']['tmp_name'] != 'none') { + if(saveAttachedFiles($session)) { plain_error_message(_("Could not move/copy file. File not attached"), $color); } } @@ -575,6 +643,7 @@ function newMail ($mailbox='', $passed_id='', $passed_ent_id='', $action='', $se $body = getforwardHeader($orig_header) . $body; sqUnWordWrap($body); $composeMessage = getAttachments($message, $composeMessage, $passed_id, $entities, $imapConnection); + $body = "\n" . $body; break; case ('forward_as_attachment'): $composeMessage = getMessage_RFC822_Attachment($message, $composeMessage, $passed_id, $passed_ent_id, $imapConnection); @@ -597,16 +666,18 @@ function newMail ($mailbox='', $passed_id='', $passed_ent_id='', $action='', $se } /* this corrects some wrapping/quoting problems on replies */ $rewrap_body = explode("\n", $body); - - $body = getReplyCitation($orig_header->from->personal); + $from = (is_array($orig_header->from)) ? + $orig_header->from[0] : $orig_header->from; + $body = getReplyCitation($from->getAddress(false)); + sqUnWordWrap($body); $cnt = count($rewrap_body); for ($i=0;$i<$cnt;$i++) { - // sqWordWrap($rewrap_body[$i], ($editor_size - 2)); + sqWordWrap($rewrap_body[$i], ($editor_size)); if (preg_match("/^(>+)/", $rewrap_body[$i], $matches)) { $gt = $matches[1]; - $body .= '>' . str_replace("\n", "\n$gt ", $rewrap_body[$i]) ."\n"; + $body .= '>' . str_replace("\n", "\n>$gt ", rtrim($rewrap_body[$i])) ."\n"; } else { - $body .= '> ' . $rewrap_body[$i] . "\n"; + $body .= '> ' . str_replace("\n", "\n> ", rtrim($rewrap_body[$i])) . "\n"; } unset($rewrap_body[$i]); } @@ -756,7 +827,6 @@ function showInputForm ($session, $values=false) { echo "\n" . '