From f54a3a6d41e5700c45120091a57f2c73b804ae25 Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Mon, 02 Mar 2009 08:21:52 -0500
Subject: [PATCH] Add callback for <a> tags to add target=_blank

---
 program/steps/mail/func.inc |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc
index e947a27..702625c 100644
--- a/program/steps/mail/func.inc
+++ b/program/steps/mail/func.inc
@@ -707,6 +707,7 @@
   }
     
   $washer = new washtml($wash_opts);
+  $washer->add_callback('a', 'rcmail_washtml_callback');
   $washer->add_callback('form', 'rcmail_washtml_callback');
 
   if ($p['safe']) {  // allow CSS styles, will be sanitized by rcmail_washtml_callback()
@@ -819,6 +820,11 @@
       $out = html::div('form', $content);
       break;
       
+    case 'a':
+      if ($attrib) $attrib .= ' target="_blank"';
+      $out = '<a'.$attrib.'>' . $content . '</a>';
+      break;
+      
     case 'style':
       // decode all escaped entities and reduce to ascii strings
       $stripped = preg_replace('/[^a-zA-Z\(:]/', '', rcmail_xss_entitiy_decode($content));

--
Gitblit v1.9.1