- function parseEmail (&$body) {
- global $color;
- $Size = strlen($body);
-
- // 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}\]?';
- //
- // Here's enough:
- $IPMatch = '\\[?[0-9]{1,3}(\\.[0-9]{1,3}){3}\\]?';
- $Host = '(' . $IPMatch .
-'|[0-9a-z]([-.]?[0-9a-z])*\\.[a-wyz][a-z](fo|g|l|m|me|o|op|pa|ro|seum|t|u|v|z)?)';
- $Expression = '[0-9a-z]([-_.]?[0-9a-z])*(%' . $Host . ')?@' . $Host;
-
- /*
- 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 ($Expression, $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);
- }
- } else {
- $body = eregi_replace ($Expression, "<a href=\"../src/compose.php?send_to=\\0\">\\0</a>", $body);
- }
- */
-
- $body = eregi_replace ($Expression, "<a href=\"../src/compose.php?send_to=\\0\">\\0</a>", $body);
-
- // If there are any changes, it'll just get bigger.
- if ($Size != strlen($body))
- return 1;
- return 0;
- }
+/* 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}\]?';
+ */
+/* 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 .
+ '|[0-9a-z]([-.]?[0-9a-z])*\\.[a-z][a-z]+)';
+$Email_RegExp_Match = '[0-9a-z]([-_.+]?[0-9a-z])*(%' . $Host_RegExp_Match .
+ ')?@' . $Host_RegExp_Match;
+
+function parseEmail (&$body) {
+ 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);
+ * }
+ * } 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) ) {
+ 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)) {
+ return 1;
+ }
+ return 0;
+}