| | |
| | | // get identity record |
| | | function rcmail_get_identity($id) |
| | | { |
| | | global $USER, $OUTPUT; |
| | | global $RCMAIL, $OUTPUT; |
| | | |
| | | if ($sql_arr = $USER->get_identity($id)) { |
| | | if ($sql_arr = $RCMAIL->user->get_identity($id)) { |
| | | $out = $sql_arr; |
| | | $out['mailto'] = $sql_arr['email']; |
| | | $out['string'] = format_email_recipient($sql_arr['email'], |
| | |
| | | |
| | | // compose format=flowed content if enabled |
| | | if ($flowed = $RCMAIL->config->get('send_format_flowed', true)) |
| | | $message_body = rcube_message::format_flowed($message_body, min($LINE_LENGTH+2, 79)); |
| | | $message_body = rcube_mime::format_flowed($message_body, min($LINE_LENGTH+2, 79)); |
| | | else |
| | | $message_body = rc_wordwrap($message_body, $LINE_LENGTH, "\r\n"); |
| | | |
| | |
| | | |
| | | // set replied/forwarded flag |
| | | if ($COMPOSE['reply_uid']) |
| | | $IMAP->set_flag($COMPOSE['reply_uid'], 'ANSWERED', $COMPOSE['mailbox']); |
| | | $RCMAIL->storage->set_flag($COMPOSE['reply_uid'], 'ANSWERED', $COMPOSE['mailbox']); |
| | | else if ($COMPOSE['forward_uid']) |
| | | $IMAP->set_flag($COMPOSE['forward_uid'], 'FORWARDED', $COMPOSE['mailbox']); |
| | | $RCMAIL->storage->set_flag($COMPOSE['forward_uid'], 'FORWARDED', $COMPOSE['mailbox']); |
| | | |
| | | } // End of SMTP Delivery Block |
| | | |
| | |
| | | |
| | | if ($store_target) { |
| | | // check if folder is subscribed |
| | | if ($IMAP->mailbox_exists($store_target, true)) |
| | | if ($RCMAIL->storage->folder_exists($store_target, true)) |
| | | $store_folder = true; |
| | | // folder may be existing but not subscribed (#1485241) |
| | | else if (!$IMAP->mailbox_exists($store_target)) |
| | | $store_folder = $IMAP->create_mailbox($store_target, true); |
| | | else if ($IMAP->subscribe($store_target)) |
| | | else if (!$RCMAIL->storage->folder_exists($store_target)) |
| | | $store_folder = $RCMAIL->storage->create_folder($store_target, true); |
| | | else if ($RCMAIL->storage->subscribe($store_target)) |
| | | $store_folder = true; |
| | | |
| | | // append message to sent box |
| | |
| | | 'message' => "Could not create message: ".$msg->getMessage()), |
| | | TRUE, FALSE); |
| | | else { |
| | | $saved = $IMAP->save_message($store_target, $msg, $headers, $mailbody_file ? true : false); |
| | | $saved = $RCMAIL->storage->save_message($store_target, $msg, $headers, $mailbody_file ? true : false); |
| | | } |
| | | |
| | | if ($mailbody_file) { |
| | |
| | | if ($olddraftmessageid) { |
| | | // delete previous saved draft |
| | | // @TODO: use message UID (remember to check UIDVALIDITY) to skip this SEARCH |
| | | $delete_idx = $IMAP->search_once($CONFIG['drafts_mbox'], |
| | | $delete_idx = $RCMAIL->storage->search_once($CONFIG['drafts_mbox'], |
| | | 'HEADER Message-ID '.$olddraftmessageid); |
| | | |
| | | if ($del_uid = $delete_idx->getElement('FIRST')) { |
| | | $deleted = $IMAP->delete_message($del_uid, $CONFIG['drafts_mbox']); |
| | | if ($del_uid = $delete_idx->get_element('FIRST')) { |
| | | $deleted = $RCMAIL->storage->delete_message($del_uid, $CONFIG['drafts_mbox']); |
| | | |
| | | // raise error if deletion of old draft failed |
| | | if (!$deleted) |
| | |
| | | |
| | | // remember new draft-uid ($saved could be an UID or TRUE here) |
| | | if (is_bool($saved)) { |
| | | $draft_idx = $IMAP->search_once($CONFIG['drafts_mbox'], 'HEADER Message-ID '.$msgid); |
| | | $saved = $draft_idx->getElement('FIRST'); |
| | | $draft_idx = $RCMAIL->storage->search_once($CONFIG['drafts_mbox'], 'HEADER Message-ID '.$msgid); |
| | | $saved = $draft_idx->get_element('FIRST'); |
| | | } |
| | | $COMPOSE['param']['draft_uid'] = $saved; |
| | | |