diff options
-rw-r--r-- | program/steps/mail/func.inc | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc index 49dfe5f6a..567675772 100644 --- a/program/steps/mail/func.inc +++ b/program/steps/mail/func.inc @@ -977,24 +977,27 @@ function rcmail_html4inline($body, $container_id) * parse link attributes and set correct target */ function rcmail_alter_html_link($tag, $attrs, $container_id) - { +{ $attrib = parse_attrib_string($attrs); + $end = '>'; - if ($tag == 'link' && preg_match('/^https?:\/\//i', $attrib['href'])) + if ($tag == 'link' && preg_match('/^https?:\/\//i', $attrib['href'])) { $attrib['href'] = "./bin/modcss.php?u=" . urlencode($attrib['href']) . "&c=" . urlencode($container_id); - - else if (stristr((string)$attrib['href'], 'mailto:')) + $end = ' />'; + } + else if (stristr((string)$attrib['href'], 'mailto:')) { $attrib['onclick'] = sprintf( "return %s.command('compose','%s',this)", JS_OBJECT_NAME, JQ(substr($attrib['href'], 7))); - - else if (!empty($attrib['href']) && $attrib['href']{0}!='#') + } + else if (!empty($attrib['href']) && $attrib['href'][0] != '#') { $attrib['target'] = '_blank'; - - return "<$tag" . create_attrib_string($attrib, array('href','name','target','onclick','id','class','style','title','rel','type','media')) . ' />'; } + return "<$tag" . html::attrib_string($attrib, array('href','name','target','onclick','id','class','style','title','rel','type','media')) . $end; +} + /** * decode address string and re-format it as HTML links |