From 6128ad7e962a8f9bf82a1ef87e4efbe36d719d92 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Tue, 10 Sep 2013 15:50:24 +0200 Subject: [PATCH] Support full address specification in contact email fields. Now input address is extracted automatically, so user can just paste full address copied from another place. Other clients have such feature e.g. Kontact. --- program/steps/addressbook/save.inc | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/program/steps/addressbook/save.inc b/program/steps/addressbook/save.inc index bd6c14bca..1628f5b0f 100644 --- a/program/steps/addressbook/save.inc +++ b/program/steps/addressbook/save.inc @@ -59,9 +59,18 @@ foreach ($GLOBALS['CONTACT_COLTYPES'] as $col => $colprop) { } // assign values and subtypes else if (is_array($_POST[$fname])) { - $values = get_input_value($fname, RCUBE_INPUT_POST, true); + $values = get_input_value($fname, RCUBE_INPUT_POST, true); $subtypes = get_input_value('_subtype_' . $col, RCUBE_INPUT_POST); + foreach ($values as $i => $val) { + if ($col == 'email') { + // extract email from full address specification, e.g. "Name" + $addr = rcube_mime::decode_address_list($val, 1, false); + if (!empty($addr) && ($addr = array_pop($addr)) && $addr['mailto']) { + $val = $addr['mailto']; + } + } + $subtype = $subtypes[$i] ? ':'.$subtypes[$i] : ''; $a_record[$col.$subtype][] = $val; }