diff --git a/ChangeLog b/ChangeLog index 66365e807..15905b05f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2011-06-06 Francis Lachapelle + + * UI/WebServerResources/MailerUI.js (configureLinksInMessage): + when a link has the attribute moz-do-not-send set to true, remove + it and force a new mailto href. + 2011-06-03 Wolfgang Sourdeau * OpenChange/MAPIStoreSOGo.m (sogo_op_opendir): op_opendir no diff --git a/UI/WebServerResources/MailerUI.js b/UI/WebServerResources/MailerUI.js index d3a6de192..e2b8f3700 100644 --- a/UI/WebServerResources/MailerUI.js +++ b/UI/WebServerResources/MailerUI.js @@ -1319,13 +1319,21 @@ function configureLinksInMessage() { mailContentDiv.observe("contextmenu", onMessageContentMenu); var anchors = messageDiv.getElementsByTagName('a'); - for (var i = 0; i < anchors.length; i++) - if (anchors[i].href.substring(0,7) == "mailto:") { - $(anchors[i]).observe("click", onEmailTo); - $(anchors[i]).observe("contextmenu", onEmailAddressClick); + for (var i = 0; i < anchors.length; i++) { + var anchor = $(anchors[i]); + if (!anchor.href && anchor.readAttribute("moz-do-not-send")) { + anchor.writeAttribute("moz-do-not-send", false); + anchor.removeClassName("moz-txt-link-abbreviated"); + anchor.href = "mailto:" + anchors[i].innerHTML; + } + if (anchor.href.substring(0,7) == "mailto:") { + anchor.observe("click", onEmailTo); + anchor.observe("contextmenu", onEmailAddressClick); + anchor.writeAttribute("moz-do-not-send", false); } else - $(anchors[i]).observe("click", onMessageAnchorClick); + anchor.observe("click", onMessageAnchorClick); + } var attachments = messageDiv.select ("DIV.linked_attachment_body"); for (var i = 0; i < attachments.length; i++) @@ -1565,7 +1573,8 @@ function onEmailAddressClick(event) { } function onMessageAnchorClick(event) { - window.open(this.href); + if (this.href) + window.open(this.href); preventDefault(event); }