define('SM_PATH','../');
/* SquirrelMail required files. */
-require_once(SM_PATH . 'src/validate.php');
+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 . 'class/deliver/Deliver.class.php');
/* --------------------- Specific Functions ------------------------------ */
-
function replyAllString($header) {
global $include_self_reply_all, $username, $data_dir;
$excl_arr = array();
}
/* ----------------------------------------------------------------------- */
+/* OLD: should be adapted to composeMessage */
+
/*
* If the session is expired during a post this restores the compose session
* vars.
*/
//$session_expired = false;
if (session_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');
- } else {
- foreach ($session_expired_post as $postvar => $val) {
- if (isset($val)) {
- $$postvar = $val;
- } else {
- $$postvar = '';
- }
- }
- if (isset($send)) {
- unset($send);
- }
- $session_expired = true;
- }
- session_unregister('session_expired_post');
- session_unregister('session_expired');
- if (!isset($mailbox)) {
- $mailbox = '';
- }
- if ($compose_new_win == '1') {
- compose_Header($color, $mailbox);
- } else {
- displayPageHeader($color, $mailbox);
- }
- showInputForm($session, false);
- exit();
-}
-
-if (!isset($attachments)) {
- $attachments = array();
- sqsession_register(array(), 'attachments');
+ 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');
+ } else {
+ foreach ($session_expired_post as $postvar => $val) {
+ if (isset($val)) {
+ $$postvar = $val;
+ } else {
+ $$postvar = '';
+ }
+ }
+ if (isset($send)) {
+ unset($send);
+ }
+ $session_expired = true;
+ }
+ session_unregister('session_expired_post');
+ session_unregister('session_expired');
+ if (!isset($mailbox)) {
+ $mailbox = '';
+ }
+ if ($compose_new_win == '1') {
+ compose_Header($color, $mailbox);
+ } else {
+ displayPageHeader($color, $mailbox);
+ }
+ showInputForm($session, false);
+ exit();
}
if (!isset($composesession)) {
if (!isset($compose_messages)) {
$compose_messages = array();
}
-if (!array_key_exists($session, $compose_messages)) {
- $composeMessage = new message();
+if (!isset($compose_messages[$session]) || ($compose_messages[$session] == NULL)) {
+/* if (!array_key_exists($session, $compose_messages)) { /* We can only do this in PHP >= 4.1 */
+ $composeMessage = new Message();
$rfc822_header = new Rfc822Header();
$composeMessage->rfc822_header = $rfc822_header;
$composeMessage->reply_rfc822_header = '';
$compose_messages[$session] = $composeMessage;
+ sqsession_register($compose_messages,'compose_messages');
+} else {
+ $composeMessage=$compose_messages[$session];
}
-sqsession_register($compose_messages,'compose_messages');
if (!isset($mailbox) || $mailbox == '' || ($mailbox == 'None')) {
$mailbox = 'INBOX';
switch ($action) {
case ('draft'):
$use_signature = FALSE;
- $send_to = $orig_header->getAddr_s('to');
- $send_to_cc = $orig_header->getAddr_s('cc');
- $send_to_bcc = $orig_header->getAddr_s('bcc');
+ $send_to = decodeHeader($orig_header->getAddr_s('to'));
+ $send_to_cc = decodeHeader($orig_header->getAddr_s('cc'));
+ $send_to_bcc = decodeHeader($orig_header->getAddr_s('bcc'));
$subject = decodeHeader($orig_header->subject);
$body_ary = explode("\n", $body);
$composeMessage = getAttachments($message, $composeMessage, $passed_id, $entities, $imapConnection);
break;
case ('edit_as_new'):
- $send_to = $orig_header->getAddr_s('to');
- $send_to_cc = $orig_header->getAddr_s('cc');
- $send_to_bcc = $orig_header->getAddr_s('bcc');
+ $send_to = decodeHeader($orig_header->getAddr_s('to'));
+ $send_to_cc = decodeHeader($orig_header->getAddr_s('cc'));
+ $send_to_bcc = decodeHeader($orig_header->getAddr_s('bcc'));
$subject = decodeHeader($orig_header->subject);
$mailprio = $orig_header->priority;
$orig_from = '';
case ('reply'):
$send_to = $orig_header->reply_to;
if (is_object($send_to)) {
- $send_to = $send_to->getAddr_s('reply_to');
+ $send_to = decodeHeader($send_to->getAddr_s('reply_to'));
} else {
- $send_to = $orig_header->getAddr_s('from');
+ $send_to = decodeHeader($orig_header->getAddr_s('from'));
}
$subject = decodeHeader($orig_header->subject);
$subject = str_replace('"', "'", $subject);
}
$reply_to = '';
if (isset($identity) && $identity != 'default') {
- $from_mail = getPref($data_dir, $username,
- 'email_address' . $identity);
- $full_name = getPref($data_dir, $username,
- 'full_name' . $identity);
- $from_addr = '"'.$full_name.'" <'.$from_mail.'>';
- $reply_to = getPref($data_dir, $username,
- 'reply_to' . $identity);
+ $from_mail = getPref($data_dir, $username,'email_address' . $identity);
+ $full_name = getPref($data_dir, $username,'full_name' . $identity);
+ $reply_to = getPref($data_dir, $username,'reply_to' . $identity);
} else {
$from_mail = getPref($data_dir, $username, 'email_address');
$full_name = getPref($data_dir, $username, 'full_name');
- $from_addr = '"'.$full_name.'" <'.$from_mail.'>';
$reply_to = getPref($data_dir, $username,'reply_to');
}
- if (!$from_addr) {
- $from_addr = "$popuser@$domain";
- $from_mail = $from_addr;
+ if (!$from_mail) {
+ $from_mail = "$popuser@$domain";
+ $full_name = '';
+ }
+ $rfc822_header->from = $rfc822_header->parseAddress($from_mail,true);
+ if ($full_name) {
+ $from = $rfc822_header->from[0];
+ if (!$from->host) $from->host = $domain;
+ $from_addr = $full_name .' <'.$from->mailbox.'@'.$from->host.'>';
+ $rfc822_header->from = $rfc822_header->parseAddress($from_addr,true);
}
- $rfc822_header->from = $rfc822_header->parseAddress($from_addr,true);
if ($reply_to) {
$rfc822_header->reply_to = $rfc822_header->parseAddress($reply_to,true);
}
} elseif ($draft) {
global $draft_folder;
require_once(SM_PATH . 'class/deliver/Deliver_IMAP.class.php');
- $imap_deliver = new Deliver_IMAP();
$imap_stream = sqimap_login($username, $key, $imapServerAddress,
$imapPort, 0);
if (sqimap_mailbox_exists ($imap_stream, $draft_folder)) {