- Fix handling of extended mailto links (with params) (#1486354)

release-0.6
alecpl 15 years ago
parent 8955ca63e3
commit ad18d63cc1

@ -1,6 +1,7 @@
CHANGELOG RoundCube Webmail
===========================
- Fix handling of extended mailto links (with params) (#1486354)
- Fix sorting by date of messages without date header on servers without SORT (#1486286)
- Fix inconsistency when not using default table names (#1486467)
- Fix folder rename/delete buttons do not appear on creation of first folder (#1486468)

@ -1148,12 +1148,12 @@ function rcmail_alter_html_link($matches)
$attrib['href'] = "./bin/modcss.php?u=" . urlencode($attrib['href']) . "&c=" . urlencode($GLOBALS['rcmail_html_container_id']);
$end = ' />';
}
else if (preg_match("/^mailto:$EMAIL_ADDRESS_PATTERN/i", $attrib['href'], $mailto)) {
else if (preg_match('/^mailto:'.$EMAIL_ADDRESS_PATTERN.'(\?[^"\'>]+)?/i', $attrib['href'], $mailto)) {
$attrib['href'] = $mailto[0];
$attrib['onclick'] = sprintf(
"return %s.command('compose','%s',this)",
JS_OBJECT_NAME,
JQ($mailto[1]));
JQ($mailto[1].$mailto[2]));
}
else if (!empty($attrib['href']) && $attrib['href'][0] != '#') {
$attrib['target'] = '_blank';

@ -114,6 +114,22 @@ class rcube_test_mailfunc extends UnitTestCase
$this->assertPattern('#<a href="http://www.apple.com/legal/privacy/" target="_blank">http://www.apple.com/legal/privacy/</a>#', $html, "Links with target=_blank");
}
/**
* Test mailto links in html messages
*/
function test_mailto()
{
$part = $this->get_html_part('src/mailto.txt');
// render HTML in normal mode
$html = rcmail_html4inline(rcmail_print_body($part, array('safe' => false)), 'foo');
$mailto = '<a href="mailto:me@me.com?subject=this is the subject&amp;body=this is the body"'
.' onclick="return rcmail.command(\'compose\',\'me@me.com?subject=this is the subject&amp;body=this is the body\',this)">e-mail</a>';
$this->assertPattern('|'.preg_quote($mailto, '|').'|', $html, "Extended mailto links");
}
}
?>

@ -0,0 +1,8 @@
<html>
<head></head>
<body>
<a href="mailto:me@me.com?subject=this is the subject&body=this is the body">e-mail</a>
</body>
</html>
Loading…
Cancel
Save