| | |
| | | $COMPOSE_ID = get_input_value('_id', RCUBE_INPUT_GET); |
| | | $_SESSION['compose'] = $_SESSION['compose_data_'.$COMPOSE_ID]; |
| | | |
| | | // give replicated session storage some time to synchronize |
| | | $retries = 0; |
| | | while ($COMPOSE_ID && !is_array($_SESSION['compose']) && $RCMAIL->db->is_replicated() && $retries++ < 5) { |
| | | usleep(500000); |
| | | $RCMAIL->session->reload(); |
| | | $_SESSION['compose'] = $_SESSION['compose_data_'.$COMPOSE_ID]; |
| | | } |
| | | |
| | | // Nothing below is called during message composition, only at "new/forward/reply/draft" initialization or |
| | | // if a compose-ID is given (i.e. when the compose step is opened in a new window/tab). |
| | | if (!is_array($_SESSION['compose'])) |
| | |
| | | $mailfollowup = $MESSAGE->headers->others['mail-followup-to']; |
| | | $mailreplyto = $MESSAGE->headers->others['mail-reply-to']; |
| | | |
| | | // Reply to mailing list... |
| | | if ($MESSAGE->reply_all == 'list' && $mailfollowup) |
| | | $fvalue = $mailfollowup; |
| | | else if ($MESSAGE->reply_all == 'list' |
| | | && preg_match('/<mailto:([^>]+)>/i', $MESSAGE->headers->others['list-post'], $m)) |
| | | $fvalue = $m[1]; |
| | | // Reply to... |
| | | else if ($MESSAGE->reply_all && $mailfollowup) |
| | | $fvalue = $mailfollowup; |
| | | else if ($mailreplyto) |
| | |
| | | $fvalue = $MESSAGE->headers->replyto; |
| | | else if (!empty($MESSAGE->headers->from)) |
| | | $fvalue = $MESSAGE->headers->from; |
| | | |
| | | // Reply to message sent by yourself (#1487074) |
| | | if (!empty($ident) && $fvalue == $ident['ident']) { |
| | | $fvalue = $MESSAGE->headers->to; |
| | | } |
| | | } |
| | | // add recipient of original message if reply to all |
| | | else if ($header == 'cc' && !empty($MESSAGE->reply_all) && $MESSAGE->reply_all != 'list') { |