summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--program/include/rcube_string_replacer.php2
-rw-r--r--program/steps/mail/list_contacts.inc7
-rw-r--r--skins/larry/mail.css7
-rw-r--r--tests/Framework/StringReplacer.php2
4 files changed, 15 insertions, 3 deletions
diff --git a/program/include/rcube_string_replacer.php b/program/include/rcube_string_replacer.php
index ad55dd87b..edb2ac34f 100644
--- a/program/include/rcube_string_replacer.php
+++ b/program/include/rcube_string_replacer.php
@@ -37,7 +37,7 @@ class rcube_string_replacer
{
// Simplified domain expression for UTF8 characters handling
// Support unicode/punycode in top-level domain part
- $utf_domain = '[^?&@"\'\\/()\s\r\t\n]+\\.([^\\x00-\\x2f\\x3b-\\x40\\x5b-\\x60\\x7b-\\x7f]{2,}|xn--[a-zA-Z0-9]{2,})';
+ $utf_domain = '[^?&@"\'\\/()\s\r\t\n]+\\.?([^\\x00-\\x2f\\x3b-\\x40\\x5b-\\x60\\x7b-\\x7f]{2,}|xn--[a-zA-Z0-9]{2,})';
$url1 = '.:;,';
$url2 = 'a-zA-Z0-9%=#$@+?!&\\/_~\\[\\]{}\*-';
diff --git a/program/steps/mail/list_contacts.inc b/program/steps/mail/list_contacts.inc
index 7c99a1309..9347190da 100644
--- a/program/steps/mail/list_contacts.inc
+++ b/program/steps/mail/list_contacts.inc
@@ -69,11 +69,14 @@ if ($CONTACTS && $CONTACTS->ready) {
$name = rcube_addressbook::compose_list_name($row);
// add record for every email address of the contact
- foreach ($CONTACTS->get_col_values('email', $row, true) as $i => $email) {
+ $emails = $CONTACTS->get_col_values('email', $row, true);
+ foreach ($emails as $i => $email) {
$row_id = $row['ID'].$i;
$jsresult[$row_id] = format_email_recipient($email, $name);
$OUTPUT->command('add_contact_row', $row_id, array(
- 'contact' => html::span(array('title' => $email), Q($name ? $name : $email))), 'person');
+ 'contact' => html::span(array('title' => $email), Q($name ? $name : $email) .
+ ($name && count($emails) > 1 ? ' ' . html::span('email', Q($email)) : '')
+ )), 'person');
}
}
}
diff --git a/skins/larry/mail.css b/skins/larry/mail.css
index a2756638d..95d76c596 100644
--- a/skins/larry/mail.css
+++ b/skins/larry/mail.css
@@ -1104,6 +1104,13 @@ div.message-part blockquote blockquote blockquote {
display: block;
}
+#contacts-table td span.email {
+ display: inline;
+ color: #69939e;
+ font-style: italic;
+ margin-left: 0.5em;
+}
+
#compose-contacts li a, #contacts-table td {
background: url(images/listicons.png) -100px 0 no-repeat;
overflow: hidden;
diff --git a/tests/Framework/StringReplacer.php b/tests/Framework/StringReplacer.php
index 6081e5377..a76ba00ee 100644
--- a/tests/Framework/StringReplacer.php
+++ b/tests/Framework/StringReplacer.php
@@ -25,6 +25,8 @@ class Framework_StringReplacer extends PHPUnit_Framework_TestCase
{
return array(
array('http://domain.tld/path*path2', '<a href="http://domain.tld/path*path2" target="_blank">http://domain.tld/path*path2</a>'),
+ array("Click this link:\nhttps://mail.xn--brderli-o2a.ch/rc/ EOF", "Click this link:\n<a href=\"https://mail.xn--brderli-o2a.ch/rc/\" target=\"_blank\">https://mail.xn--brderli-o2a.ch/rc/</a> EOF"),
+ array('Start http://localhost/?foo End', 'Start <a href="http://localhost/?foo" target="_blank">http://localhost/?foo</a> End'),
array('www.domain.tld', '<a href="http://www.domain.tld" target="_blank">www.domain.tld</a>'),
array('WWW.DOMAIN.TLD', '<a href="http://WWW.DOMAIN.TLD" target="_blank">WWW.DOMAIN.TLD</a>'),
);