fixed comp_in_new handling
[squirrelmail.git] / functions / url_parser.php
index 635c24f222e111c30527fecd1c1f20071ba7a9bf..de49b1e8cded733571d0a1370d32d681c741d934 100644 (file)
@@ -21,7 +21,7 @@ function replaceBlock (&$in, $replace, $start, $end) {
 /* Having this defined in just one spot could help when changes need
  * to be made to the pattern
  * Make sure that the expression is evaluated case insensitively
- * 
+ *
  * Here's pretty sophisticated IP matching:
  * $IPMatch = '(2[0-5][0-9]|1?[0-9]{1,2})';
  * $IPMatch = '\[?' . $IPMatch . '(\.' . $IPMatch . '){3}\]?';
@@ -29,35 +29,41 @@ function replaceBlock (&$in, $replace, $start, $end) {
 /* Here's enough: */
 global $IP_RegExp_Match, $Host_RegExp_Match, $Email_RegExp_Match;
 $IP_RegExp_Match = '\\[?[0-9]{1,3}(\\.[0-9]{1,3}){3}\\]?';
-$Host_RegExp_Match = '(' . $IP_RegExp_Match . 
+$Host_RegExp_Match = '(' . $IP_RegExp_Match .
     '|[0-9a-z]([-.]?[0-9a-z])*\\.[a-z][a-z]+)';
-$Email_RegExp_Match = '[0-9a-z]([-_.+]?[0-9a-z])*(%' . $Host_RegExp_Match . 
+$Email_RegExp_Match = '[0-9a-z]([-_.+]?[0-9a-z])*(%' . $Host_RegExp_Match .
     ')?@' . $Host_RegExp_Match;
-      
+
 function parseEmail (&$body) {
-    global $color, $Email_RegExp_Match;
+    global $color, $Email_RegExp_Match, $compose_new_win;
     $Size = strlen($body);
-      
+
     /*
      * This is here in case we ever decide to use highlighting of searched
      * text.  this does it for email addresses
-     *   
+     *
      * if ($what && ($where == "BODY" || $where == "TEXT")) {
      *    eregi ($Email_RegExp_Match, $body, $regs);
      *    $oldaddr = $regs[0];
      *    if ($oldaddr) {
      *       $newaddr = eregi_replace ($what, "<b><font color=\"$color[2]\">$what</font></font></b>", $oldaddr);
-     *       $body = str_replace ($oldaddr, "<a href=\"../src/compose.php?send_to=$oldaddr\">$newaddr</a>", $body); 
+     *       $body = str_replace ($oldaddr, "<a href=\"../src/compose.php?send_to=$oldaddr\">$newaddr</a>", $body);
      *    }
-     * } else { 
+     * } else {
      *    $body = eregi_replace ($Email_RegExp_Match, "<a href=\"../src/compose.php?send_to=\\0\">\\0</a>", $body);
      * }
      */
-     
+
     if( eregi($Email_RegExp_Match, $body, $regs) ) {
-        $body = str_replace($regs[0],  '<a href="../src/compose.php?send_to='.
+        if ($compose_new_win == '1') {
+           $comp_uri = '../src/compose.php?send_to='.urlencode($regs[0]);
+            $body = str_replace($regs[0],  '<a href="javascript:void(0)" onClick="comp_in_new(false,'."'$comp_uri'".')">'.$regs[0].'</a>', $body);
+        }
+        else {
+            $body = str_replace($regs[0],  '<a href="../src/compose.php?send_to='.
             urlencode($regs[0]).'">'.$regs[0].'</a>', $body);
-    } 
+        }
+    }
 
     /* If there are any changes, it'll just get bigger. */
     if ($Size != strlen($body)) {