From: x2003bruneau Date: Mon, 31 Jul 2006 12:02:26 +0000 (+0000) Subject: Catch message-id as a link to read the message X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=6cca2dbaf07400204ac07c45c5f38b41c83a15e6;p=banana.git Catch message-id as a link to read the message git-svn-id: svn+ssh://murphy/home/svn/banana/trunk@127 9869982d-c50d-0410-be91-f2a2ec7c7c7b --- diff --git a/banana/misc.inc.php b/banana/misc.inc.php index d3eeb2d..df81a6d 100644 --- a/banana/misc.inc.php +++ b/banana/misc.inc.php @@ -300,7 +300,7 @@ function formatDisplayHeader($_header,$_text) { case "from": return formatFrom($_text); - + case "references": $rsl = ""; $ndx = 1; @@ -573,7 +573,13 @@ function cleanurl($url) function catchMailLink($email) { - if (strpos($email, '$') !== false) { + global $banana; + $mid = '<' . $email . '>'; + if (isset($banana->spool->ids[$mid])) { + return makeHREF(Array('group' => $banana->state['group'], + 'artid' => $banana->spool->ids[$mid]), + $email); + } elseif (strpos($email, '$') !== false) { return $email; } return '' . $email . ''; @@ -602,8 +608,8 @@ function formatbody($_text, $format='plain', $flowed=false) $url = $banana->url_regexp; $res = preg_replace("/(<|>|")/", " \\1 ", $res); $res = preg_replace("!$url!ie", "'\\1'.cleanurl('\\2').'\\3'", $res); - $res = preg_replace('/(["\[])?(?:mailto:)?([a-z0-9.\-+_\$]+@[a-z0-9.\-+_]+)(["\]])?/ie', - "'\\1' . catchMailLink('\\2') . '\\3'", + $res = preg_replace('/(["\[])?(?:mailto:|news:)?([a-z0-9.\-+_\$]+@([\-.+_]?[a-z0-9])+)(["\]])?/ie', + "'\\1' . catchMailLink('\\2') . '\\4'", $res); $res = preg_replace("/ (<|>|") /", "\\1", $res);