// m_u_f works better with restricted PHP installs (safe_mode, open_basedir),
// if that doesn't work, try a simple rename.
- if (!@move_uploaded_file($_FILES['attachfile']['tmp_name'],$fullpath)) {
- if (!@rename($_FILES['attachfile']['tmp_name'], $fullpath)) {
+ if (!sq_call_function_suppress_errors('move_uploaded_file', array($_FILES['attachfile']['tmp_name'], $fullpath))) {
+ if (!sq_call_function_suppress_errors('rename', array($_FILES['attachfile']['tmp_name'], $fullpath))) {
return true;
}
}
$rfc822_header->content_type = $content_type;
$composeMessage->rfc822_header = $rfc822_header;
+ if ($action == 'reply' || $action == 'reply_all') {
+ global $passed_id, $passed_ent_id;
+ $reply_id = $passed_id;
+ $reply_ent_id = $passed_ent_id;
+ } else {
+ $reply_id = '';
+ $reply_ent_id = '';
+ }
/* Here you can modify the message structure just before we hand
it over to deliver; plugin authors note that $composeMessage
$stream = $deliver->initStream($composeMessage,$sendmail_path);
} elseif ($draft) {
global $draft_folder;
- require_once(SM_PATH . 'class/deliver/Deliver_IMAP.class.php');
$imap_stream = sqimap_login($username, false, $imapServerAddress,
$imapPort, 0);
if (sqimap_mailbox_exists ($imap_stream, $draft_folder)) {
require_once(SM_PATH . 'class/deliver/Deliver_IMAP.class.php');
$imap_deliver = new Deliver_IMAP();
- $length = $imap_deliver->mail($composeMessage);
- sqimap_append ($imap_stream, $draft_folder, $length);
- $imap_deliver->mail($composeMessage, $imap_stream);
- sqimap_append_done ($imap_stream, $draft_folder);
+ $imap_deliver->mail($composeMessage, $imap_stream, $reply_id, $reply_ent_id, $draft_folder);
sqimap_logout($imap_stream);
unset ($imap_deliver);
$composeMessage->purgeAttachments();
}
$success = false;
if ($stream) {
- $length = $deliver->mail($composeMessage, $stream);
+ $length = $deliver->mail($composeMessage, $stream, $reply_id, $reply_ent_id);
$success = $deliver->finalizeStream($stream);
}
if (!$success) {
plain_error_message($msg);
} else {
unset ($deliver);
- $move_to_sent = getPref($data_dir,$username,'move_to_sent');
$imap_stream = sqimap_login($username, false, $imapServerAddress, $imapPort, 0);
- /* Move to sent code */
- 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( $imap_stream, $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;
- }
-
- global $passed_id, $mailbox;
- if (($fld_sent && $svr_allow_sent && !$lcl_allow_sent) || ($fld_sent && $lcl_allow_sent)) {
- if ($action == 'reply' || $action == 'reply_all') {
- $save_reply_with_orig=getPref($data_dir,$username,'save_reply_with_orig');
- if ($save_reply_with_orig) {
- $sent_folder = $mailbox;
- }
- }
- sqimap_append ($imap_stream, $sent_folder, $length);
- require_once(SM_PATH . 'class/deliver/Deliver_IMAP.class.php');
- $imap_deliver = new Deliver_IMAP();
- $imap_deliver->mail($composeMessage, $imap_stream);
- sqimap_append_done ($imap_stream, $sent_folder);
- unset ($imap_deliver);
- }
- global $what, $iAccount, $startMessage;
+ // mark as replied or forwarded if applicable
+ //
+ global $what, $iAccount, $startMessage, $passed_id, $mailbox;
- $composeMessage->purgeAttachments();
if ($action=='reply' || $action=='reply_all' || $action=='forward' || $action=='forward_as_attachment') {
require(SM_PATH . 'functions/mailbox_display.php');
$aMailbox = sqm_api_mailbox_select($imap_stream, $iAccount, $mailbox,array('setindex' => $what, 'offset' => $startMessage),array());
sqsession_register($mailbox_cache,'mailbox_cache');
}
- sqimap_logout($imap_stream);
}
+
+
+ // 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( $imap_stream, $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)) {
+ if ($action == 'reply' || $action == 'reply_all') {
+ $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, $imap_stream, $reply_id, $reply_ent_id, $sent_folder);
+ unset ($imap_deliver);
+ }
+
+
+ // final cleanup
+ //
+ $composeMessage->purgeAttachments();
+ sqimap_logout($imap_stream);
+
}
return $success;
}