X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=src%2Fcompose.php;h=d1df5c2bbf6385fe8cdaaba653de06f11ab64f71;hp=4d315296a99f05a73aa4add006e7e36fdbae46e0;hb=46f2284fbb63ffe6f1b5c3e73e3633201688622a;hpb=98a9cc036b3aa09a5798963754e011c4bdfaf4fc diff --git a/src/compose.php b/src/compose.php index 4d315296..d1df5c2b 100644 --- a/src/compose.php +++ b/src/compose.php @@ -32,6 +32,7 @@ require_once(SM_PATH . 'functions/display_messages.php'); require_once(SM_PATH . 'class/deliver/Deliver.class.php'); require_once(SM_PATH . 'functions/addressbook.php'); require_once(SM_PATH . 'functions/identity.php'); +require_once(SM_PATH . 'functions/forms.php'); /* --------------------- Get globals ------------------------------------- */ /** COOKIE VARS */ @@ -52,6 +53,7 @@ sqgetGlobalVar('mailbox',$mailbox); if(!sqgetGlobalVar('identity',$identity)) { $identity=0; } +sqgetGlobalVar('custom_from',$custom_from); sqgetGlobalVar('send_to',$send_to); sqgetGlobalVar('send_to_cc',$send_to_cc); sqgetGlobalVar('send_to_bcc',$send_to_bcc); @@ -97,6 +99,8 @@ if ( !sqgetGlobalVar('smaction',$action) ) if ( sqgetGlobalVar('smaction_reply_all',$tmp) ) $action = 'reply_all'; if ( sqgetGlobalVar('smaction_forward',$tmp) ) $action = 'forward'; if ( sqgetGlobalVar('smaction_attache',$tmp) ) $action = 'forward_as_attachment'; + if ( sqgetGlobalVar('smaction_draft',$tmp) ) $action = 'draft'; + if ( sqgetGlobalVar('smaction_edit_new',$tmp) ) $action = 'edit_as_new'; } /* Location (For HTTP 1.1 Header("Location: ...") redirects) */ @@ -689,9 +693,9 @@ function newMail ($mailbox='', $passed_id='', $passed_ent_id='', $action='', $se case ('draft'): $use_signature = FALSE; $composeMessage->rfc822_header = $orig_header; - $send_to = decodeHeader($orig_header->getAddr_s('to'),false,true,true); - $send_to_cc = decodeHeader($orig_header->getAddr_s('cc'),false,true,true); - $send_to_bcc = decodeHeader($orig_header->getAddr_s('bcc'),false,true,true); + $send_to = decodeHeader($orig_header->getAddr_s('to'),false,false,true); + $send_to_cc = decodeHeader($orig_header->getAddr_s('cc'),false,false,true); + $send_to_bcc = decodeHeader($orig_header->getAddr_s('bcc'),false,false,true); $send_from = $orig_header->getAddr_s('from'); $send_from_parts = new AddressStructure(); $send_from_parts = $orig_header->parseAddress($send_from); @@ -705,7 +709,7 @@ function newMail ($mailbox='', $passed_id='', $passed_ent_id='', $action='', $se } } } - $subject = decodeHeader($orig_header->subject,false,true,true); + $subject = decodeHeader($orig_header->subject,false,false,true); // /* remember the references and in-reply-to headers in case of an reply */ $composeMessage->rfc822_header->more_headers['References'] = $orig_header->references; $composeMessage->rfc822_header->more_headers['In-Reply-To'] = $orig_header->in_reply_to; @@ -723,10 +727,10 @@ function newMail ($mailbox='', $passed_id='', $passed_ent_id='', $action='', $se $composeMessage = getAttachments($message, $composeMessage, $passed_id, $entities, $imapConnection); break; case ('edit_as_new'): - $send_to = decodeHeader($orig_header->getAddr_s('to'),false,true,true); - $send_to_cc = decodeHeader($orig_header->getAddr_s('cc'),false,true,true); - $send_to_bcc = decodeHeader($orig_header->getAddr_s('bcc'),false,true,true); - $subject = decodeHeader($orig_header->subject,false,true,true); + $send_to = decodeHeader($orig_header->getAddr_s('to'),false,false,true); + $send_to_cc = decodeHeader($orig_header->getAddr_s('cc'),false,false,true); + $send_to_bcc = decodeHeader($orig_header->getAddr_s('bcc'),false,false,true); + $subject = decodeHeader($orig_header->subject,false,false,true); $mailprio = $orig_header->priority; $orig_from = ''; $composeMessage = getAttachments($message, $composeMessage, $passed_id, $entities, $imapConnection); @@ -734,14 +738,14 @@ function newMail ($mailbox='', $passed_id='', $passed_ent_id='', $action='', $se break; case ('forward'): $send_to = ''; - $subject = getforwardSubject(decodeHeader($orig_header->subject,false,true,true)); + $subject = getforwardSubject(decodeHeader($orig_header->subject,false,false,true)); $body = getforwardHeader($orig_header) . $body; sqUnWordWrap($body); $composeMessage = getAttachments($message, $composeMessage, $passed_id, $entities, $imapConnection); $body = "\n" . $body; break; case ('forward_as_attachment'): - $subject = getforwardSubject(decodeHeader($orig_header->subject,false,true,true)); + $subject = getforwardSubject(decodeHeader($orig_header->subject,false,false,true)); $composeMessage = getMessage_RFC822_Attachment($message, $composeMessage, $passed_id, $passed_ent_id, $imapConnection); $body = ''; break; @@ -750,7 +754,7 @@ function newMail ($mailbox='', $passed_id='', $passed_ent_id='', $action='', $se $send_to = $orig_header->getAddr_s('mail_followup_to'); } else { $send_to_cc = replyAllString($orig_header); - $send_to_cc = decodeHeader($send_to_cc,false,true,true); + $send_to_cc = decodeHeader($send_to_cc,false,false,true); } case ('reply'): // skip this if send_to was already set right above here @@ -764,8 +768,8 @@ function newMail ($mailbox='', $passed_id='', $passed_ent_id='', $action='', $se $send_to = $orig_header->getAddr_s('from'); } } - $send_to = decodeHeader($send_to,false,true,true); - $subject = decodeHeader($orig_header->subject,false,true,true); + $send_to = decodeHeader($send_to,false,false,true); + $subject = decodeHeader($orig_header->subject,false,false,true); $subject = str_replace('"', "'", $subject); $subject = trim($subject); if (substr(strtolower($subject), 0, 3) != 're:') { @@ -913,7 +917,6 @@ function showInputForm ($session, $values=false) { $username, $compose_messages, $composesession, $default_charset; $composeMessage = $compose_messages[$session]; - if ($values) { $send_to = $values['send_to']; $send_to_cc = $values['send_to_cc']; @@ -923,9 +926,9 @@ function showInputForm ($session, $values=false) { $body = $values['body']; $identity = (int) $values['identity']; } else { - $send_to = decodeHeader($send_to); - $send_to_cc = decodeHeader($send_to_cc); - $send_to_bcc = decodeHeader($send_to_bcc); + $send_to = decodeHeader($send_to, true, false); + $send_to_cc = decodeHeader($send_to_cc, true, false); + $send_to_bcc = decodeHeader($send_to_bcc, true, false); } if ($use_javascript_addr_book) { @@ -945,20 +948,20 @@ function showInputForm ($session, $values=false) { echo ">\n"; - echo '\n"; + echo addHidden('startMessage', $startMessage); if ($action == 'draft') { - echo '\n"; + echo addHidden('delete_draft', $passed_id); } if (isset($delete_draft)) { - echo '\n"; + echo addHidden('delete_draft', $delete_draft); } if (isset($session)) { - echo '\n"; + echo addHidden('session', $session); } if (isset($passed_id)) { - echo '\n"; + echo addHidden('passed_id', $passed_id); } if ($saved_draft == 'yes') { @@ -976,13 +979,31 @@ function showInputForm ($session, $values=false) { showComposeButtonRow(); } + // additions for custom from plugin + // + $use_custom_from = getPref($data_dir, $username, 'use_custom_from', '0'); + global $restrict_access_to_users_file; + include_once(SM_PATH . 'plugins/custom_from/config/config.php'); + include_once(SM_PATH . 'plugins/custom_from/functions.php'); + if (!empty($restrict_access_to_users_file) + && file_exists($restrict_access_to_users_file)) + { + $use_custom_from = findUser($username, $restrict_access_to_users_file); + } + /* display select list for identities */ if (count($idents) > 1) { + $ident_list = array(); + foreach($idents as $id => $data) { + $ident_list[$id] = + $data['full_name'].' <'.$data['email_address'].'>'; + } echo ' ' . "\n" . html_tag( 'td', '', 'right', $color[4], 'width="10%"' ) . _("From:") . '' . "\n" . html_tag( 'td', '', 'left', $color[4], 'width="90%"' ) . - ' ' . "\n"; foreach($idents as $id=>$data) { echo '