From 9cf3f056a1e0cb7f9dd829cf4c08aa905ad39785 Mon Sep 17 00:00:00 2001 From: "Pierre Habouzit (MadCoder" Date: Wed, 19 Oct 2005 17:23:53 +0000 Subject: [PATCH 1/1] should fix the encoding problem and bug 353 for good git-archimport-id: opensource@polytechnique.org--2005/banana--mainline--1.0--patch-30 --- banana/banana.inc.php.in | 4 ++-- banana/misc.inc.php | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/banana/banana.inc.php.in b/banana/banana.inc.php.in index b188c52..1a8fe03 100644 --- a/banana/banana.inc.php.in +++ b/banana/banana.inc.php.in @@ -262,9 +262,9 @@ class Banana $this->_newSpool($group, $this->profile['display'], $this->profile['lastnews']); $body = preg_replace("/\n\.[ \t\r]*\n/m", "\n..\n", $_POST['body']); - $msg = 'From: '.$this->profile['name']."\n" + $msg = 'From: '.headerEncode($this->profile['name'])."\n" . "Newsgroups: ".$_POST['newsgroups']."\n" - . "Subject: ".$_POST['subject']."\n" + . "Subject: ".headerEncode($_POST['subject'], 128)."\n" . (empty($this->profile['org']) ? '' : "Organization: {$this->profile['org']}\n") . (empty($_POST['followup']) ? '' : 'Followup-To: '.$_POST['followup']."\n"); diff --git a/banana/misc.inc.php b/banana/misc.inc.php index e9f7c94..936414c 100644 --- a/banana/misc.inc.php +++ b/banana/misc.inc.php @@ -35,6 +35,13 @@ function headerDecode($value) { return preg_replace('/=\?([^?]*)\?([BQ])\?([^?]*)\?=/e', '_headerdecode("\1", "\2", "\3")', $val); } +function headerEncode($value, $trim = 0) { + if ($trim) { + $value = substr($value, $trim) . "[...]"; + } + return "=?UTF-8?B?".base64_encode($value)."?="; +} + function header_translate($hdr) { switch ($hdr) { case 'from': return _b_('De'); -- 2.1.4