$mailto = '".htmlentities($regs[1]."@".$regs[2])."";
}
if (preg_match("/^([^ ]+)@([^ ]+) \((.*)\)$/",$text,$regs)) {
$result="$mailto{$regs[1]}@{$regs[2]}\">".htmlentities($regs[3])."";
}
if (preg_match("/^\"?([^<>\"]+)\"? +<(.+)@(.+)>$/",$text,$regs)) {
$result="$mailto{$regs[2]}@{$regs[3]}\">".htmlentities($regs[1])."";
}
return preg_replace("/\\\(\(|\))/","\\1",$result);
}
function displayshortcuts($first = -1) {
global $banana;
extract($banana->state);
$res = '';
}
$res .= "[$group] ";
if (is_null($artid)) {
$res .= "["._b_('Nouveau message')."] ";
if (sizeof($banana->spool->overview)>$banana->tmax) {
$res .= '
';
$n = intval(log(count($banana->spool->overview), 10))+1;
for ($ndx=1; $ndx <= sizeof($banana->spool->overview); $ndx += $banana->tmax) {
if ($first==$ndx) {
$fmt = "[%0{$n}u-%0{$n}u] ";
} else {
$fmt = "[%0{$n}u-%0{$n}u] ";
}
$res .= sprintf($fmt, $ndx, min($ndx+$banana->tmax-1,sizeof($banana->spool->overview)));
}
}
} else {
$res .= "["
._b_('Répondre')."] ";
if ($banana->post->checkcancel()) {
$res .= "["
._b_('Annuler ce message')."] ";
}
}
return $res.'';
}
/********************************************************************************
* FORMATTING STUFF : BODY
*/
function wrap($text, $_prefix="")
{
$parts = preg_split("/\n-- ?\n/", $text);
if (count($parts) >1) {
$sign = "\n-- \n" . array_pop($parts);
$text = join("\n-- \n", $parts);
} else {
$sign = '';
$text = $text;
}
global $banana;
$length = $banana->wrap;
$cmd = "echo ".escapeshellarg($text)." | perl -MText::Autoformat -e 'autoformat {left=>1, right=>$length, all=>1 };'";
exec($cmd, $result);
return $_prefix.join("\n$_prefix", $result).($_prefix ? '' : $sign);
}
function formatbody($_text) {
$res = "\n\n" . htmlentities(wrap($_text, ""))."\n\n";
$res = preg_replace("/(<|>|")/", " \\1 ", $res);
$res = preg_replace('/(["\[])?((https?|ftp|news):\/\/[a-z@0-9.~%$£µ&i#\-+=_\/\?]*)(["\]])?/i', "\\1\\2\\4", $res);
$res = preg_replace("/ (<|>|") /", "\\1", $res);
$parts = preg_split("/\n-- ?\n/", $res);
if (count($parts) > 1) {
$sign = "
" . array_pop($parts);
return join("\n-- \n", $parts).$sign;
} else {
return $res;
}
}
?>