Version 0.4pre1 -- Development
------------------------------
-- Added option to configure default folder directory. ex: ~/mail
+- Parsing the body for URLs and translating them to links
+- Added option to configure default folder directory. ie: ~/mail
- Configuration script added: config/conf.pl
- Addressbook with LDAP support
- Big speed improvements with folder listing
}
function translateText($body, $wrap_at, $charset) {
+ include ("../functions/url_parser.php");
/** Add any parsing you want to in here */
$body = trim($body);
$body_ary = explode("\n", $body);
$line = "<TT><FONT COLOR=000000>$line</FONT></TT><BR>\n";
}
+ $line = parseUrl ($line);
$new_body[$i] = "$line";
}
$bdy = implode("\n", $new_body);
--- /dev/null
+<?
+ /* URL Passing code to allow links from with in emails */
+
+ $url_parser_php = true;
+
+ function replaceBlock ($in, $replace, $start, $end) {
+ $begin = substr($in,0,$start);
+ $end = substr($in,$end,strlen($in)-$end);
+ $ret = $begin.$replace.$end;
+ return $ret;
+ }
+
+ function parseUrl ($body) {
+ #Possible ways a URL could finish.
+
+ $poss_ends=array(" ","\n","\r","<",". "," ");
+ $done=False;
+ while (!$done) {
+ #Look for when a URL starts
+ $where = strpos($body,"http:",$start);
+ if ($where) {
+ # Find the end of that URL
+ reset($poss_ends); $end=0;
+ while (list($key, $val) = each($poss_ends)) {
+ $enda = strpos($body,$val,$where);
+ if ($end == 0) $end = $enda;
+ if ($enda < $end and $enda != 0) $end = $enda;
+ }
+ #Extract URL
+ $url = substr($body,$where,$end-$where);
+ #Replace URL with HyperLinked Url
+ if ($url != "") {
+ $url_str = "<a href=\"$url\" target=\"_blank\">$url</a>";
+ # $body = str_replace($url,$url_str,$body);
+ $body = replaceBlock($body,$url_str,$where,$end);
+ $start = strpos($body,"</a>",$where);
+ } else {
+ $start = $where + 7;
+ }
+ } else {
+ $done=true;
+ }
+ }
+
+ return $body;
+ }
+
+?>
+