Open HTML links in new windows
authorJamie Cameron <jcameron@webmin.com>
Sun, 6 Dec 2009 22:50:35 +0000 (14:50 -0800)
committerJamie Cameron <jcameron@webmin.com>
Sun, 6 Dec 2009 22:50:35 +0000 (14:50 -0800)
mailboxes/boxes-lib.pl

index 46ac53b..0869af0 100755 (executable)
@@ -1323,6 +1323,7 @@ return wantarray ? @rv : $rv[0];
 }
 
 # link_urls(text, separate)
+# Converts URLs into HTML links
 sub link_urls
 {
 local $r = $_[0];
@@ -1348,6 +1349,23 @@ $rv .= &eucconv_and_escape($l);
 return $rv;
 }
 
+# links_urls_new_target(html)
+# Converts any links without targets to open in a new window
+sub links_urls_new_target
+{
+local $l = $_[0];
+local $rv;
+while($l =~ s/^([\0-\377]*?)<\s*a\s+([^>]*href[^>]*)>//i) {
+       local ($before, $a) = ($1, $2);
+       if ($a !~ /target\s*=/i) {
+               $a .= " target=link".int(rand()*100000);
+               }
+       $rv .= $before."<a ".$a.">";
+       }
+$rv .= $l;
+return $rv;
+}
+
 # uudecode(text)
 sub uudecode
 {