projects
/
squirrelmail.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
We're living in 2004 now... perl is your friend for these kinds of things :)
[squirrelmail.git]
/
class
/
mime
/
AddressStructure.class.php
diff --git
a/class/mime/AddressStructure.class.php
b/class/mime/AddressStructure.class.php
index 1382493124a76dfaee676735c6d362b755491482..2b7baace480cb918b204c851a08eefa63626b588 100644
(file)
--- a/
class/mime/AddressStructure.class.php
+++ b/
class/mime/AddressStructure.class.php
@@
-3,14
+3,19
@@
/**
* AddressStructure.class.php
*
/**
* AddressStructure.class.php
*
- * Copyright (c) 2003 The SquirrelMail Project Team
+ * Copyright (c) 2003
-2004
The SquirrelMail Project Team
* Licensed under the GNU GPL. For full terms see the file COPYING.
*
* This contains functions needed to handle mime messages.
*
* $Id$
* Licensed under the GNU GPL. For full terms see the file COPYING.
*
* This contains functions needed to handle mime messages.
*
* $Id$
+ * @package squirrelmail
*/
*/
+/**
+ * Undocumented class
+ * @package squirrelmail
+ */
class AddressStructure {
var $personal = '',
$adl = '',
class AddressStructure {
var $personal = '',
$adl = '',
@@
-20,13
+25,16
@@
class AddressStructure {
function getAddress($full = true, $encoded = false) {
$result = '';
function getAddress($full = true, $encoded = false) {
$result = '';
-
if (is_object($this)) {
$email = ($this->host ? $this->mailbox.'@'.$this->host
if (is_object($this)) {
$email = ($this->host ? $this->mailbox.'@'.$this->host
- : $this->mailbox);
+
: $this->mailbox);
$personal = trim($this->personal);
$personal = trim($this->personal);
+ $is_encoded = false;
+ if (preg_match('/(=\?([^?]*)\?(Q|B)\?([^?]*)\?=)(.*)/Ui',$personal,$reg)) {
+ $is_encoded = true;
+ }
if ($personal) {
if ($personal) {
- if ($encoded) {
+ if ($encoded
&& !$is_encoded
) {
$personal_encoded = encodeHeader($personal);
if ($personal !== $personal_encoded) {
$personal = $personal_encoded;
$personal_encoded = encodeHeader($personal);
if ($personal !== $personal_encoded) {
$personal = $personal_encoded;
@@
-34,10
+42,12
@@
class AddressStructure {
$personal = '"'.$this->personal.'"';
}
} else {
$personal = '"'.$this->personal.'"';
}
} else {
- $personal = '"'.$this->personal.'"';
+ if (!$is_encoded) {
+ $personal = '"'.$this->personal.'"';
+ }
}
}
- $addr = ($email ? $personal . ' <' .$email.'>'
- : $this->personal);
+
$addr = ($email ? $personal . ' <' .$email.'>'
+ : $this->personal);
$best_dpl = $this->personal;
} else {
$addr = $email;
$best_dpl = $this->personal;
} else {
$addr = $email;