case "from":
return formatFrom($_text);
-
+
case "references":
$rsl = "";
$ndx = 1;
}
$ret = '<ul id="onglet">';
foreach ($res as $name=>$onglet) {
- if ($name != $page) {
+ if ($name != @$page) {
$ret .= '<li>' . $onglet[0] . '</li>';
} else {
$ret .= '<li class="actif">' . $onglet[1] . '</li>';
* FORMATTING STUFF : BODY
*/
-function autoformat($text, $part = false)
+function autoformat($text)
{
global $banana;
$length = $banana->wrap;
- $all = null;
- if (!$part) {
- $all = ', all=1';
- }
- $cmd = "echo ".escapeshellarg($text)." | perl -MText::Autoformat -e 'autoformat {left=>1, right=>$length$all };'";
+ $cmd = 'echo ' . escapeshellarg($text)
+ . ' | perl -MText::Autoformat -e \'autoformat {left=>1, right=>' . $length . ', all=>1 };\'';
+
exec($cmd, $result, $ret);
if ($ret != 0) {
$result = split("\n", $text);
} else {
$sign = '';
}
-
+
global $banana;
$url = $banana->url_regexp;
$length = $banana->wrap;
}
}
} else {
- if (strlen($line) > 2 * $max) {
- $next = array_merge($next, autoformat($line, true));
- } else {
- $format = true;
- array_push($next, $line);
- }
+ array_push($next, $line);
+ $format = true;
}
} else {
array_push($next, $line);
return '<a href="'.$url.'" title="'.$url.'">'.cutlink($url).'</a>';
}
+function catchMailLink($email)
+{
+ 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 '<a href="mailto:' . $email . '">' . $email . '</a>';
+}
+
+/** Remove quotation marks
+ */
+function replaceQuotes($text)
+{
+ return stripslashes(preg_replace("@(^|<pre>|\n)>[ \t\r]*@i", '\1', $text));
+}
+
function formatbody($_text, $format='plain', $flowed=false)
{
if ($format == 'html') {
$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.\-+_]+)(["\]])?/i', '\1<a href="mailto:\2">\2</a>\3', $res);
+ $res = preg_replace('/(["\[])?(?:mailto:|news:)?([a-z0-9.\-+_\$]+@([\-.+_]?[a-z0-9])+)(["\]])?/ie',
+ "'\\1' . catchMailLink('\\2') . '\\4'",
+ $res);
$res = preg_replace("/ (<|>|") /", "\\1", $res);
if ($format == 'richtext') {
while (preg_match("@(^|<pre>|\n)>@i", $res)) {
$res = preg_replace("@(^|<pre>|\n)((>[^\n]*\n)+)@ie",
"'\\1</pre><blockquote><pre>'"
- .".stripslashes(preg_replace('@(^|<pre>|\n)>[ \\t\\r]*@i', '\\1', '\\2'))"
- .".'</pre></blockquote><pre>'",
+ ." . replaceQuotes('\\2')"
+ ." . '</pre></blockquote><pre>'",
$res);
}
$res = preg_replace("@<pre>-- ?\n@", "<pre>\n-- \n", $res);