diff options
author | thomascube <thomas@roundcube.net> | 2008-09-19 17:11:22 +0000 |
---|---|---|
committer | thomascube <thomas@roundcube.net> | 2008-09-19 17:11:22 +0000 |
commit | e5af2fe88e3282aacbc2c48be5405c1de62df8a2 (patch) | |
tree | 03b80084af4d001dae33976808b5142cef205da1 | |
parent | a3f149eb5729ef1ba6d1c05b29fead1058f4c888 (diff) |
Create valid <a> tags
-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 |