summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG4
-rw-r--r--program/steps/mail/compose.inc21
2 files changed, 15 insertions, 10 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 4a0e8a570..58a508893 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -3,7 +3,9 @@ CHANGELOG RoundCube Webmail
2008/10/09 (alec)
----------
-- fixed iil_C_Sort() to support very long and/or divided responses (#1485283)
+- Fix iil_C_Sort() to support very long and/or divided responses (#1485283)
+- Fix matching case sensitivity when setting identity on reply (#1485480)
+- Prefer default identity on reply
2008/10/08 (alec)
----------
diff --git a/program/steps/mail/compose.inc b/program/steps/mail/compose.inc
index 517c0e1b7..d6656ea24 100644
--- a/program/steps/mail/compose.inc
+++ b/program/steps/mail/compose.inc
@@ -283,7 +283,7 @@ function rcmail_compose_header_from($attrib)
foreach ($a_to as $addr)
{
if (!empty($addr['mailto']))
- $a_recipients[] = $addr['mailto'];
+ $a_recipients[] = rc_strtolower($addr['mailto']);
}
if (!empty($MESSAGE->headers->cc))
@@ -292,7 +292,7 @@ function rcmail_compose_header_from($attrib)
foreach ($a_cc as $addr)
{
if (!empty($addr['mailto']))
- $a_recipients[] = $addr['mailto'];
+ $a_recipients[] = rc_strtolower($addr['mailto']);
}
}
}
@@ -326,19 +326,22 @@ function rcmail_compose_header_from($attrib)
}
}
- // set identity if it's one of the reply-message recipients
- if (in_array($sql_arr['email'], $a_recipients))
- $from_id = $sql_arr['identity_id'];
-
if ($compose_mode == RCUBE_COMPOSE_REPLY && is_array($MESSAGE->compose_from))
$MESSAGE->compose_from[] = $sql_arr['email'];
- if ($compose_mode == RCUBE_COMPOSE_DRAFT && strstr($MESSAGE->headers->from, $sql_arr['email']))
- $from_id = $sql_arr['identity_id'];
+ if (empty($_POST['_from']))
+ {
+ // set draft's identity
+ if ($compose_mode == RCUBE_COMPOSE_DRAFT && strstr($MESSAGE->headers->from, $sql_arr['email']))
+ $from_id = $sql_arr['identity_id'];
+ // set identity if it's one of the reply-message recipients (with prio for default identity)
+ else if (in_array(rc_strtolower($sql_arr['email']), $a_recipients) && (empty($from_id) || $sql_arr['standard']))
+ $from_id = $sql_arr['identity_id'];
+ }
}
// overwrite identity selection with post parameter
- if (isset($_POST['_from']))
+ if (!empty($_POST['_from']))
$from_id = get_input_value('_from', RCUBE_INPUT_POST);
$out = $select_from->show($from_id);