From 6128ad7e962a8f9bf82a1ef87e4efbe36d719d92 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak <alec@alec.pl> Date: Tue, 10 Sep 2013 09:50:24 -0400 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 files changed, 10 insertions(+), 1 deletions(-) diff --git a/program/steps/addressbook/save.inc b/program/steps/addressbook/save.inc index bd6c14b..1628f5b 100644 --- a/program/steps/addressbook/save.inc +++ b/program/steps/addressbook/save.inc @@ -59,9 +59,18 @@ } // 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@domain.tld> + $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; } -- Gitblit v1.9.1